Zabbix是一个基于WEB界面的提供分布式企业级系统监控的开源解决方案,通过浏览器监视,做到告警分级处理、网络访问安全可控,该开源平台在全球有广泛的用户基础,基本可以认为他更多的是面向IP的监控,适用于IT基础架构监控管理。
Zabbix优点:
1、数据采集:可用性和性能检测,自动发现,支持agent、SNMP、JMX、telnet等多种采集方式,支持主动和被动模式数据传输
2、高可用:server对设备性能要求低,支持proxy分布式监控,分布式集中管理,开放式接口,扩展性强
3、告警管理:支持多条件告警,支持多种告警方式
4、模板能力:支持多组模板,模板继承
5、告警设置:告警周期,告警级别,告警恢复通知、告警暂停,时段阈值、支持维护周期、支持单机停用
6、历史数据:历史数据查询可配置,内置housekeeping数据清理机制
7、安全审计:具备安全的用户审计日志,权限认证,用户可以限制允许维护的列表
8、底层代码全部开源,有足够的开放性
9、全球社区支持
Zabbix缺点:
1、性能瓶颈,监控系统没有低估高峰期,具有持续性和周期性,机器量越大,数据的增大会使数据库的写入成为一定的瓶颈,有较大的使用维护成本。
2、项目二次开发,需要分析表结构,并且表结构非常复杂,对开发能力有较高要求。
3、内置housekeeping在执行过程中会对数据库增加压力,需要对数据库进行优化
4、界面功能较为单一、简陋、操作不人性,达不到企业级交付的目的
5、使用有难度,要求操作人员的技术水平很丰富且全面, 需要熟悉被监控对象, 已经具备相当的开发能力
6、API介绍比较粗糙,如果数据库表结构更改可能会影响API调用
7、Zabbix 监控的模板比较复杂,没有一个比较简洁易懂监控模板创建的向导,使得模板配置比较困难
8、对数据库、中间件、国产化、安全设备、虚拟化、容器、硬件、云平台等的监控支持有较大缺陷
9、常见运维功能缺失如:链路管理、IP管理、权限管理、告警配置、知识管理、拓扑发现、业务拓扑、告警分发管理、可视化、巡检、报表等。
Prometheus是一个基于时间序列的数值数据的监控解决方案,这是一个开源项目,由前Google员工在Sound Cloud启动,他们希望监控一个高度动态的容器环境,因为对传统的监控工具不甚满意,所以开发出Prometheus,并在上面进行工作,可以认为他是面向服务和数据的监控。
Prometheus优点:
1、底层代码全部开源,有足够的开放性
2、全球社区支持
3、后端用Golang开发,前端是Grafana、JSON编辑即可解决,定制化难度较低
4、监控数据存储在基于时间序列的数据库内,便于对已有的数据进行新的聚合,有先天性能优势
5、安全性较高,PULL,单向通讯
6、各个组件都有较成熟的高可用方案,没有单点故障
7、适合对容器、云环境进行监控,对Open Stack、kubernetes有很好的集成
8、自动发现容器,更好的适配k8s
9、告警管理更加多样化
Prometheus缺点:
1、安装相对复杂,监控,告警(alert manager)和界面(Grafana)都分属于不同的组件
2、界面相对弱,很多配置需要修改文件
3、Prometheus也是近几年才比较火,社区资料尚显不足
4、没有安全认证功能
5、没有严谨的权限管理功能
6、不适合日志和时间采集存储,请求的跟踪,持久的存储不能够自动水平伸缩
7、Exporter建议的单类型采集,会导致Exporter混乱,无法管理
技术交流欢迎加入Q群:177428068za