设备监控平台 设备监控软件( 三 )


而 Zabbix 本身不仅开源,而且不存在商业版和社区版之分,官方保持着定期版本更新的频率,在每一个新版本中也会修复问题或改善用户体验 。
同时,Zabbix 除了原厂团队以外,也会有社区的支持,在中国也有活跃的用户社区,以及每年定期的 Zabbix 大会等活动 。
分布式,高可用:Zabbix 本身也是分布式高可用的,这也很好的解决了单点的问题 。
低级别发现,自动发现:这是 Zabbix 全栈自动化监控中最不可或缺的两个特性 。
低级别发现:低级别发现能帮助我们发现一台设备上所有的监控对象 。
试想一个场景,我们有 100 台服务器,每台服务器上至少有 2 块硬盘,最多有 20 块硬盘 。
如果我们要监控这些磁盘的 IOPS、剩余磁盘空间 1、磁盘队列长度等 10 个指标,需要怎么去添加监控?
常规的做法是,我在每 1 台服务器上,根据服务器实际的磁盘数量,为每一块磁盘添加监控,如果平均每台 10 块磁盘,那么就是要增加 100*10*10 个监控项,总计 10000 个监控项 。
不止于此,还要继续为这 10000 个监控项配置触发器和告警规则 。
而在 Zabbix 中,我们只需创建一个模版,定义低级别发现的规则,并将这个模版同这 100 台需要监控的服务器关联即可 。
Zabbix 会根据服务器上实际的磁盘数量自动生成对应的监控项,大大提升了添加监控的效率,同时也减少了手动添加监控的纰漏 。
自动发现:它能帮助我们快速发现网络内的设备,并按规则识别出它的类型,将其和指定的模版进行关联 。
全栈级监控:就像刚才所介绍的,Zabbix 在监控的广度和深度之间做了一个比较好的权衡,它是一个全栈级的监控平台 。
从底层的硬件、操作系统、中间件、数据库,到上层的应用、业务,都可以纳入到 Zabbix 的监控范围中 。
实现了通过一个统一的监控平台,覆盖所有监控对象不同层次监控的需求,同时降低了维护多套监控平台的成本和所需要的知识积累,方便上手 。
可定制,与 DevOps 流水线集成:Zabbix 本身也是一个开放的系统 。提供了丰富的 API,这些 API 几乎可以实现界面上所有的功能,可以同企业内部的 DevOps 持续交付流水线进行集成,提升整体自动化的水平 。
Zabbix 全栈自动化监控实践案例
接下来,我们来讨论下 Zabbix 这些高级特性在实际使用场景中的最佳实践案例 。
分布式自动化监控
首先来看下我们是如何通过自动发现特性实现监控的自动添加的:
我们会在 Zabbix 中配置自动发现规则,比如我们对制定的网段进行扫描 。当我们发现网段中某个 IP 的 1433 端口是打开的,我们基本上可以推断它上面运行着微软的 SQLServer 服务 。
因此,我们通过已经配置好的规则,将发现的这个开放着 1433 端口的 IP 和 SQLServer 模版进行关联 。
SQLServer 的模版是我们预先定制好的对于微软数据库的监控模版,通过自动发现,我们能达到两个目的:

  • 所有的微软数据库都被监控到了 。
  • 所有被监控的数据库使用了同一套监控基线,实现了标准化监控 。
同样的,我们也可以通过定制不同的规则,来添加不同类型的监控,比如 3306 是 MySQL 的监控等 。
除了关联模版,我们会把监控对象添加到不同的组中,确保每个组关联了对应的运维人员 。
这样做的好处在于,我们不需要频繁的更新告警策略,而当故障发生的时候,对应的管理员也能第一时间收到告警 。
双维度管理(平台维度/业务维度)

推荐阅读