×

微信扫一扫,快捷登录!

标签: 暂无标签
本帖最后由 monicazhang 于 2015-12-9 16:03 编辑

来自:网络
Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint。它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows 、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等。一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知。Nagios 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人员的使用。同时提供一个可选的基于浏览器的 Web 界面,方便管理人员查看系统的运行状态,网络状态、服务状态、日志信息,以及其他异常现象。
Nagios 结构说明
Nagios 结构上来说, 可分为核心和插件两个部分。Nagios 的核心部分只提供了很少的监控功能,因此要搭建一个完善的 IT 监控管理系统,用户还需要在 Nagios 服务器安装相应的插件,插件可以从 Nagios 官方网站下载 http://www. /,也可以根据实际要求自己编写所需的插件。 nagios安装
Nagios 可实现的功能特性


  • 监控网络服务(SMTP、POP3、HTTP、FTP、PING 等);开源监控软件
  • 监控本机及远程主机资源(CPU 负荷、磁盘利用率、进程 等);
  • 允许用户编写自己的插件来监控特定的服务,方便地扩展自己服务的检测方法,支持多种开发语言(Shell、Perl、Python、PHP 等)
  • 具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;
  • 当服务或主机问题产生与解决时将告警发送给联系人(通过 EMail、短信、用户定义方式);nagios配置
  • 可以支持并实现对主机的冗余监控;
  • 可用 WEB 界面用于查看当前的网络状态、通知和故障历史、日志文件等;
Nagios 监控实现原理
Nagios 软件需安装在一台独立的服务器上运行,这台服务器称为监控中心,监控中心服务器可以采用 Linux 或 Unix 操作系统;每一台被监视的硬件主机或服务都运行一个与监控中心服务器进行通信的 Nagios 软件后台程序,也可以理解为 Agent 或插件均可。监控中心服务器读取配置文件中的指令与远程的守护程序进行通信,并且指示远程的守护程序进行必要的检查。虽然 Nagios 软件必须在 Linux 或 Unix 操作系统上运行,但是远程被监控的机器可以是任何能够与其进行通信的主机,根据远程主机返回的应答,Naigos 将依据配置进行回应;接着 Nagios 将通过本地的机器进行测试,如果检测返回值不正确,Nagios 将通过一种或多种方式报警;具体原理如下图所示:         监控软件
[  /wyfs02/M00/22/D9/wKioL1MpTFOg8imBAACBd1P3Hm8554.jpg][/url]
图 1. Nagios 监控原理图
Nagios 安装与配置


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



    # wget redhat/el6/en/x86_64/RPMS.dag/\ rpmforge-release-0.3.6-1.el6.rf.x86_64.rpm # rpm --import [  /rpm/packages/RPM-GPG-KEY.dag.txt]rpm/packages/RPM-GPG-KEY.dag.txt[/url]
  • # 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. 创建用户和组                nagios实施



    #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 文件最后面即可。
[  /wyfs02/M00/22/D9/wKioL1MpTQLSCLjbAABPqsyEP4E878.jpg][/url]
图 2. Nagios 访问控制设置
(3)设置用户访问控制


  • # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
设置权限且重启 Apache
清单 5. 权限设定与启动服务              
nagios培训



    #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 [  /sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz]so ... ugins-1.4.14.tar.gz[/url] # 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 目录下可以看到很多的外部插件执行文件,如下图:
[  /wyfs02/M02/22/D9/wKioL1MpTZqg3brDAACMedLDKuE236.jpg][/url]
图 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 Zabbix,Cacti,iTop各种交流的,可以进入开源监控工具Nagios交流  QQ群号 476809427




上一篇:Cacti通过怎样方式监控Nginx运行状态
下一篇:Nagios 监控系统架构设计攻略大全(2)
monicazhang

写了 2297 篇文章,拥有财富 12859,被 21 人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

Powered by IT 运维管理
返回顶部