Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1021534
  • 博文数量: 361
  • 博客积分: 25
  • 博客等级: 民兵
  • 技术积分: 1759
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-22 23:18
个人简介

学海无涯 个人blog lnmps.com 新站

文章分类

全部博文(361)

文章存档

2017年(1)

2015年(2)

2014年(55)

2013年(303)

分类: LINUX

2013-01-21 11:55:41

Nagios监控linux等多方应用
一、Nagios简介
1、Nagios是一款遵循GPLv2的开源网络监控软件,可用来监控指定的多种系统的主机、服务,并可在它们的工作状态发生变化时通知管理员。它的特性包括:
1)监控网络服务(HTTP、POP3、SMTP、PING、MySQL等)
2)监控主机资源(磁盘空间利用率、内存利用率、CPU负载等)
3)简洁的插件设计接口,使得用户可以轻松开发所需的检测脚本
4)并行服务模式
5)轻松描述网络结构,并且能够区辨“宕机”和“主机不可达”
6)通过邮件或用户自定义的方式将主机或服务的工作状态变化情况通知给管理员
7)自动日志滚动
8)支持以冗余方式进行主机监控
9)可以通过web方式直观的查看当前网络状态、通知和问题历史、日志文件等等,此组件为可选
2、Nagios 工作原理
Nagios 通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE、NSCA、NSClient++和 NDOUtils)组成。Nagios的监控工作都是通过插件实现的,因此,Nagios和Nagios-plugins是服务器端工作所必须的组件。而 四个ADDON中,NRPE用来在监控的远程Linux/Unix主机上执行脚本插件以实现对这些主机资源的监控;NSCA用来让被监控的远程Linux /Unix主机主动将监控信息发送给Nagios服务器(这在冗余监控模式中特别要用到);NSClient++是用来监控Windows主机时安装在 Windows主机上的组件;而NDOUtils则用来将Nagios的配置信息和各event产生的数据存入数据库,以实现这些数据的快速检索和处理。
3、监控的基本流程:
    当Nagios需要监控某个远程工作站linux主机的服务或者资源情况时:
    1).nagios运行check_nrpe插件,我们要在nagios配置文件中告诉它要检查什么.
    2).check_nrpe插件会通过SSL连接到远程的NRPE daemon.
    3).NRPE daemon会运行相应的nagios插件来执行检查本地资源或服务.
    4).NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.
 注 意:NRPE daemon需要nagios插件安装在远程被监控linux主机上,否则,daemon不能做任何的监控.别外因为它们间的通信是加密的SSL,所以在 编译安装时都要加上选项, ./configure --enable-ssl --with-ssl-lib=/lib/,否则也会出错.
最后让nagios整合到cacti上,是处理后的信息图形化显示
----------------------------------------------------------------------------------------------------------
实验环境配置
   1、 环境搭建
   Server: nagios  nagios-plugins  nrpe
   工作站:nagios-plugins  nrpe
检查一下包的安装情况
# rpm -q httpd gcc glibc glibc-common gd gd-devel
#yum -y httpd gcc glibc glibc-common gd gd-devel
-----------------------------------------------------
在server 端配置
 1、安装nagios
 #tar zxvf  tar zxvf nagios-3.2.1.tar.gz
 #cd  nagios-3.2.1
#./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --with-gd-lib=/usr/lib --with-gd-inc=/usr/include
#make all
#make install
#make install-init
#make install-config
#make install-commandmode
#make install-webconf  //可以自动安装在httpd.conf中的配置,生成nagios.conf;
2、安装nagios-plugins
#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
 
