我有一台运行 Plex 的服务器和我想使用 Icinga2 监控的其他两项服务,但我终究无法弄清楚如何让它发挥作用。如果我运行以下命令:
./check_procs -c 1:1 -a '/usr/lib/plexmediaserver/Plex Media Server'
当我手动杀死 Plex 时返回以下内容:
PROCS CRITICAL: 0 processes with args '/usr/lib/plexmediaserver/Plex Media Server' | procs=0;;1:1;0;
我只是不知道如何将此检查添加到服务器..我应该把它放在哪里?
我尝试向/etc/icinga2/conf.d/services.conf 添加另一个声明,如下所示:
apply Service "procs"
{
import "generic-service"
check_command = "procs"
assign where host.name == NodeName
arguments =
{
"-a" =
{
value = "/usr/lib/plexmediaserver/Plex Media Server"
description = "service name"
required = true
}
}
}
但是代理根本不会启动。
最佳答案
我通过定义服务解决了这个问题:
apply Service for (service => config in host.vars.processes_linux) {
import "generic-service"
check_command = "nrpe"
display_name = config.display_name
vars.nrpe_command = "check_process"
vars.nrpe_arguments = [ config.process, config.warn_range, config.crit_range ]
}
然后我在主机定义中添加一个配置,假设是 mongodb
:
vars.processes_linux["trench-srv-lin-process-mongodb"] = {
display_name = "MongoDB processes"
process = "mongod"
warn_range = "1:"
crit_range = "1:"
}
在远程主机上,我需要安装软件包nagios-nrpe-server
然后在配置文件 /etc/nagios/nrpe_local.cfg
中添加这一行:
command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
关于linux - icinga2 监控正在运行的 linux 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46461552/