FreeBSD 下用nagios来监控网络服务器和网络服务(8)

service_description         mysql

is_volatile               0

check_period             24×7

max_check_attempts         1

normal_check_interval       1

retry_check_interval         1

contact_groups             admins

notification_options         w,u,c,r

notification_interval       960

notification_period         24×7

check_command             check_mysql!100.0,20%!500.0,60%

}

 

define service{

use                   generic-service       ; Name of service template to use

host_name               test_nrpe

service_description         ntp

is_volatile               0

check_period             24×7

max_check_attempts         1

normal_check_interval       1

retry_check_interval         1

contact_groups             admins

notification_options         w,u,c,r

notification_interval       960

notification_period         24×7

check_command             check_ntp!100.0,20%!500.0,60%

}

 

define service{

use                   generic-service       ; Name of service template to use

host_name               test_nrpe

service_description         qmail_smtp

is_volatile               0

check_period             24×7

max_check_attempts         1

normal_check_interval       1

retry_check_interval         1

contact_groups             admins

notification_options         w,u,c,r

notification_interval       960

notification_period         24×7

check_command             check_smtp!100.0,20%!500.0,60%

}

 

define service{

use                   generic-service       ; Name of service template to use

host_name               test_nrpe

service_description         qmail_pop3

is_volatile               0

check_period             24×7

max_check_attempts         1

normal_check_interval       1

retry_check_interval         1

contact_groups             admins

notification_options         w,u,c,r

notification_interval       960

notification_period         24×7

check_command             check_pop!100.0,20%!500.0,60%

}

 

define service{

use                   generic-service       ; Name of service template to use

host_name               test_nrpe

service_description         test_load

is_volatile               0

check_period             24×7

max_check_attempts         1

normal_check_interval       1

retry_check_interval         1

contact_groups             admins

notification_options         w,u,c,r

notification_interval       960

notification_period         24×7

check_command             check_load!100.0,20%!500.0,60%

}

 

define service{

use                   generic-service       ; Name of service template to use

host_name               test_nrpe

service_description         test_disk

is_volatile               0

check_period             24×7

max_check_attempts         1

normal_check_interval       1

retry_check_interval         1

contact_groups             admins

notification_options         w,u,c,r

notification_interval       960

notification_period         24×7

check_command             check_disk!100.0,20%!500.0,60%

}

 

四、检查配置参数并重启nagios

 

 

9)如何在nagios中使用外部命令

vi /usr/local/nagios/etc/nagios.cfg

check_external_commands=1

 

mkdir /usr/local/nagios/var/rw

chown nagios.nagcmd /usr/local/nagios/var/rw

chmod u+rw /usr/local/nagios/var/rw

chmod g+rw /usr/local/nagios/var/rw

chmod g+s /usr/local/nagios/var/rw

 

svc -t /service/nagios/

/usr/local/apache2/bin/apachectl restart

FreeBSD 下用nagios来监控网络服务器和网络服务(7)

此时是不是多了一个主机和它下面的服务呢?那是肯定的,添加主机和服务可能出现的问题有如下情况:

1:配置参数出现问题,如果你没有检查配置就启动nagios,可能会启动成功,但是显示会不正常;

解决方法:调整配置参数

2:Connection refused

当出现这个问题的时候,俺开始以为是ssh的无密码登录没有成功,但是其实俺的服务器没有启动该服务造成的,启动服务即可。

 

但是这些是有端口的服务,没有使用端口的状态任何检测?

使用nrpe,ok,俺们现在在服务器上安装nrpe:

一、远程主机的配置

1、安装nrpe与配置

fetch ]http://ufpr.dl.sourceforge.net/sourceforge/nagios/nrpe-2.5.2.tar.gz

tar zxvf nrpe-2.5.2.tar.gz

cd nrpe-2.5.2

./configure –enable-ssl –enable-command-args

make all

mkdir -p /usr/local/nagios/etc

mkdir /usr/local/nagios/bin

mkdir /usr/local/nagios/libexec

pw addgroup nagios

pw useradd nagios -g nagios -d /usr/local/nagios/ -s /sbin/nologin

chown -R nagios:nagios /usr/local/nagios

cp ./sample-config/nrpe.cfg /usr/local/nagios/etc

cp src/nrpe /usr/local/nagios/bin

2、启动nrpe,端口为5666

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

netstat -ant | grep 5666

tcp4     0     0 *.5666           *.*             LISTEN

 

二、监控服务器上的配置

1、安装nrpe(主要是使用check_nrpe模块)

fetch http://ufpr.dl.sourceforge.net/sourceforge/nagios/nrpe-2.5.2.tar.gz

tar zxvf nrpe-2.5.2.tar.gz

cd nrpe-2.5.2

./configure –enable-ssl –enable-command-args

make all

cp src/check_nrpe /usr/local/nagios/libexec

2、nagios文件的配置

vi checkcommands.cfg

定义check_nrpe命令

# ‘check_nrep’ command definition

define command{

command_name check_nrpe

command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

}

三、上面俺们已经配置了一部分参数,下面是配置的最终结果:

define host{

use               generic-host         ; Name of host template to use

host_name           test_nrpe

alias             client

address           10.5.1.156

check_command       check-host-alive

max_check_attempts     1

check_period         24×7

notification_interval   120

notification_period   24×7

notification_options   d,r

contact_groups admins

}

 

# ‘check_load’ command definition

define command{

command_name   check_load

command_line   $USER1$/check_load -w $ARG1$ -c $ARG2$

}

 

# ‘check_load’ command definition

define command{

command_name   check_disk

command_line   $USER1$/check_disk -w $ARG1$ -c $ARG2$

}

define service{

use                   generic-service       ; Name of service template to use

host_name               test_nrpe

service_description         PING

is_volatile               0

check_period             24×7

max_check_attempts         1

normal_check_interval       1

retry_check_interval         1

contact_groups             admins

notification_options         w,u,c,r

notification_interval       960

notification_period         24×7

check_command             check_ping!100.0,20%!500.0,60%

}

 

define service{

use                   generic-service       ; Name of service template to use

host_name               test_nrpe

service_description         apache

is_volatile               0

check_period             24×7

max_check_attempts         1

normal_check_interval       1

retry_check_interval         1

contact_groups             admins

notification_options         w,u,c,r

notification_interval       960

notification_period         24×7

check_command             check_http!100.0,20%!500.0,60%

}

 

define service{

use                   generic-service       ; Name of service template to use

host_name               test_nrpe