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

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

可以直接拷贝原有的进行修改,俺这个就是拷贝的原有的check_local_disk进行的。

修改host_name,service_description,check_command等

 

define service{

use                   generic-service       ; Name of service template to use

host_name               localhost

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!20%!10%!/

}

照猫画虎的进行修改,然后去修改:

vi checkcommands.cfg

#’check_qmail’ command definition

define command{

command_name   check_qmail

command_line   $USER1$/check_smtp -H 127.0.0.1

}

define command{

command_name   check_pop3

command_line   $USER1$/check_pop -H 127.0.0.1

}

保存,然后检查配置文件:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果没有错误会显示:

Total Warnings: 0

Total Errors:   0

如果有错误,请根据提示进行错误的修正。

重启nagios

svc -d /service/nagios/ && svc -u /service/nagios/

通过web页面检查nagios的结果:

http://10.5.1.153/nagios/

点击“Service Detail”

会出现:

 

2)添加主机并添加服务

俺们会监控这台主机的负载、磁盘等一些没有通过端口方式启动的服务器状态,以及它的服务,比如:apache、mysql、qmail和ntp等等吧。那么没有端口的nagios直接能监控到吗?答案是不行。所以俺们必须在两台主机上安装nrpe,nrpe可以启动5666端口,把检测的信息源源不断的传给监控中心的主机。

ok,俺们把apache、mysql、qmail和ntp先加上,这回俺们把监控的主机和服务新建一个文件:

cd /usr/local/nagios/etc/

touch 10_5_1_156.cfg

vi nagios.cfg

cfg_file=/usr/local/nagios/etc/10_5_1_156.cfg

 

vi 10_5_1_156.cfg

定义一个主机:

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

}

 

定义主机需要检查的服务:

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{