安装方法请参考 Linux学习笔记:Nagios的安装
客户端
由于我的安装是使用xinetd这个daemon的,所以需要调整相关的配置文件
[[email protected] ~]# vi /etc/xinetd.d/nrpe service nrpe { flags = IPv4 socket_type = stream port = 5666 wait = no user = nagios group = nagios server = /usr/local/nagios/bin/nrpe server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd log_on_failure += USERID disable = no only_from = 127.0.0.1 192.168.5.33 } #注意我的flags改为了IPv4,结尾的only_from加入了nagios服务器端的ip地址
在安装完客户端的NRPE后,默认已经有几个命令可以使用
编辑[[email protected] nagios]# vi /usr/local/nagios/etc/nrpe.cfg
在这个文件的结尾,已经预先配置了几个命令
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
为了监控某个硬盘的容量,我加入了一个命令
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 10% -c 5% -p /dev/sdb1
command[check_disk]是建立命令别名,将被服务器端调用
/usr/local/nagios/libexec/check_disk是真正的执行程序文件,命令别名和执行文件名可以不一样
-w 对于check_disk命令来说,用于制定可用空间的警告Warning值,意味着当可用空间小于等于10%时发出警告
-c 用于制定可用空间的严重告警Critical值,意味着可用空间小于等于5%时,将发出严重警告。
-p 用于指定分区
自我测试一下,证明客户端上的nrpe服务是开启的
[[email protected] ~]# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_disk DISK OK - free space: /data 148997 MB (31% inode=99%);| /data=329362MB;453563;478761;0;503959
nrpe自带了很多执行程序,这些程序位于
[[email protected] ~]# ls /usr/local/nagios/libexec/ check_apt check_disk_smb check_ide_smart check_mrtg check_ntp_time check_rpc check_ups check_breeze check_dns check_ifoperstatus check_mrtgtraf check_nwstat check_sensors check_uptime check_by_ssh check_dummy check_ifstatus check_nagios check_oracle check_smtp check_users check_clamd check_file_age check_imap check_nntp check_overcr check_ssh check_wave check_cluster check_flexlm check_ircd check_nrpe check_ping check_swap negate check_dhcp check_ftp check_load check_nt check_pop check_tcp urlize check_dig check_http check_log check_ntp check_procs check_time utils.pm check_disk check_icmp check_mailq check_ntp_peer check_real check_udp utils.sh
每个程序都有不同的参数,可以通过--help来查看
其中几个常用的是
check_nrpe 用于收集本地或远程的nrpe信息,类似于服务器端程序
check_nt 用于收集windows服务器的信息
check_tcp 用于测试tcp链接是否正常
客户端只要在nrpe.cfg里配置好命令就行了,也不用重启;另外记得配置好防火墙即可。
服务器端
先进行一下收集测试,成功再进行下一步;不成功则检查下是哪步做错了。
[[email protected] ~]# /usr/local/nagios/libexec/check_nrpe -H 192.168.5.34 -c check_disk DISK OK - free space: /data 148997 MB (31% inode=99%);| /data=329362MB;453563;478761;0;503959
加入新的配置文件,注意我的文件路径是servers,这是因为我在上一篇安装篇里加入了这个目录,为了更方便组织配置文件。如果默认安装不进行任何修改的话,应该把servers改为objects
vi /usr/local/nagios/etc/servers/smb-backup.cfg define host{ use linux-server host_name Smb-Backup alias Smb-Backup address 192.168.5.34 normal_check_interval 1 #1 minute } define service{ use generic-service host_name Smb-Backup service_description check disk check_command check_nrpe!check_disk contact_groups admins normal_check_interval 1 #1 minute } #这里上下的host_name必须一致。check_command后面使用check_nrpe!check_disk,意思是使用本机的check_nrpe程序去检查指定主机上的check_disk命令(别名)
注意配置文件必须是.cfg结尾,其他后缀nagios是不读取的
如果写法没有问题,可以让nagios检查一下配置,正确的话warning和errors都是0,如果errors不为0,则必须检查是哪里出错了,Warning则可以忽略但不建议忽略
[[email protected] ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Nagios Core 4.1.1 Copyright (c) 2009-present Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 08-19-2015 License: GPL Website: https://www.nagios.org Reading configuration data... Read main config file okay... Read object config files okay... Running pre-flight check on configuration data... Checking objects... Checked 7 services. Checked 7 hosts. Checked 0 host groups. Checked 0 service groups. Checked 1 contacts. Checked 1 contact groups. Checked 27 commands. Checked 5 time periods. Checked 0 host escalations. Checked 0 service escalations. Checking for circular paths... Checked 7 hosts Checked 0 service dependencies Checked 0 host dependencies Checked 5 timeperiods Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
重新加载一下配置文件才能生效
[[email protected] ~]# /etc/init.d/nagios reload Running configuration check... Reloading nagios configuration... done
当重新加载前,也是会自行检查,只是显示的信息比较简单,不方便排错。如果愿意研究的话,可以修改/etc/init.d/nagios脚步,让其检查时输出详细信息。
这时就可以查看服务器上的nagios网页