Nagios配置——添加Linux主机监控

Linuxest 2011-05-23

下面是我添加linux监控机的过程,如有错误或者不当的地方请指出:

测试环境:

监控主机:nagios+nagios插件+nrpe+网站平台 192.168.1.210

被监控机:nagios插件+nrpe   192.168.1.211

1、首先在监控主机上安装nrpe,nagios只能监控一些外部的信息,例如:ftp端口有没有开放,ssh端口有没有开放,ping值如何之类的,如果想监控linux主机一些本地的信息如:硬盘使用情况,机器负载等,必须是监控主机通过nagios调用被监控机的nrpe,被监控机的nrpe搜集信息,然后再返来给监控主机的nagios,这样的一个过程

监控主机安装nrpe:

tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config


在被监控机上安装nagios插件和nrpe

tar zxvf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install


安装nrpe的方法与监控主机的nrpe安装方法一样

检查目录及文件:

 ll /usr/local/nagios/libexec


看看里面是不是有一大堆check的什么东西,如果有就对了

2、配置nagios监控主机的配置文件

nagios的全部配置文件在:/usr/local/nagios/etc目录下面

首先cgi.cfg

refresh_rate=30         #nagios主页的刷新时间,我设置成30秒自动刷新

use_authentication=0  #关闭认证功能,当nagios配置好后,建议开回来
 


这个文件暂时只修改了这两项

然后轮到nagios.cfg

cfg_file=/usr/local/nagios/etc/objects/commands.cfg  #nagios可调用的监控命令
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg     #联系人配置
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg  #监控时间配置
cfg_file=/usr/local/nagios/etc/objects/templates.cfg   #模板配置
cfg_dir=/usr/local/nagios/etc/services                       #新添加,把需要添加的主机文件放进去,就不必在这里一行行添加
cfg_file=/usr/local/nagios/etc/objects/hostgroups.cfg  #新添加,主机组配置
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg    #本地信息监迭

3、现在可以开始添加被监控机

我们上面定义了所有的主机文件都放在services目录下,那么我们在此目录下新建主机:

vi 192.168.1.211.cfg 

内容如下:

 define host{
        use     linux-server
        host_name       192.168.1.211
        alias           192.168.1.211
        address         192.168.1.211
}
define service{
        use     generic-service
        host_name       192.168.1.211
        service_description     check_ping
        check_command           check_ping!100.0,20%!200.0,50%
        max_check_attempts 5
        normal_check_interval 1
}
define service{
        use     generic-service
        host_name       192.168.1.211
        service_description     check_ftp
        check_command           check_ftp!21
        max_check_attempts 5
        normal_check_interval 1
}
define service{
        use     generic-service
        host_name       192.168.1.211
        service_description     check_ssh
        check_command           check_ssh
        max_check_attempts 5
        normal_check_interval 1
}
define service{
        use     generic-service
        host_name       192.168.1.211
        service_description     check_http
        check_command           check_http
        max_check_attempts 5
        normal_check_interval 1

上面监控了ping值,ftp服务,ssh服务还有http服务,我拿一个例子来说明

 define host{
        use     linux-server
        host_name       192.168.1.211
        alias           192.168.1.211
        address         192.168.1.211
}
define service{
        use     generic-service
        host_name       192.168.1.211
        service_description     check_ping
        check_command           check_ping!100.0,20%!200.0,50%
        max_check_attempts 5
        normal_check_interval 1
}

相关推荐