nagios

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页面


你可能感兴趣的:(nagios监控)