我有一个远程 Ubuntu 系统,我需要在 nagios 中对其执行以下检查:
check_users
check_procs
check_all_disks
。
我如何在远程系统上执行此操作?我四处查看,但找到的所有东西似乎都是 2010 年初或更早的。
答案1
仅仅因为它是 2 年前的,并不意味着它无关紧要。Nagios 是一个稳定、强大的系统,因此许多有用的信息都是那么古老。
您需要的工具是 NRPE(Nagios 远程插件执行器);它允许您通过网络在远程机器上运行 Nagios 插件,并在本地 Nagios 服务器上收集结果。有大量的介绍性文档可用,因此我不会在这里详细介绍操作方法。
答案2
另一个选项是将这些检查安装在要监控的服务器上。然后在该服务器上创建一个用户,用于这些检查并设置 ssh 密钥。然后您可以将这些检查包装在里面check_by_ssh
。接下来会发生什么呢?Nagios 用户将通过 ssh 进入受监控的服务器,执行命令,然后注销。
例如,nagios 命令配置如下所示:
define command{
command_name check_procs
command_line $USER1$/check_by_ssh -t $_HOSTPARAM_SSH_TIMEOUT$ -H $HOSTADDRESS$ -C "$USER1$/check_procs $ARG1$"
}
需要记住的一个缺点是 ssh 的开销比其他选项更大。不过,对于资源不太紧张的小型服务器监控环境来说,这并不是什么问题。