|
安装方法请参考 Linux学习笔记:Nagios的安装
客户端
由于我的安装是使用xinetd这个daemon的,所以需要调整相关的配置文件
[root@Smb-Backup ~]# 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使用独立daemon模式启动(即不透过xinetd),则需要修改其配置文件放行合法访问的主机,用逗号分隔
#[root@Smb-Backup ~]# cat /usr/local/nagios/etc/nrpe.cfg
#allowed_hosts=127.0.0.1,192.168.5.33
在安装完客户端的NRPE后,默认已经有几个命令可以使用
编辑[root@Smb-Backup 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服务是开启的
[root@Smb-Backup ~]# /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自带了很多执行程序,这些程序位于
[root@Smb-Backup ~]# 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里配置好命令就行了,也不用重启;另外记得配置好防火墙即可。
服务器端
先进行一下收集测试,成功再进行下一步;不成功则检查下是哪步做错了。
[root@Nagios-Server ~]# /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则可以忽略但不建议忽略
[root@Nagios-Server ~]# /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
重新加载一下配置文件才能生效
[root@Nagios-Server ~]# /etc/init.d/nagios reload
Running configuration check...
Reloading nagios configuration...
done 当重新加载前,也是会自行检查,只是显示的信息比较简单,不方便排错。如果愿意研究的话,可以修改/etc/init.d/nagios脚步,让其检查时输出详细信息。
这时就可以查看服务器上的nagios网页
|
|