check_disk 未生成警报:nagios
check_disk not generating alerts: nagios
我是nagios新手。
我正在尝试为一台主机配置 "check_disk" 服务,但没有得到预期的结果。
当磁盘使用率超过 80% 时,我应该会收到电子邮件。
因此,已经为具有多个主机的此任务定义了服务,如下所示:
define service{
use local-service ; Name of service template to use
host_name localhost, host1, host2, host3, host4, host5, host6
service_description Root Partition
check_command check_local_disk!20%!10%!/
contact_groups unix-admins,db-admins
}
- 问题:
此外,我尝试测试单个主机,即 "host2"。 host2目前的使用情况如下:
# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-rootvol 94G 45G 45G 50% /
所以为了获得即时电子邮件,我编写了另一个服务,如下所示,其中警告设置为 <60%,严重设置为 <40%。
define service{
use local-service
host_name host2
service_description Root Partition again
check_command check_local_disk!60%!40%!/
contact_groups dev-admins
}
但我仍然没有收到任何相同的电子邮件。
哪里出错了。
"check_local_disk"命令定义如下:
define command{
command_name check_local_disk
command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}
您的命令定义当前设置为仅检查您的 Nagios 服务器的磁盘,而不是远程主机(例如 host2)。您需要定义一个新的命令定义以通过 NRPE(Nagios 远程插件执行)在远程主机上执行 check_disk。
在 Nagios 服务器上,定义以下内容:
define command {
command_name check_remote_disk
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_disk -a $ARG1$ $ARG2$ $ARG3$
register 1
}
define service{
use genric-service
host_name host1, host2, host3, host4, host5, host6
service_description Root Partition
check_command check_remote_disk!20%!10%!/
contact_groups unix-admins,db-admins
}
重新启动 Nagios 服务。
在远程主机上:
- 确保安装了 NRPE 插件。
- 确保在远程主机上为
check_disk
定义了一个命令。这通常包含在 nrpe.cfg
中,但被注释掉了。您必须取消对该行的注释。
- 确保您在远程主机上安装了
check_disk
插件。我的位于:/usr/lib64/nagios/plugins/check_disk
- 确保
nrpe.cfg
的 allowed_hosts
字段包含 Nagios 服务器的 IP 地址/主机名。
- 确保
nrpe.cfg
的 dont_blame_nrpe
字段设置为 1
以允许 NRPE 命令的命令行参数:dont_blame_nrpe=1
- 如果您进行了任何更改,请重新启动 nrpe 服务。
我是nagios新手。
我正在尝试为一台主机配置 "check_disk" 服务,但没有得到预期的结果。
当磁盘使用率超过 80% 时,我应该会收到电子邮件。
因此,已经为具有多个主机的此任务定义了服务,如下所示:
define service{
use local-service ; Name of service template to use
host_name localhost, host1, host2, host3, host4, host5, host6
service_description Root Partition
check_command check_local_disk!20%!10%!/
contact_groups unix-admins,db-admins
}
- 问题:
此外,我尝试测试单个主机,即 "host2"。 host2目前的使用情况如下:
# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-rootvol 94G 45G 45G 50% /
所以为了获得即时电子邮件,我编写了另一个服务,如下所示,其中警告设置为 <60%,严重设置为 <40%。
define service{
use local-service
host_name host2
service_description Root Partition again
check_command check_local_disk!60%!40%!/
contact_groups dev-admins
}
但我仍然没有收到任何相同的电子邮件。
哪里出错了。
"check_local_disk"命令定义如下:
define command{
command_name check_local_disk
command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}
您的命令定义当前设置为仅检查您的 Nagios 服务器的磁盘,而不是远程主机(例如 host2)。您需要定义一个新的命令定义以通过 NRPE(Nagios 远程插件执行)在远程主机上执行 check_disk。
在 Nagios 服务器上,定义以下内容:
define command {
command_name check_remote_disk
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_disk -a $ARG1$ $ARG2$ $ARG3$
register 1
}
define service{
use genric-service
host_name host1, host2, host3, host4, host5, host6
service_description Root Partition
check_command check_remote_disk!20%!10%!/
contact_groups unix-admins,db-admins
}
重新启动 Nagios 服务。
在远程主机上:
- 确保安装了 NRPE 插件。
- 确保在远程主机上为
check_disk
定义了一个命令。这通常包含在nrpe.cfg
中,但被注释掉了。您必须取消对该行的注释。 - 确保您在远程主机上安装了
check_disk
插件。我的位于:/usr/lib64/nagios/plugins/check_disk
- 确保
nrpe.cfg
的allowed_hosts
字段包含 Nagios 服务器的 IP 地址/主机名。 - 确保
nrpe.cfg
的dont_blame_nrpe
字段设置为1
以允许 NRPE 命令的命令行参数:dont_blame_nrpe=1
- 如果您进行了任何更改,请重新启动 nrpe 服务。