用于根据处理器数量更新 Monit 配置的脚本



我想构建一个脚本来安装一个 monit 配置来监控服务器上的负载平均值。有没有办法说"如果服务器有 1 个 CPU,请使用此阈值,或者如果服务器有 2 个 CPU,则使用此阈值? 我有大约 24 台服务器,并且每天都在添加更多服务器,我希望只安装该文件,它适应服务器,或者如果服务器升级为具有更多 CPU。 有什么想法吗? 谢谢

只需查看Monit 5.26.0的最新发行说明。有一个新选项可以检查每个核心。

if loadavg(1m) per core > 2 then alert
if loadavg(1m) > 8 then alert # same test on a 4 core system
if loadavg(1m) > 18 then alert # same test on a 9 core system

唯一的问题是大多数操作系统的存储库不会提供最新版本。因此,您最终可能会自己编译它,或者使用bash脚本创建配置文件,例如

#!/usr/bin/env bash
# Integers only!
percore=2
cores=$(grep processor /proc/cpuinfo | wc -l)
load=$(expr $cores * $percore)
echo "if loadavg(1m) > ${load} then alert" >> myMonitRcTemporaryFile

这 - 当然 - 如果添加 CPU(如在 VM 中(不会做出反应......

最新更新