写点什么

监控系统使用对比 -- 你怎么看当前的主流监控系统

用户头像
耳东@Erdong
关注
发布于: 1 小时前

最近几年一直在使用监控系统,主要使用 zabbix 和 prometheus 两个,对于这两个监控系统都有一些感受,简单来聊聊。


使用 zabbix 最近被一个接口调用的 bug 导致 zabbix 的主机信息、模版信息、以及他们的关联关系全丢了,因为配置了自动注册,在这些数据丢失以后,zabbix agent 又把自己注册了一次,然后通过备份数据恢复的时候这两部分就发生了冲突,一个表一个表的解决问题。恢复好以后,这个事情又发生了一次。不同的是,第一次恢复紧急恢复花费了一晚上十几个小时的时间,全部恢复大概花了一周时间,第二次全部恢复花了两个小时。


另外的一个事情就是 zabbix server 版本升级,仅仅是从 4.4.0 升级到 4.4.10 花费了大约一周时间,各种测试,各种升级回滚解决问题。当然这也和当前的部署结构有关系,结构不合理,负载不均衡等等。


这个月主要就耗费在这里了。


针对 zabbix 总结一下,有以下的优点:

1、监控模版可以包含多个指标,在不涉及脚步等其他方式的情况下,使用 snmp、zabbix agent 的情况下可以做到开箱即用。

2、指标和触发器(zabbix 的告警规则叫触发器)的关联交互挺好用

3、宏和宏变量的使用可以大大的提交告警的便捷性,基本可以做到每个 label 不同的阈值。

4、zabbix 的指标采集挺丰富的,包括采集间隔,是否要一直采集还是每天固定时间段来采集。

5、zabbix 的管理页面,这个不愧是企业级软件去,很大一部分的优势是靠它来体现的。


说完了优点来看看缺点:


1、zabbix 架构原生是单点,没有集群方案,官方推荐的是使用 keepalived 来进行 3 个点的负载均衡,这个方案在现在来说太落后了。

2、zabbix 的数据存储使用关系型数据库,这是个很大的问题,当指标数量增加以后,数据的存储空间、查询时间都变成了一个恐怖的事情。当前使用了 6TiB 的空间来存储了每帧 80 万条数据,采集间隔一分钟,详细数据 1 个月,历史数据大概 1 年半的数据,prometheus 存储比这个节省多了。当然 zabbix 也可以支持更大的数据收集规模,只是不知道资源会按什么比例增长。

3、升级复杂,体验了 4.4.0 升级到 4.4.10 以后,升级太麻烦,使用 zabbix 你最好配一个 DBA 来处理各种问题。

4、zabbix 和 grafana 的结合不太好,语句写起来挺生硬的,也能用,但是不如 promrthrus 灵活。


对于 prometheus 这个月我也做了例行升级,大概花了一个小时左右,我升级完了十多个实例,配套的 Thanos 和存储数据的 Minio。和 zabbix 相比,这太让人舒服了。


prometheus 具备以下优点:

1、结构简单,但是可以水平扩展,通过和 thanos 结合可以做到无缝的水平扩展。不喜欢 thanos 也可以使用自带的联邦功能进行扩展,prometheus 的思想就是:我尽量简单但是好用,剩下的功能尽管放给其他人做


2、采用时序数据库,大大的节省了存储空间,并且提升了查询效率。我使用 3TiB 的空间存储了每帧 300 万条数据,30 秒采集一次,大约有 120 万条数据是 15 秒采集一次,详细数据存 2 个月,5 分钟降准数据存半年,一小时降准数据存一年,而且我还不需要 DBA 参与。


3、采集配置简单,简单配置以后就可以收取丰富的指标,不用自己一个指标一个指标的添加。


对于 prometheus 的缺点,

1、当前告警规则无法快捷的支持每个 label 一个阈值,要么统一阈值,要么一个 label 一条规则,量大了以后真的不好管理。大家如果这方面有什么好的办法还请指导我一下。

其他感觉和 zabbix 比起来没啥缺点了。


总体来说,我更偏向于 prometheus ,你们呢?


2021 年 9 月 29 日 23:00 于火车上。

发布于: 1 小时前阅读数: 3
用户头像

耳东@Erdong

关注

还未添加个人签名 2020.05.24 加入

主要研究分享运维技术,专注于监控、CICD、操作系统、云原生领域,公众号【耳东学堂】,知识星球同名,坚持原创,希望能和大家在运维路上结伴而行 邮箱:erdong@mail.erdong.site

评论

发布
暂无评论
监控系统使用对比 -- 你怎么看当前的主流监控系统