无需集中访问受监控服务器的服务器监控工具的建议

无需集中访问受监控服务器的服务器监控工具的建议

我正在为我的服务器寻找一个开源服务器监控工具:

  • 所有服务器都运行 Linux,大部分是最新的 Debian Buster,但也有部分是 CentOS
  • 其他操作系统(Windows、*BSD 等)不重要
  • 物理硬件服务器和虚拟服务器(KVM/Qemu)
  • 交换机(SNMP)等非服务器设备实际上并不重要

我希望至少监控标准参数,例如负载、可用磁盘空间等。对于硬件服务器,如果该工具可以访问 lm-sensors、IPMI 或 MegaCLI,那就“太好了”。

我正在寻找具有特定架构的工具(基础设施):

  • 有一个中央监控服务器监听 HTTP(S)(例如 REST 端点)。(不允许二进制(RMI、CORBA 等)或专有神秘协议。)如果没有 TLS 支持,那也没问题。我可以在它前面放置一个 Apache httpd 来终止 TLS。
  • 在所有服务器上,都有一个代理将运行参数发送到中央监控服务器() 定期(通过守护进程或 cron 作业)。
  • 代理不得监听除 127.0.0.1 之外的任何其他接口。我不希望中央监控服务器能够以任何方式(拉动)连接到代理。
  • 中央监控服务器不能能够在被监控的节点/服务器上运行命令。
  • 中央监控服务器具有凭证/SSH/shell 访问受监控的节点/服务器。
  • 如果监控服务器被感染或遭到黑客攻击,我不希望它危及整个网络和每个服务器。
  • 我希望监控服务器只是一个被动的数据接收器。(但如果它可以在配置的条件发生时生成警报电子邮件,那就错了。但这不是要求。)

我想自己编写一个非常简单的解决方案——使用 shell 脚本curl作为“代理”,并使用 ElasticSearch 作为中央 REST 服务器。

但我认为,也许有类似的东西可以使用这样我就能避免这种努力了?:)

答案1

Zabbix 能够做到这些。您需要以主动模式运行 Zabbix 代理。

然后服务器就会访问中央监控服务器,中央监控服务器不会连接您的服务器。

相关内容