设为首页 收藏本站
查看: 1160|回复: 0

Nagios 监控系统架设全攻略(一)

[复制链接]

尚未签到

发表于 2015-9-8 10:37:58 | 显示全部楼层 |阅读模式
  最近一段时间在研究Nagios监控系统,然后网上搜索查看很多的资料,借鉴与各位大虾的经验,整理记录一下自己安装记录。
  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.org/,也可以根据实际要求自己编写所需的插件。


  
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 将通过一种或多种方式报警;具体原理如下图所示:

图 1. Nagios 监控原理图
DSC0000.jpg



Nagios 安装


  • 安装前的准备工作



# wget ftp://rpmfind.net/linux/dag/redhat/el7/en/x86_64/dag/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# rpm -Uvh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

  • 安装相关软件包



#yum install gd libjpeg-devel gd-devel perl* openssl-devel gcc gcc-c++ httpd php

  • 创建用户和组



[iyunv@Learn ~]# groupadd -g 6000 nagios
[iyunv@Learn ~]# groupadd -g 6001 nagcmd
[iyunv@Learn ~]# useradd -u 6000 -g nagios -G nagcmd -d /home/nagios nagios

  • 编译安装 Nagios



[iyunv@Learn opt]# mkdir /usr/local/nagios
[iyunv@Learn opt]# tar zxvf nagios-4.0.8.tar.gz
[iyunv@Learn opt]# cd nagios-4.0.8
[iyunv@Learn nagios-4.0.8]# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagcmd
DSC0001.png



[iyunv@Learn nagios-4.0.8]# make all
[iyunv@Learn nagios-4.0.8]# make install
[iyunv@Learn nagios-4.0.8]# make install-init
[iyunv@Learn nagios-4.0.8]# make install-commandmode
[iyunv@Learn nagios-4.0.8]# make install-config
[iyunv@Learn nagios-4.0.8]# make install-webconf

  • Apache 配置



[iyunv@Learn nagios-4.0.8]# vim /etc/httpd/conf/httpd.conf


DirectoryIndex index.html index.html.var
改为:
DirectoryIndex index.html index.php


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



ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.user
//用于此目录访问身份验证的文件
Require valid-user
</Directory>
Alias /nagios /usr/local/nagios/share
<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.user
//用于此目录访问身份验证的文件
Require valid-user
</Directory>

  • 设置用户访问控制



[iyunv@Learn nagios-4.0.8]# htpasswd -c /usr/local/nagios/etc/htpasswd.user nagiosadmin  //Enter之后,输入设置一个密码


  • 权限设定与启动服务



[iyunv@Learn ~]# chown nagios.nagcmd /usr/local/nagios/etc/htpasswd.user
[iyunv@Learn ~]# usermod -a -G nagios,nagcmd apache
[iyunv@Learn ~]# /etc/init.d/httpd restart

  •   安装 Nagios 插件

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



[iyunv@Learn opt]# tar zxvf nagios-plugins-2.0.3.tar.gz
[iyunv@Learn opt]# cd nagios-plugins-2.0.3
[iyunv@Learn nagios-plugins-2.0.3]# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagcmd
[iyunv@Learn nagios-plugins-2.0.3]# make all
[iyunv@Learn nagios-plugins-2.0.3]# make install
[iyunv@Learn nagios-plugins-2.0.3]# chmod 755 /usr/local/nagios

  这样 Nagios 的插件就安装完成了,通过查看 Nagios 主程序目录,/usr/local/nagios/linexec 目录下可以看到很多的外部插件执行文件,如下图:
   DSC0002.png
  


  • Nagios 与 Apache 服务启动与设定



[iyunv@Learn ~]# /etc/init.d/httpd restart
[iyunv@Learn ~]# /etc/init.d/nagios restart
[iyunv@Learn ~]# chkconfig nagios on
[iyunv@Learn ~]# chkconfig httpd on

  • 禁用 Selinux 和 iptables



[iyunv@Learn ~]#  setenforce 0    //临时关闭
//或者修改/etc/selinux/config文件,将 SELINUX=enforcing 改为 SELINUX=disabled    重启机器OK


[iyunv@Learn ~]# /etc/init.d/iptables stop    //关闭iptables

[iyunv@Learn ~]# service iptables stop
[iyunv@Learn ~]# chkconfig iptables off    //永久关闭,重启生效.


  • Nagios 监控平台访问

  通过浏览器,在地址栏输入: http://IPAddress/nagios, 输入用户名及密码即可访问 Naigos 登录界面。
DSC0003.png
DSC0004.png
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-110974-1-1.html 上篇帖子: mysql与nagios的结合使用 下篇帖子: 普通用户Mysql 5.6.13 主从,主主及nagios的mysql slave监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表