Nagios简介php
Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或者短信通知。python
Nagios原名为:NetSaint,由Ethan Galstad开发并维护至今。NAGIOS是一个缩写形式。Nagios被开发在Linux下使用。可是在Unix下也工做的很是好。ios
主要功能: c++
Nagios工做原理 web
Nagios的功能是监控服务和主机,可是他自身并不包括这部分功能,全部的监控,检测功能都是经过各类插件来完成的。shell
启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,全部插件返回来的 状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果经过Web显示出来。数据库
Nagios提供了许多插件,利用这些插件能够方便的监控不少服务状态。按章完成后,在Nagios主目录下的/libexec里放有Nagios自带的可使用的全部插件,如:check_disk是检查磁盘空间的插件,check_load是检查CPU负载的,等等。每个插件能够经过运行./check_xxx_ -h 来查看其使用方法和功能。apache
Nagios能够识别四种状态返回信息,即0(ok)表示状态正常/绿色,1(Warning)表示出现警告/黄色,2(Critical)表示出现严重错误/红色,3(Unknown)表示未知错误/深黄色。Nagios根据插件返回来的值,来判断监控对象的状态,并经过web显示出来,以供管理员及时发现故障。c#
再说报警功能,若是监控系统发现问题不能报警那就没有意义了,因此报警也是Nagios很重要的功能之一。可是,一样的,Nagios自身也没有报警部分 的代码,甚至没有插件,而是交给用户或者其余相关开源项目组去完成的。centos
Nagios安装,是指基本平台,也就是Nagios软件包的安装,它是监控体系的框架,也是全部监控的基础。
打开Nagios的官方文档,会发现Nagios基本上没有什么依赖包,只要求系统是Linux或者其余Nagios支持的系统。㘝若是你没有安装Apache(HTTP服务),那么你就没有那么直观的界面来查看监控信息了,因此Apache姑且算是一个前提条件。关于Apache的安装,网上有不少,安装完看看是否正常运行就能够了。
知道Nagios是如何经过插件来管理服务器对象后,如今开始研究它是如何管理远程服务器对象的。Nagios经过周期性的运行它来得到远端服务器的各类状态信息。他们之间的关系以下图所示:
NSCA:Nagios service check acceptor
NDOUtils:从一个或多个Nagios实例导出当前和历史数据到MySQL数据库。
Nagios经过NRPE来远程管理服务
1.Nagios执行安装在它里面的check_nrpe插件,并告诉check_nrpe去检测那些服务。 2.经过SSL,check_nrpe连接远端机子上的NRPE 的deamon 3.NRPE 运行本地的各类插件去检测本地的服务和状态(check...disk...etc) 4.最后,NRPE把检测的结果传给主机端的check_nrpe,check_nrpe再把结果送到Nagios状态队列中。 5.Nagios依次读物队列中的信息,再把结果显示出来。
host1.zyg.com Nagios-Server 192.168.5.101 Apache、Pho、Nagios、nagios-plugins
host2.zyg.com Nagios-Linux 192.168.5.102 nagios-plugin、nrpe
Server 安装了Nagios软件,对监控的数据作处理,而且提供web界面查看和管理。固然也能够对本机自身的信息进行监控。
Client 安装了NRPE等客户端,根据监控机的请求执行监控,而后将结果回传给监控机。
[root@localhost ~]# yum install -y wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp unzip openssl-devel [root@localhost ~]#
============================================================================================================================================== Package 架构 版本 源 大小 ============================================================================================================================================== 正在安装: gd-devel x86_64 2.0.35-26.el7 base 79 k httpd x86_64 2.4.6-80.el7.centos.1 updates 2.7 M net-snmp x86_64 1:5.7.2-33.el7_5.2 updates 330 k php x86_64 5.4.16-45.el7 base 1.4 M 为依赖而安装: httpd-tools x86_64 2.4.6-80.el7.centos.1 updates 90 k libXpm-devel x86_64 3.5.12-1.el7 base 36 k libjpeg-turbo-devel x86_64 1.2.90-5.el7 base 98 k libpng-devel x86_64 2:1.5.13-7.el7_2 base 122 k libzip x86_64 0.10.1-8.el7 base 48 k mailcap noarch 2.1.41-2.el7 base 31 k net-snmp-agent-libs x86_64 1:5.7.2-33.el7_5.2 updates 705 k php-cli x86_64 5.4.16-45.el7 base 2.7 M php-common x86_64 5.4.16-45.el7 base 565 k 事务概要 ============================================================================================================================================== 安装 4 软件包 (+9 依赖软件包)
添加一个测试帐户
[root@localhost ~]# useradd nagios [root@localhost ~]# groupadd nagcmd [root@localhost ~]# usermod -a -G nagcmd nagios [root@localhost ~]# usermod -a -G nagios,nagcmd apache [root@localhost ~]#
而后按照网上的方法进行安装便可,安装完以后能够经过web界面进行访问
。。。。
安装出现了一点问题,无法测试了。下边的内容基本都是一些理论内容,从各个文档摘抄的
Nagios主要用于监控一台或者多台本地主机及远程的各类信息,包括本机资源以及对外的服务等。默认的Nagios配置没有任何监控内容,仅仅是一些模板文件。若要让Nagio提供服务,就必需要修改配置文件。增长要监控的主机和服务。
配置文件之间的关系
在Nagios的配置过程当中涉及到的几个定义有:主机、主机组、服务、服务组、联系人、联系人组、监控时间、监控命令等,从这些定义能够看出,Nagios各个配置文件之间是互为关联,彼此引用的。
成功配置出一台Nagios监控系统,必需要弄清楚每一个配置文件之间依赖于被依赖的关系,最重要的有四点:
为了能更清楚的说明问题,同时也为了维护方便,建议将Nagios各个定义对象建立独立的配置文件:
配置文件的详细介绍。。。。
剩下的用到了再换个服务器测试。线上服务器不敢随便乱来。。。
有问题欢迎讨论。
。