问题/TLDR;
是否有 Sensu 替代方案(即基于 RabbitMQ 的操作系统监控代理/服务器)在中央监控服务器上而不是在受监控的客户端服务器(如 Sensu 和 Nagios 所做的)上定义其警报阈值?
RabbitMQ 是必需的,所以恐怕没有 Zabbix 等。
背景:
我有一个大型环境(Windows 和 RHEL),我无法安装编排工具(Puppet 等),因此应将安装的服务数量保持在最低限度。
我正在研究是否可以开发一个单一的代理来收集系统信息、中继日志(到 Logstash)并报告资源消耗。它将所有这些值推送到 RabbitMQ,然后 Logstash 可以订阅日志,监控服务可以订阅资源指标(并从中创建警报),CMDB 系统可以订阅系统信息等。
但是,我只想接收有关资源消耗的信息并在监控服务器上创建警报,而不必更改每个服务器上的阈值来更改警报阈值。
我不可能是唯一一个找到这么有用的代理的人......
澄清:
如果Sensu 监控下的服务器磁盘不足,Sensu 代理会检查磁盘空间,将其与该服务器上定义的 CRITICAL 阈值进行比较,如果超过阈值,则通过 RabbitMQ 向中央监控服务器发送 CRITICAL 警报. 要在没有 Puppet 之类的情况下更改阈值,需要登录到服务器(对吗?)
我希望这样做的方式是,当监控代理检查其磁盘空间时,它只是通过 RabbitMQ 将可用磁盘量(或已用磁盘和总数等)发送到中央服务器,然后将该值与阈值进行比较在中央服务器上定义,并在必要时发送警报。
如果需要更改阈值,可以在中央服务器上更改它,或者可以比较来自多个服务器的多个值以创建警报。
这是我对 Sensu 的主要问题,尽管我理解与 Nagios 兼容的决定。
如果不需要中央服务器 -> 监控服务器流量,那也是可取的。我想可以在中央服务器将阈值发送给代理的地方进行混搭,然后代理将它们作为“本地”运行。环境网络使这变得异常棘手。
感谢任何人可能有的任何想法!