天天看点

nagios

 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://linuxxx.blog.51cto.com/1824808/387024

                         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

        service_description      check-load

       check_command         check_nrpe!check_load    //监控负载

               }

        use                      generic-service

        host_name                 mylinux

       service_description       check-disk

       check_command        check_nrpe!check_had1    //监控硬盘

              }

        use                     generic-service

        host_name                mylinux

       service_description     check-users

       check_command       check_nrpe!check_users          //监控用户(使用)情况

        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使用等

//保证上述命令争取执行

// 参考:

nagios

//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 

#./configure --with-nagios-user=nagios --with-nagios-group=nagios 

#make

 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 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

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

图片参考:

nagios
nagios
nagios

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