Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83503
  • 博文数量: 12
  • 博客积分: 126
  • 博客等级: 入伍新兵
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-13 22:53
文章分类

全部博文(12)

文章存档

2015年(1)

2014年(2)

2013年(4)

2012年(2)

2011年(3)

我的朋友

分类: 系统运维

2011-06-30 16:26:53

被监控主机安装
需要安装nagios插件和NRPE Deamon
1.
2.创建nagios用户
#useradd  nagios
3. 下载安装nagios plugin
在下载nagios插件到 /usr/local/src。最新稳定版本是nagios-plugins-1.4.15.tar.gz
#cd /usr/local/src
#tar xzf nagios-plugins-1.4.15.tar.gz
#cd nagios-plugins-1.4.15
Red Hat版本的LINUX需要加--enable-redhat-pthread-workaround开关。具体见
#./configure  --enable-redhat-pthread-workaround   
#make
#make install
#chown  nagios.nagios  /usr/local/nagios
#chown  -R nagios.nagios /usr/local/nagios/libexec
4. 下载安装NRPE Deamon
下载到 /usr/local/src
#cd /usr/local/src
#tar xzf nrpe-2.12.tar.gz
#cd nrpe-2.12
编译
#./configure
#make all        
安装NRPE插件、Deamon和Deamon配置文件示例
#make install-plugin
#make install-daemon
#make install-daemon-config
安装NRPE Deamon为xinetd下的一个服务
#make install-xinetd
编辑/etc/xinetd.d/nrpe,在only_from参数里加入nagios服务器的IP地址
only_from = 127.0.0.1 
在/etc/services中添加NRPE Deamon
nrpe   5666/tcp   #NRPE
重启xinetd服务
#service xinetd restart

5 本地测试NRPE Deamon
检查NRPE Deamon是否运行
#netstat -at | grep nrpe
tcp    0     0  *:nrpe     *:*     LISTEN
检查NRPE Deamon是否工作正常
#/usr/local/nagios/libexec/check_nrpe -H  localhost
NRPE v2.12
6.放开防火墙,允许nagios服务器访问本地NRPE Daemon。命令可能不完全同。
#iptables -I RH-Firewall-1-INPUT -p  tcp -m tcp -dport 5666 -j ACCEPT
(#iptables -A INPUT -p tcp -s 192.168.0.1  --dport 5666 -j ACCEPT)
保存新的iptables规则,保证机器重启后依然能生效。
service iptables save
7.客户化NRPE命令
#vi /usr/local/nagios/etc/nrpe.cfg
============================================================
nagios服务器上安装设置
1.安装check_nrpe插件
#cd /usr/local/src
#tar xzf
#tar xzf nrpe-2.12.tar.gz
#cd nrpe-2.12
编译
#./configure
#make all        
安装NRPE插件
#make install-plugin
2.测试与远端NRPE Daemon的通信
如果远端主机IP地址是192.168.0.1
#/usr/local/nagios/libexec/check_nrpe -H 192.168.0.1
NRPE v2.12
/usr/local/nagios/libexec/check_nrpe -H 192.168.0.1 -c  check_users
3.建立命令定义
需要在nagios object配置文件中建立命令定义。
#vi /usr/local/nagios/etc/objects/commnads.cfg
define command{
       command_name  check_nrpe
       command_line  $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
       }
      
4.建立host和service定义
    必须定义一些对象定义用于监视远程的LINUX/UNIX主机。这些定义可以放在自己的文件里或加入现有的
对象配置文件里。
    最好的方法是为监视的每一类主机建议自己的配置模版。下面建立一个新的LINUX模版。
define host{
       name                      linux-box       ;Name of this template
       use                       generic-host    ;Inherit default values
       check_period              24x7
       check_interval            5
       retry_interval            1
       max_check_attempts        10
       check_command             check-host-alive
       notification_period       24x7
       notification_interval     30
       notification_options      d,r
       contact_groups            admins
       register                  0                  ;DONT REGISTER THIS - ITS A TEMPLATE
       }
    该模版从generic-host模版继承缺省值。generic-host模版在templates.cfg中定义。templates.cfg为系统缺省
安装。
    使用上面建好的模版定义一个主机.
define host{
       use             linux-box           ;Inherit default valus from a template
       host_name       remotehost          ;The name we're giving to this server
       alias           Fedora Core 6       ;A longer name for the server
       address         192.168.0.1         ;IP address of the server
       }
      
    然后,将定义监视远程主机的服务。这些服务使用远程主机nrpe.cfg里定义的命令。
    下面的服务监视远程主机的CPU负载。chech_nrpe命令的“check_load”参数告诉远程主机的NRPE Deamon执行
nrpe.cfg中定义的check_load命令。
define service{
       use                        generic-service
       host_name                  remotehost
       service_description        CPU Load
       check_command              check_nrpe!check_load
       }
 
     下面服务监视登录用户数
define service{
       use                        generic-service
       host_name                  remotehost
       service_description        Current Users
       check_command              check_nrpe!check_users
       }
      
     下面服务监视/dev/hda1的空闲空间
define service{
       use                        generic-service
       host_name                  remotehost
       service_description        /dev/hda1 Free Space
       check_command              check_nrpe!check_hda1
       }
      
     下面服务监视进程总数
define service{
       use                        generic-service
       host_name                  remotehost
       service_description        Total Processes
       check_command              check_nrpe!check_total_procs
       }
      
     下面服务监视zombie进程总数
define service{
       use                        generic-service
       host_name                  remotehost
       service_description        Zombie Processes
       check_command              check_nrpe!check_zombie_procs
       }

5 重启Nagios
验证Nagios配置
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
重启nagios
#service nagios restart
===============================================================
定制配置
如果想使用nrpe监视远程主机上的新服务,需要做两件事:
     1.在远程主机的nrpe.cfg文件里加上新命令。
     2.对该主机的Nagios配置里添加新服务定义。
    
阅读(3276) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~