linux - icinga2 监控正在运行的 linux 服务

标签 linux service centos7 monitor icinga2

我有一台运行 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/

相关文章:

docker - 无法在 http ://ip:8443 上访问 OpenShift 控制台

linux - 当第一个文件作为键具有多个值时,使用awk匹配2个文件

android - 杀死 Android 服务和静态变量

angular - 为什么我的 Angular 服务变量未定义?

java - Jersey Hk2 注入(inject)@Service注解类

Javascript 无效或意外的 token (\u0)

linux - 适用于所有 Linux 发行版的程序包

linux - Linux 有没有好的 "OCaml Browser"工具?

linux - 包装 bash find 命令

linux - 我可以在哪里放置脚本来启动 init centos?