Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 监控 > Nagios > 正文

CentOS下Nagios监控系统架设全攻略

时间:2016-05-27 00:17 来源:网络整理 作者:51ou.com 阅读:

CentOS下Nagios监控系统架设全攻略

时间:2014-03-22 01:26来源:51cto.com 作者: 罗 俊 举报 点击:次

Nagios 是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows 、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等。 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人员的使用。

Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint。它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows 、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等。一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知。Nagios 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人员的使用。同时提供一个可选的基于浏览器的 Web 界面,方便管理人员查看系统的运行状态,网络状态、服务状态、日志信息,以及其他异常现象。

Nagios 结构说明

Nagios 结构上来说, 可分为核心和插件两个部分。Nagios 的核心部分只提供了很少的监控功能,因此要搭建一个完善的 IT 监控管理系统,用户还需要在 Nagios 服务器安装相应的插件,插件可以从 Nagios 官方网站下载 ,也可以根据实际要求自己编写所需的插件。

Nagios 可实现的功能特性

  • 监控网络服务(SMTP、POP3、HTTP、FTP、PING 等);
  • 监控本机及远程主机资源(CPU 负荷、磁盘利用率、进程 等);
  • 允许用户编写自己的插件来监控特定的服务,方便地扩展自己服务的检测方法,支持多种开发语言(Shell、Perl、Python、PHP 等)
  • 具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;
  • 当服务或主机问题产生与解决时将告警发送给联系人(通过 EMail、短信、用户定义方式);
  • 可以支持并实现对主机的冗余监控;
  • 可用 WEB 界面用于查看当前的网络状态、通知和故障历史、日志文件等;
  • Nagios 监控实现原理

    Nagios 软件需安装在一台独立的服务器上运行,这台服务器称为监控中心,监控中心服务器可以采用 Linux 或 Unix 操作系统;每一台被监视的硬件主机或服务都运行一个与监控中心服务器进行通信的 Nagios 软件后台程序,也可以理解为 Agent 或插件均可。监控中心服务器读取配置文件中的指令与远程的守护程序进行通信,并且指示远程的守护程序进行必要的检查。虽然 Nagios 软件必须在 Linux 或 Unix 操作系统上运行,但是远程被监控的机器可以是任何能够与其进行通信的主机,根据远程主机返回的应答,Naigos 将依据配置进行回应;接着 Nagios 将通过本地的机器进行测试,如果检测返回值不正确,Nagios 将通过一种或多种方式报警;具体原理如下图所示:

    CentOS下Nagios监控系统架设全攻略

    图 1. Nagios 监控原理图

    Nagios 安装与配置

  • Nagios 安装
  • 安装前的准备工作

    清单 1. Nagios 安装前准备操作

  • # wget \ 
  • rpmforge-release-0.3.6-1.el6.rf.x86_64.rpm 
  • # rpm --import  
  • # rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86.rpm 
  • 安装相关软件包

    清单 2. 安装软件包

  • #yum install gd fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD \ 
  • openssl-devel php mailx postfix cpp gcc gcc-c++ libstdc++ glib2-devel  
  • libtoul-ltdl-devel 
  • 创建用户和组

    清单 3. 创建用户和组

  • #groupadd -g 6000 nagios 
  • #groupadd -g 6001 nagcmd 
  • #useradd -u 6000 -g nagios -G nagcmd -d /home/nagios -c "Nagios Admin" nagios 
  • 编译安装 Nagios

    清单 4. 编译安装 Nagios

  • # tar xzfv nagios-3.2.0.tar.gz 
  • # cd nagios-3.2.0 
  • # ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios \ 
  • --with-nagios-group=nagios --with-command-user=nagios 
  • --with-command-group=nagcmd --enable-event-broker --enable-nanosleep  
  • --enable-embedded-perl --with-perlcache     
  • #make all            
  • #make install         
  • #make install-init      
  • #make install-commandmode   
  • #make install-webconf    
  • #make install-config   
  • 安装与配置 Apache

    由于 Nagios 提供了 Web 监控界面,可通过 Web 界面的方式可以清晰地看到被监控的主机和资源的运行状态等,因此安装需要安装 Apache 服务。 同时配置 Web 监控界面是需要 PHP 模块的支持,这里均选用当前系统自带软件包即可,也可通过源码包编译安装。

    (1)安装 Apache 和 php

  • #yum install httpd php* 
  • (2)配置 Apache

    在 Apache 配置文件件/etc/httpd/conf/httpd.conf 中找到:

  • DirectoryIndex index.html index.html.var 
  • 将其修改为:

  • DirectoryIndex index.html index.php 
  • 再在 Apache 配置文件下增加如下内容:

  • AddType application/x-httpd-php .php 
  • 以上两处主要用于增加 php 格式的支持。同时为了安全,需要经过授权才能访问 Nagios 的 Web 监控界面,所以需要在配置文件/etc/httpd/conf/http.conf 或 /etc/httpd/conf.d/nagios.conf 增加访问控制配置,若定义在 httpd.conf 文件中,将下图的语句加入到 httpd.conf 文件最后面即可。

    CentOS下Nagios监控系统架设全攻略

    图 2. Nagios 访问控制设置

    (3)设置用户访问控制

  • # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 
  • 设置权限且重启 Apache

    清单 5. 权限设定与启动服务

  • #chown nagios:nagcmd /usr/local/nagios/etc/htpasswd.users 
  • # usermod -a -G nagios,nagcmd apache 
  • # /etc/init.d/httpd restart  
  • 安装 Postfix 邮件服务

    Nagios 监控平台支持邮件报警功能,所以需要安装邮件服务。这里采用互联网比较主流的 MTA —Postfix. 也可根据自己的生产环境去定义, 如: Sendmail、Qmail 等。由于 Nagios 只用到了 Postfix 的邮件发送功能,所以这里不需要对 Postfix 邮件服务作过多配置,安装 Postfix 套件,启动服务并在下次服务器重启自动加载即可。具体如下命令:

    清单 6. Postifx 安装与配置

  • #yum install postifx 
  • #chkconfig postfix on; /etc/init.d/postfix restart 
  • 安装 Nagios 插件

    Naigos 提供的各种监控功能基本上是通过插件来完成的,而 Nagios 的核心指提供了很少的功能,因此安装插件是非常有必要的。Nagios 官网提供了很多不同版块的插件应用,同时插件版本与 Nagios 版本也没有什么关联,如果支持汉化功能,则需要找到与之匹配的汉化软件包,否则会导致部分功能不能完成运行,这里保持默认英文,如下面的安装细节:

    清单 7. Nagios 插件安装

  • # wget  
  • # tar xzf nagios-plugins-1.4.14.tar.gz  
  • # cd nagios-plugins-1.4.14 
  • # ./configure --with-nagios-user=nagios --with-nagios-group=nagios  \ 
  • --with-command-user=nagios --with-command-group=nagcmd \  
  • --prefix=/usr/local/nagios 
  • # make all 
  • # make install 
  • # chmod 755 /usr/local/nagios 
  • 这样 Nagios 的插件就安装完成了,通过查看 Nagios 主程序目录,/usr/local/nagios/linexec 目录下可以看到很多的外部插件执行文件,如下图:

    CentOS下Nagios监控系统架设全攻略

    图 3. Nagios 插件脚本示例

  • 重启 Nagios 服务
  • 清单 8. Nagios 与 Apache 服务启动与设定

  • #/etc/init.d/nagios restart 
  • #/etc/init.d/httpd restart 
  • #chkconfig httpd on; chkconfig naigos on 
  • 禁用 Selinux 和 iptables
  • Selinux 和 Iptables 是 Linux 系统提供的安全防护机制,主要用来防护 Linux 系统下的服务或应用程序不受外界安全攻击等。一般企业考虑到 Nagios 监控平台的安全可靠性,都会采用硬件的防火墙或其他安全设备来对服务器进行防护。同时此部分不是此平台描述的重点, 这里就不作过多的阐述。

     

    Nagios 监控平台访问

    到目前为之 Nagios 基本安装成功,若要投入生产环境,还需要安装其他相应的插件及配置,否则是无法提供相应的监控等功能。 通过浏览器,在地址栏输入: , 输入用户名及密码即可访问 Naigos 登录界面。

    CentOS下Nagios监控系统架设全攻略

    图 4. Nagios 登录界面

  • Nagios 配置
  • Nagios 目录与相关配置文件说明

    Nagios 安装完成后,/usr/local/nagios/目录下会生成 nagios 相关目录及配置文件,默认的的配置文件在/usr/local/nagios/etc 目录下。关于详细的描述,见下表:

    表 1. Nagios 相关目录的名称及用途

    CentOS下Nagios监控系统架设全攻略

    表 2. 配置文件的作用概述

    CentOS下Nagios监控系统架设全攻略

    Nagios 配置文件间的关联

    Nagios 的配置过程涉及几个定义有:主机、主机组、服务、服务组、联系人、联系人组、监控时间和监控命令等,从这些定义可以看出,Nagios 的各个配置文件之间是互为关联、彼此引用的。成功配置一台 Nagios 监控系统,需要掌握每个配置文件之间依赖与被依赖的关系,可从下面四个步骤来入手,第一步:定义哪些主机、主机组、服务和服务组,第二步:要定义这个监控要通过什么命令实现,第三步:要定义监控的时间段,第四步:要定义主机或服务出现问题时要通知的联系人和 联系人组;强烈建议依据以上顺序对 Nagios 系统进行相关配置。

  • Nagios 配置设定
  • 感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《CentOS下Nagios监控系统架设全攻略》技术文章,《CentOS下Nagios监控系统架设全攻略》详细使用和说明,有时《CentOS下Nagios监控系统架设全攻略》可能不完善、敬请谅解!如果《CentOS下Nagios监控系统架设全攻略》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    验证码:点击我更换图片