我是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
}
但我仍然没有收到任何相同的电子邮件。
哪里出错了。
&#34; check_local_disk&#34;命令定义如下:
define command{
command_name check_local_disk
command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}
答案 0 :(得分:0)
您的命令定义目前设置为仅检查Nagios服务器的磁盘,而不是远程主机(例如host2)。您需要定义一个新的命令定义,以通过NRPE(Nagios Remote Plugin Execution)在远程主机上执行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服务。
在远程主机上:
check_disk
定义了命令。这通常包含在nrpe.cfg
中,但已注释掉。你必须取消对该行的评论。check_disk
插件。我的位于:/usr/lib64/nagios/plugins/check_disk
allowed_hosts
nrpe.cfg
字段包含Nagios服务器的IP地址/主机名。dont_blame_nrpe
的{{1}}字段设置为nrpe.cfg
以允许NRPE命令的命令行参数:1