选择合适的监控方式

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