nagios 只取服务的状态。
OK WARNGING CRITICAL UNKNOWN
NAGIOS 监控的方式:
ssh nrpe(win上用 nsclient++) snmp nsca(被动监控)
编译安装nagios
#groupadd nagcmd
#useradd -G nagcmd nagios
#passwd nagios
#usermod -a -G nagcmd apache
#./configure --with-command-group=nagcmd --#enable-event-broker
#make all
#make install
#make install-init
#make install-commandmode
#make install-config
#make install-webconf
#/usr/local/apache-2.2.15/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重启appach
/usr/local/apache-2.2.15/bin/apachectl restart
编译plus 插件
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
#make
make错误的话可能就是没有安装ssl
# yum install openssl openssl-devel -y
接着make clean 一下
然后 ./configure 再make make install
检测windows 主机
通常情况默认使用check_nt 当然也可以使用check_nrpe 和nsca 方式 接下来先看一下check_nt实现过程
安装NSClient++-0.3.8-x64
则安装好后在被检测机上 netstat -an 查看有个 12489 的端口,则这个端口就是check_nt 和 他进行通信的端口,但是在linux上默认的是(1248),所以在使用的时候一定要注意
5666 是nrpe所使用的端口。
来个测试:
1)检测系统运行多长时间
[root@g libexec]# ./check_nt -H 192.168.10.6 -p 12489 -v UPTIME
System Uptime - 0 day(s) 1 hour(s) 1 minute(s
2)检测系统cpu性能参数
[root@g libexec]# ./check_nt -H 192.168.10.6 -p 12489 -v CPULOAD -w 80 -c 90 -l 5,80,90 (5分钟 80%警告 90 cirtical)
CPU Load 11% (5 min average) | '5 min avg Load'=11%;80;90;0;100 前面一般信息,后面性能信息
-w警告比例, -c紧急比例 -l用于检测性能参数 。
3)检测磁盘利用比例
[root@g libexec]# ./check_nt -H 192.168.10.6 -p 12489 -v USEDDISKSPACE -w 80 -c 90 -l C
C:\ - total: 19.90 Gb - used: 8.93 Gb (45%) - free 10.97 Gb (55%) | 'C:\ Used Space'=8.93Gb;15.92;17.91;0.00;19.90
要想检测 定义chec_nt命令 ,定义主机,服务,联系人
则进入object 目录
1:定义一个命令
编辑commonds.cfg 加一个新的命令 :
define command {
command_name check_nt
command_line $USER1$HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}
2:更该主机,服务信息:
#vi windows.cfg
3:启用此配置文件
在nagios的etc目录下编辑 nagios.cfg
在cfg_file下 加入
cfg_file=/usr/local/nagios/etc/objects/windows.cfg
4:最后要判断下语法是否正确
[root@g bin]# ./nagios -v /usr/local/nagios/etc/nagios.cfg
Warning: Duplicate (有重复)definition found for command 'check_nt' (config file '/usr/local/nagios/etc/objects/commands.cfg', starting on line 211)
Error: Could not add object property in file '/usr/local/nagios/etc/objects/commands.cfg' on line 212.
Error processing object config files!
重启nagios
[root@g bin]# service nagios restart
观察nagios 是否已经有了我们配置好的信息
第二种方式 check_nrpe的方式来检测远程主机
使用nrpe就必须要在被监控端启用nrpe进程 (Port 5666)
当然nrpe是基于nagios-plugins所以服务端必须先装好plugins 让监控端通过check_nrpe跟他能通信
被监控端安装nrpe
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
make all
make install-plugin (在被监控机安装时先useradd nagios否则会出错)
make install-daemon
make install-daemon-config
make install-xinetd//安装为xinetd服务
vim /etc/xinetd.d/nrpe
only_from = 127.0.0.1 192.168.20.18(监控机的ip地址)
一定得注意这里修改完nrpe文件后一定得重启nrpe这个服务
pkill nrpe;/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d,
vi /etc/services 增加如下一行 nrpe 5666/tcp # NRPE
chkconfig nrpe on
service xinetd restart
NRPE 测试
在被监控机上确认服务是否启动
netstat -at|grep nrpe
tcp 0 0 *:nrpe *:* LISTEN
# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
-c指定配置文件试试 -d表示为启动守护进程
监控端安装nrpe
和上面几本一样,只是只安装
./configure --with-nrpe-user=nagios--with-nrpe-group=nagios--with-nagios-user=nagios--with-nagios-group=nagios--enable-command-args--enable-ssl
make all
make install-plugin
在监控机上测试被监控机的NRPE 工作是否正常
/usr/local/nagios/libexec/check_nrpe -H 被监控机IP
NRPE v2.12 //显示NRPE 版本信息,说明NRPE 工作正常
接下来就定义监控远程linux主机的命令:
define command{
command name check_nrpe
command_line $SUER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
定义主机和服务:
直接重新编译个linhost.cfg
#cd /usr/local/nagios/etc/objects
直接将我们的windows.cfg copy过来
将其中的行修改一下。
define host{
use linux-server ; Inherit default values from a template
host_name linhost ; The name we're giving to this host
alias My Windows Server ; A longer name associated with the host
address 192.168.10.7 ; IP address of the host
}
define service{
use generic-service
host_name linhost
service_description CHECK USERS
check_command check_nrpe!check_users
}
define service{
use generic-service
host_name linhost
service_description CHECK USERS
check_command check_nrpe!check_users
}
这里更改service时对照着被检测端的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_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
依次修改就可以了
接着从前nagios 服务 观察nagios web页面