·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux论坛 | Linux文档 | Linux下载 | Linux博客 | Linux搜索 | 开源项目孵化平台 | 《开源时代》
新手入门 | 安装启动 | 管理员指南 | 开发手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | MySQL | Apache | Ubuntu | Gentoo| OSCON08
  Linux时代 >> 技术文档 >> 网络技术
 
nagios 监控Linux和Unix服务器(ubuntu服务器安装实例)
来源: ChinaUnix博客  日期: 2009.06.09 10:54 (共有条评论) 我要评论
 

参考资料:
http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf

1. 监控原理
监控方式有两种,一种是利用ssh方式,执行Nagios的check_by_ssh来执行被监控服务器上的插件程序,从而获取相关的信息。但是这种方式,当运用于监控上百台服务器时,由于ssh连接的建立和中断,会对Nagios服务器产生高负载现象,所以不建议使用。它的优点在安全性高与采用NRPE的插件方式。
另外一种方式,是常用的方式。就是在被监控的Linux/Unix的服务器上安装NRPE监控引擎,然后Nagios服务器通过check_nrpe的程序,利用ssl通讯模式调用nrpe获取相关数据信息。优点包括可以使用Nagios的大多数监控插件。处理可以监控自身的状态变化,还可以拓展应用监控其它服务器的开放服务。


