CDN 監控系統(二)
使用開源軟件來搭建監控系統,網上已經有很多關於 zabbix、prometheus、open-falcon等等的比較。使用開源軟件注意:
- 開源軟件的誕生背景,很多開源軟件只是公司用來解決源站小集羣的工具,而對於cdn上萬服務器的分佈式節點不一定適合,比如puppet、ansible、salt 能管理的機器範圍就不一樣以及如何應對等等。當然我們也沒有必要過度設計。
- 在自己不瞭解的情況下,可以都瞭解一下,可以先選擇“好的”,再去看“壞的”,只要不是已經完全被淘汰,一定還存在適用場景,從文檔、入門難易、使用範圍、開發工作、性能擴展等了解
這裏從使用流程上探討一下 zabbix 和 prometheus,以及理想的監控架構:
基礎監控
zabbix
- squid 開發人員 自己寫腳本判斷錯誤
- agent處理錯誤並主動上報告警信息給zabbix server
- zabbix server 配置告警類型模板
prometheus
-
開發人員開發 exporter
-
prometheus pull exporter
-
prometheus 配置 alertmanager
業務監控
- 客戶端從數據中心獲取數據,需要數據中心開發接口,客戶端獲取接口
- 客戶端根據下拉的數據進行規則計算,然後對接告警引擎
基礎監控基本非常穩定,後續開發工作量不大,或者製作好模板甚至可以一鍵自動化製作整套新軟件的監控;
業務監控卻由於業務數據維度繁多,如果按照上面的開發模式將會疲於應對。一種新的模式是利用SQL 既可以 直接獲取任意數據,又可以設置規則 , 大大解放生成力。prometheus prome2click clickhouse
需要反思的是 這種設計真的是非常好
後續系列再介紹每一種架構