選擇合適的監控方式
一個好的監控系統,對于 IT 團隊來說是舉足輕重的,當服務器發生異常時,監控系統能很好地幫助運維人員及時發現和處理問題,從而降低業務的中斷中間。本小節我們一起來學習如何選擇合適的監控方式。
1. 常見的監控方式
一般來說,常見的監控方式主要有如下三種:
- 工具/腳本;
- 商業產品;
- 開源產品;
監控方式 | 特點 | 優點 | 缺點 |
---|---|---|---|
工具/腳本 | 自己編寫工具或腳本,適合初期機器很少的生產環境 | 在企業初期可以快速滿足監控需求 | 后期部署和維護成本大 |
商業產品 | 可以快速搭建一套成熟的監控平臺,有非常專業酷炫的監控大屏 | 功能強大,有技術支持,見效快 | 成本高昂,擴展性也較差 |
開源產品 | 免費產品,可以滿足大部分的監控場景 | 成本很低,定制能力強,自主可控 | 需要一定的開發能力 |
現在主流的做法是,選擇開源產品,從簡單的場景入手,先上線實施,觀察效果。后面再根據實施效果,不斷優化開源產品。
2. 主流開源監控產品
主流開源監控產品的代表是 Zabbix 和 PMM,下面分別對這兩個開源產品進行介紹。
2.1 Zabbix
Zabbix是一個企業級的高度集成開源監控軟件,提供分布式監控解決方案,可以用來監控設備、服務等的可用性和性能,由國外團隊進行維護以及持續更新源碼,可以自由下載,是一個真正的源代碼開放產品。
Zabbix的通用架構是C/S架構,通過B/S在web端進行展示和配置,分布式架構為Client/Proxy/Server,Zabbix-Server將采集到的數據持久地存儲到數據庫中。
Zabbix數據的采集不僅可以使用Agent方式,也可以使用SNMP、SSH、Telent、IPMI等多種協議。
Zabbix的主要特點:
- 安裝配置簡單;
- 免費開源,試錯成本低;
- 支持多語言;
- 自動發現服務器;
- 分布式監控;
- 集中式web管理;
- 郵件、微信等通知功能。
Zabbix 的新版本 5.0,可以支持 proxy/server 端通過 odbc 連接 MySQL 進行采集監控數據,所有的配置在web端都可以完成,而且有現成的完善的監控模板,使用起來非常簡單高效。
2.2 PMM
Percona Monitoring and Management (PMM) 是 percona 公司一款開源的用于管理和監控 MySQL、PostgreSQL、MongoDB 以及 ProxySQL 性能的開源平臺,通過第三方軟件 Grafana 將 DB 監控數據展示出來。PMM 可以幫助你降低數據庫環境的復雜性,提升 DB 性能和安全性,是非常流行的開源數據庫監控方案。
PMM主要包括兩個部分:
- PMM client:部署在每臺數據庫主機上,采集服務器,數據庫和慢 SQL 等監控數據;
- PMM Server:PMM 的核心部分,匯集數據并 web 界面中展示監控數據。
PMM 的架構如下圖:
3. 小結
本小節主要介紹了三種監控方式的異同點,以及常見的開源產品 Zabbix 和 PMM 的介紹。
目前的主流方案是選擇開源產品,快速上線,優先滿足簡單場景,再不斷優化升級。對于 MySQL 的監控來說,Zabbix 和 PMM 都是非常不錯的開源產品。