如何通过 monit 工具监控其他服务器的 CPU 平均负载?
此示例显示唯一的本地主机。
check System my_server
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 12% then alert
if swap usage > 25% then alert
if cpu usage (user) > 80% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
答案1
monit
作为示例,您不能直接使用其他服务器的规则来配置特定服务器。
守护进程配置monit
仅适用于安装它的特定服务器;例如,monit
它本身只是agent
在服务器/VM 上运行的(远程)。
但是,您可以:
- 使用中号/监控
monit
用于通过网络与中央服务器通信并收集数据; - 配置 monit 以通过浏览器单独访问每个 monit 实例;
- 使用 monit 作为 Nagios 的代理。
至于M/monit
,也是作者写的monit
,不过是付费的。它是一个有趣的轻量级监控解决方案,适用于小型基础设施,并且具有通用主机监控、分析功能,并且该界面在移动设备中也运行良好。
为了与 M/Monit 对话monit
,您必须在每种monit
情况下激活 Web 界面。激活 Web 界面除了提供 Web 界面外,还允许访问 REST API,提供可远程访问的 XML 统计信息。
要激活 M/Monit 的 Web 界面,或者能够远程浏览监控数据:
set httpd port 2812 allow 0.0.0.0/0.0.0.0 # allow localhost to connect to the server allow admin:monit
也可以看看安装和配置 Monit Web 界面
配置 monit Web 界面后,您还可以使用浏览器并直接指向特定服务器/VM。
尽管如此,为了监控多个服务器,我更喜欢使用 Nagios 或 Zabbix。
虽然有用于 monit 的 Nagios 插件,但我更喜欢使用本机agent
, nrpe
.
还有一个 python 库可以monit
通过 Web 界面进行远程通信,我允许您以自己的方式编写脚本来监视几个服务器,我还没有探索过这个途径。https://github.com/polymeris/python-monit
监控网页界面示例:
(来源:不眠之兽.eu)