选择合适的监控方式
一个好的监控系统,对于 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 都是非常不错的开源产品。