主流监控系统对比
- 衡量一款监控系统是否符合需求,需要从多个维度进行考量,以下就从功能、性能、数据存储、服务发现、运维管理、开发语言、社区力度、生态发展等7个角度,对目前主流的监控系统进行对比,详如下表:
| 对比项 | Zabbix | Nagios | Ganglia | Open-Falcon | Prometheus |
|---|---|---|---|---|---|
| 开发语言 | C、PHP | C | C、PHP | Go、Python | Go |
| 成熟度 | 高 | 高 | 高 | 中 | 中 |
| 性能 | 低 | 中 | 中 | 高 | 高 |
| 可扩展性 | 高 | 中 | 中 | 高 | 高 |
| 容器支持 | 低 | 低 | 低 | 中 | 高 |
| 企业使用率 | 高 | 低 | 低 | 中 | 高 |
| 社区生态 | 中 | 低 | 低 | 中 | 高 |
| 部署复杂度 | 中 | 中 | 中 | 高 | 低 |
| 数据存储 | MySQL/PG/Oracle/DB2 | RRD或不存储 | RRD | 归档RRD/MySQL/Redis/OpenTSDB | OpenTSDB |
| 用户群 | 泛互联网企业 | 复杂IT环境企业 | 大中型企业/私有云企业 有监控大量网络设备的企业 |
小米/滴滴/美团等 | 阿里/京东/宜信等 |
| 告警 | 支持 | 支持 | 无告警机制和消息通知机制 | 支持 | 支持 |
| 告警源 | 多通道 | - | 无 | 多通道 | 多通道 |
| 告警目标 | 多通道 | - | 无 | 多通道 | 多通道 |
| 告警收敛 | 无 | - | 无 | 简单收敛 | 灵活规则 |
| 告警收敛:通知次数 | 支持(最大通知次数) | - | 无 | 支持(最大通知次数) | 不支持 |
| 告警收敛:故障域 | 集成 | - | 无 | 单组件 | 单组件 |
| 告警可用性 | 单点 | - | 无 | 单点 | 高可用 |
| 配置 | 基于模板 | 复杂文件 | 一个文件 | 基于模板 | 树形结构 |
| 图形化 | 中 | 低 | 低 | 高 | 高 |
- 个人建议:基础监控首推zabbix(比如服务器、网络设备、数据库等),状态码或容器则首推Prometheus(比如Kubernetes、Docker、微服务架构、云原生应用、实时监控等)