你好,游客 登录 注册 搜索
背景:
阅读新闻

在RHEL5.3上配置基本的Nagios系统(使用Nagios-3.1.2)

[日期:2011-07-06] 来源:Linux社区  作者:Linux [字体: ]
一、安装配置Nagios

1、Nagios简介

Nagios是一款遵循GPLv2的开源网络监控软件,可用来监控指定的多种系统的主机、服务,并可在它们的工作状态发生变化时通知管理员。它的特性包括:
1)监控网络服务(HTTP、POP3、SMTP、PING、MySQL等)
2)监控主机资源(磁盘空间利用率、内存利用率、CPU负载等)
3)简洁的插件设计接口,使得用户可以轻松开发所需的检测脚本
4)并行服务模式
5)轻松描述网络结构,并且能够区辨“宕机”和“主机不可达”
6)通过邮件或用户自定义的方式将主机或服务的工作状态变化情况通知给管理员
7)自动日志滚动
8)支持以冗余方式进行主机监控
9)可以通过web方式直观的查看当前网络状态、通知和问题历史、日志文件等等,此组件为可选

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产生的数据存入数据库,以实现这些数据的快速检索和处理。这四个ADDON(附件)中,NRPE和NSClient++工作于客户端,NDOUtils工作于服务器端,而NSCA则需要同时安装在服务器端和客户端。

下图是笔者根据自己的理解给出的Nagios各组件的关系图,希望能帮助读者理解。如果您对此构图中的关系持有异议,欢迎通过各种方式跟笔者交流。


目前,Nagios只能安装在Linux系统主机上,其编译需要用到gcc。同时,如果打算使用web界面的管理工具的话,还需要有apache服务器和GD图形库的支持。

2、安装前的准备工作

(1)解决安装Nagios的依赖关系:

Nagios基本组件的运行依赖于httpd、gcc和gd。可以通过以下命令来检查nagios所依赖的rpm包是否已经完全安装:
# rpm -q httpd gcc glibc glibc-common gd gd-devel

对于缺少的rpm包,您可以挂载光盘直接使用rpm命令进行安装。如果不想总是被rpm的依赖关系所困扰,您可以通过yum结合本地源来实现rpm包的管理。对于本地源的建立,可以参考笔者的另外一篇关于yum的文章。

说明:以上软件包您也可以通过编译源代码的方式安装,只是后面许多要用到的相关文件的路径等需要按照您的源代码安装时的配置逐一修改。


(2)添加nagios运行所需要的用户和组:

# groupadd nagcmd
# useradd -m nagios
# usermod -a -G nagcmd nagios

把apache加入到nagcmd组,以便于在通过web Interface操作nagios时能够具有足够的权限:
# usermod -a -G nagcmd apache

3、编译安装nagios:

# tar zxf nagios-3.1.2.tar.gz 
# cd nagios-3.1.2
# ./configure --with-command-group=nagcmd
# make all
# make install
# make install-init
# make install-config
# make install-commandmode

为email指定您想用来接收nagios警告信息的邮件地址,默认是本机的nagios用户:
# vi /usr/local/nagios/etc/objects/contacts.cfg 
email        nagios@localhost       #这个是默认设置

在httpd的配置文件目录(conf.d)中创建Nagios的Web程序配置文件:
# make install-webconf

创建一个登录nagios web程序的用户,这个用户帐号在以后通过web登录nagios认证时所用:
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

以上过程配置结束以后需要重新启动httpd:
# service httpd restart

4、编译、安装nagios-plugins

nagios的所有监控工作都是通过插件完成的,因此,在启动nagios之前还需要为其安装官方提供的插件。

# tar zxf nagios-plugins-1.4.13.tar.gz 
# cd nagios-plugins-1.4.13
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install

5、配置并启动Nagios

(1)把nagios添加为系统服务并将之加入到自动启动服务队列:
# chkconfig --add nagios
# chkconfig nagios on

(2)检查其主配置文件的语法是否正确:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

(3)如果上面的语法检查没有问题,接下来就可以正式启动nagios服务了:
# service nagios start

(4)配置selinux
如果您的系统开启了selinux服务,则默认为拒绝nagios web cgi程序的运行。您可以通过下面的命令来检查您的系统是否开启了selinux:
#getenforce

如果上面命令的结果显示开启了selinux服务,您可以通过下面的命令暂时性的将其关闭:
#setenforce 0

如果您想在以后完全关闭selinux,可以通过编辑/etc/sysconfig/selinux文件,将其中的selinux后面的值“force”修改为“disable”即可。

当然,您也可以通过以下方式将nagios的CGI程序运行于SELinux/targeted模式而不用关闭selinux:
# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin
# chcon -R -t httpd_sys_content_t /usr/local/nagios/share

(5)通过web界面查看nagios:
http://your_nagios_IP/nagios

登录时需要指定前面设定的web认证帐号和密码。

注意:为了nagios系统的安全,建议您使用信息摘要强认证模式(如MD5),强制使用web的TSL/SSL安全通讯模式,并且通过访问控制列表设定能访问nagios的web界面的客户端地址。

二、Nagios的插件简介

Nagios本身并不包含任何监控机制,其所有的监控工作都是通过插件(plugin)来实现的。这些插件通常是通过命令行方式监控主机或服务工作状态的Perl脚本或Shell脚本(通常于/usr/local/nagios/libexec目录),由Nagios进行按需调用,并把执行结果返回给NagiosNagios正是根据这些返回值来判断是否“采取某种行动”(如运行事件句柄(event handlers),发送通知等)。下图展示了插件相对于Nagios进程和被监控对象间的关系。


官方提供了一些用来监控系统基本资源(如CPU负载、磁盘利用率、Ping速率等)的插件。如果需要监控其它形式资源(如CPU电压、CPU风扇转速、网络流量等)的状态,您可以利用官方提供的其它插件或第三方提供的插件,当然,您也可以自己编写所需要的插件。

以下是常用来获得插件的地址:

Nagios插件项目:http://nagiosplug.sourceforge.net/
Nagios下载页面:http://www.nagios.org/download/
NagiosExchange.orghttp://www.nagiosexchange.org/

官方提供的插件通常都会提供简单的使用帮助,可以在每个脚本后使用“-h”或“--help”来获得这些帮助信息。如要想了解插件脚本check_nt的帮助信息,可以使用如下命令:

# ./check_nt  --help

linux
相关资讯       RHEL  Nagios 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款