3、安装nrpe
#tar zxvf nagios-nrpe_2.8.1.orig.tar.gz
#cd nrpe-2.8.1
#./configure  --enable-ssl  --with-ssl-lib=/lib/
#rpm -qa | grep ssl           保证:能够抓到 前两个
openssl-0.9.8e-12.el5
openssl-devel-0.9.8e-12.el5
openssl-perl-0.9.8e-12.el5
#make all
#make install-plugin
4、vim 编辑commands.cfg文件定义nrpe对的使用
#vim /usr/local/nagios/etc/objects/commands.cfg
//添加如下几行使支持check_nrep
#check_nrep
define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }
5、配置监控对象(工作站及其服务等)
#vim /usr/local/nagios/etc/nagios.cfg
//在losthost.cfg下添加
cfg_file=/usr/local/nagios/etc/objects/linux.cfg
6、新建linux.cfg设置要监控的内容
#vim /usr/local/nagios/etc/object/linux.cfg
define host{
           use             linux-server
          host_name        mylinux         //需要修改工作站的主机名
          alias           mylinux
          address        192.168.0.44      //工作站主机IP
               }
define service{
        use                      generic-service
        host_name                 mylinux
        service_description       check-swap         //对下面操作的描述
        check_command        check_nrpe!check_swap   //执行检测交换分区命令,监控swap
               }
define service{
        use                      generic-service
        host_name                 mylinux
        service_description      check-load
       check_command         check_nrpe!check_load    //监控负载
               }
define service{
        use                      generic-service
        host_name                 mylinux
       service_description       check-disk
       check_command        check_nrpe!check_had1    //监控硬盘
              }
define service{
        use                     generic-service
        host_name                mylinux
       service_description     check-users
       check_command       check_nrpe!check_users          //监控用户(使用)情况
               }
define service{
        use                    generic-service
        host_name          mylinux
        service_description  otal_procs
        check_command     check_nrpe!check_total_procs        //监控进程
                }
//对以上的linux.cfg文件编辑如果有错,将会导致nagios无法启动;
//修改工作站主机的主机名为mylinux,保证能够#ping mylinux 通信正常,可以选择
#echo "192.168.0.44   mylinux "  >>  /etc/hosts 
#echo"192.168.0.15   nagios "    >>  /etc/hosts
//在服务器端
#echo"192.168.0.15    nagios " >>   /etc/hosts
#echo "192.168.0.44   mylinux "  >>  /etc/hosts 
7、准备启动nagios服务
 #setenforce 0  保证selinux处于关闭状态
 #service iptables stop  或者开放80,5666端口(http/nrep)
 #chkconfig --add nagios    //添加nagios服务到系统服务队列  
 #chkconfig nagios on       //开机自动启动服务
 #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
//检查nagios的配置文件的正确性
//如果上面有错误,请检查系统服务时间是否同步,新建的linux.cfg是否有语法错误!
//在commands.cfg是否添加对nrep使用等
//保证上述命令争取执行
// 参考:

//Total Warnings: 0
//Total Errors:   0
#service nagios start
3、配置工作站上的nagios-plugin/nrpe等
1、安装nagios-plugin
#useradd nagios
#passwd nagios
#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
 2、改变目录权限使nagios用户能够访问
#chown –R  nagios.nagios /usr/local/nagios
3、安装nrpe服务使之能够通信
#tar zxvf nagios-nrpe_2.8.1.orig.tar.gz
#cd nagios-nrpe_2.8.1
#./configure --enable-ssl --with-ssl-lib=/usr/lib/
#make all
#make install-plugin
#make install-daemon
#make install-daemon-config
4、配置nrpe信息
#vim /usr/local/nagios/etc/nrpe.cfg
 allowed_host=192.168.0.15,127.0.0.1   //允许192.168.0.15服务器端对其监控
#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
//检测nrep配置文件的正确性
#netstat -an | grep 5666    //是否监听5666用于nrpe通信的端口
//在服务端执行检测工作站nrpe信息
#/usr/local/nagios/libexec/check_nrpe -H 192.168.0.44
NRPE v2.8.1
//在工作站执行检测自己的nrpe信息
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
NRPE v2.8.1
5、配置工作站上的被检测上网信息
#vim/usr/local/nagios/etc/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_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
6、总结如果没有什么错误则可以监控linux客户机的Disk,swap,users,memory
图片参考:
 
 

本文出自 “寒枫” 博客,请务必保留此出处http://linuxxx.blog.51cto.com/1824808/387024

阅读(648) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~