[url=file:///C:/Documents%20and%20Settings/anderson/Application%20Data/Windows%20Live%20Writer/PostSupportingFiles/a3df8880-e893-43af-97aa-8f3bb2509654/image5.png][/url]
  


2. 监控内容
Linux/Unix服务器的内部参数包括以下

  • 内存使用状况  
  • CPU负载
  • 磁盘使用状况
  • 运行的进程
  • 登录用户

[url=file:///C:/Documents%20and%20Settings/anderson/Application%20Data/Windows%20Live%20Writer/PostSupportingFiles/a3df8880-e893-43af-97aa-8f3bb2509654/image13.png][/url]



外部监控内容,可以使用Nagios的监控插件,监控其他的服务器开放的服务。起到间接监控的作用或者说是代理监控。
[url=file:///C:/Documents%20and%20Settings/anderson/Application%20Data/Windows%20Live%20Writer/PostSupportingFiles/a3df8880-e893-43af-97aa-8f3bb2509654/image14.png][/url]



3.安装步骤
配置环境 ubuntu 8.0
a.前提条件

  • 在Linux服务器上具有root权限
  • 允许建立nagios帐号让远程访问
  • 安装以下包

    • apt-get install gcc  
    • apt-get install build-essential
    • apt-get install libssl0.9.8
    • apt-get install libssl-dev
    • apt-get install openssl

b.远程主机配置

  • 创建账户nagios并设定密码

useradd nagios
password nagios

  • 下载nagios的插件资料,解包安装

下载地址
http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.6.tar.gz

  • 解开nagios plugins的源代码包

tar xzvf nagios-plugins-1.4.6.tar.gz
cd nagios-plugins-1.4.6

  • 编译安装nagios plugins

./configura
make
make install

  • 改变安装目录和文件的用户和组属性

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec

c.安装NRPE

tar -zxvf nrpe-2.8.tar.gz

  • 编译NRPE
    ./configure
    make all
    注意事项: 在ubuntu下面安装时,需要先确认安装了openssl libssl0.9.8 libssl-dev  
  • 安装NRPE插件、进程程序和案例进程

make install-plugin
make install-daemon
make install-daemon-config

  • 安装NRPE到xinet服务中

make install-xinetd

  • 编辑/etc/xinetd.d/nrpe 将nagios的服务器ip添加进去

only_from= 127.0.0.1

  • 将NRPE进程端口加到/etc/services中

nrpe  5666/tcp

  • 重新启动xinetd服务

service xinetd restart
d. 测试NRPE是否正常

  • 确认nrpe是否在xinetd下运行

netstat -at |grep nrpe
如果反馈的是以下信息,则表示运行正常。
tcp        0      0 *:nrpe                  *:*                     LISTEN
没有出现以上信息,则从下面找问题


    • 确认/etc/services中是否添加nrpe的端口描述
    • 在/etc/xinetd.d/nrpe文件中的only_from参数是否包含了"127.0.0.1"
    • 确认xinetd.d是否安装和启动
    • 查看系统日志中涉及xinetd或nrpe的问题,进行修正


  • 确认NRPE进程是否正常运行,利用check_nrpe来做检测,执行指令如下:

/usr/local/nagios/libexec/check_nrpe -H localhost
正常反馈信息为 NRPE v2.8
e.客制化NRPE指令
编辑/usr/local/nagios/etc/nrpe.cfg
在最后的COMMAND部分已经定义了部分监测的指令,你可以根据实际情况进行添加修改参数。
同时,可以用以下指令检测nrpe调用nagios插件是否正常
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
f.监控服务器设置

  • 需要完成内容包括

    • 安装check_nrpe 插件
    • 创建一个Nagios使用check_nrpe插件的指令定义
    • 创佳监控远程主机的Nagios主机和服务定义

  • 安装check_nrpe插件步骤

安装ssl的包
apt-get install libssl-dev
下载nrpe源码包
解压缩该包 tar -zxvf nrpe-2.*.tar.gz
cd nrpe-2.*
./configure
make all
安装check_nrpe程序到/usr/local/nagiso/libexec/
make install-plugin   

  • 测试与被监控主机的nrpe程序的通信状况

先编辑被监控主机的/etc/xinetd.d/nrpe中的only_from的参数为监控服务器的ip
重新启动xinetd的服务 service xinetd restart
在监控服务器上,运行 /usr/local/nagios/libexec/check_nrpe -H 被监控主机IP
正常反馈信息如下:
NRPE  v2.8
如果有问题,用telnet IP地址 5666检测一下。如果被直接connection closed,则需要查看一下防火墙的规则和被监测主机的nrpe的进程

  • 创建command定义

编辑/usr/local/nagios/etc/objects/commands.cfg增加以下配置信息
define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

  • 定义主机和服务设定

先建立一个模板用于之后的主机监控的继承设定(在/usr/local/nagios/etc/objects/templates.cfg已经有添加了这个模板规则,只是notification_period不一样而已,关于这个的解释也非常有意思可以自己看看)
define host{
     name linux-server ; 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
}
编辑/usr/local/nagios/etc/objects/localhost.cfg(也可以自己创建文件,只要在nagios.cfg中添加对应配置)
增加被监控的主机对象
define host{
        use             linux-server
        host_name       web-server                      ;nrpe check host
        alias               ubuntu server (WWW)
        address         192.168.200.244
        }
增加监控远程服务器的服务对象
define service{
        use                     generic-service
        host_name               web-server
        service_description     CPU Load
        check_command           check_nrpe!check_load
        }
define service{
        use                     generic-service
        host_name               web-server
        service_description     Current Users
        check_command           check_nrpe!check_users
        }
#磁盘监控需要确认自己的硬盘是hda 还是sda,nrpe安装的默认配置是check_hda1,所以需要你手动修改被监控服务器的/usr/local/nagios/etc/nrpe.cfg,将hda修改为sda。并重新启动xinetd服务
define service{
        use                     generic-service
        host_name               web-server
        service_description     /dev/sda1 Free Space
        check_command           check_nrpe!check_sda1
        }
define service{
        use                     generic-service
        host_name               web-server
        service_description     Total Processes
        check_command           check_nrpe!check_total_procs
}
define service{
        use                     generic-service
        host_name               web-server
        service_description     Zombie Processes
        check_command           check_nrpe!check_zombie_procs
}
配置完成后,运行/etc/init.d/nagios checkconfig  或
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 检测nagios配置是否正确。
没有问题,重新启动nagios服务,则可以通过网页来查看监控结果了。

4.自定义监控服务
由于前面的服务是nrpe主机上的默认建立的样例规则。如果手动建立服务监控需要做以下操作

  • 在nrpe.cfg上建立监控服务指令和参数
  • 在nagios服务器上建立对应的服务定义

a.被监控主机的配置内容
在/usr/local/nagios/libexec下,有很多监控插件。在写入nrpe.cfg前,先用指令测试这个插件和参数所产生的结果是否符合要求
例如 /usr/local/nagios/libexec/check_swap -w 20% -c 10%  ‘监控swap的使用状况
编辑/usr/local/nagios/etc/nrpe.cfg
添加一行   command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
然后重新启动xinetd服务
b.Nagios服务的配置内容
编辑/usr/local/nagios/etc/objects/localhost.cfg
添加以下内容
service{
use                               generic_service
hostname                     web_server
service_description      swap status
check_command            check_nrpe!check_swap
}
然后重新启动nagios服务,这个新的监控服务就完成创建了。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15315/showart_1959353.html
  发表评论 查看评论(共有条评论) 我要提问
 
 


最新资讯更多>> 
· 谷歌劝说诺基亚采用Android操作..
· Apache 基金会确认退出 JCP 执..
· Chrome 10 新功能探秘:新增GP..
· 金山宣布开源其安全软件
· 女黑客在开源会议上抱受骚扰
· 21款值得关注的Linux游戏
· 马化腾:腾讯半年后彻底转型,..
· [多图] Chrome OS 预发布版本多..
· Lubuntu 11.04 默认应用抢先一览
· Red Hat宣布收购云计算软件提供..
论坛热点更多>> 
· do_execve时候用户栈中参数的..
· swapinfo -atm 问题
· Linux 的优点简述
· VM虚拟机上得Red Hat Linux上..
· 我看成了上海男人喜欢女人毛..
· 校车展览,看了你就知道
· 在遇到他之前,唯一需要做的..
· GRUB的疑问
· 从来没有人真正付足书价——..
· 云存储 vs 网盘
文档更新更多>> 
· orcale queue
· 谁可以推荐几本经典的操作系统的..
· 【北京】某物联网公司招云计算应..
· 【北京】某物联网公司招云计算应..
· 谁能推荐几本关于操作系统的书
· 如何添加网络接口eth1
· 葡萄牙语入门教材的选取与经验分享
· 葡萄牙语就业前景分析
· 葡萄牙语学习经验交流
· Щ
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2009 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证:060528号