您的位置:首页 > 移动开发 > IOS开发

nagios

2016-07-31 16:13 344 查看
构建一个智能的运维监控平台,必须以运行监控和故障报警这两个方面为重点,将所有业务系统中所涉及的网络资源、硬件资源、软件资源、数据库资源等纳入统一的运维监控平台中,并通过消除管理软件的差别,数据采集手段的差别,对各种不同的数据来源实现统一管理、统一规范、统一处理、统一展现、统一用户登录、统一权限控制,最终实现运维规范化、自动化、智能化的大运维管理。

************************************ nagios 各目录作用 *************************************





************************************ nagios /etc下各目录文件的作用 *****************************



Nagios 在验证配置文件方面做的非常到位,只需通过一个命令即可完成:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


*************************************** NRPE *************************************************
Nagios 通过NRPE 来远端管理服务1. Nagios 执行安装在它里面的check_nrpe 插件,并告诉check_nrpe 去检测哪些服务。2. 通过SSL,check_nrpe 连接远端机子上的NRPE daemon3. NRPE 运行本地的各种插件去检测本地的服务和状态(check_disk,..etc)4. 最后,NRPE 把检测的结果传给主机端的check_nrpe,check_nrpe 再把结果送到Nagios状态队列中。5. Nagios 依次读取队列中的信息,再把结果显示出来。
*************************************** pnpnagios *************************************************pnp4nagios一个基于php和perl,用rrdtool将nagios采集的数据绘制图表的工具,以可视化图形的方式呈现给用户的一款nagios插件
图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios)

****************************hard && soft *********************************
max_check_attempts 这个参数决定了当一次探测结果为"非OK"时,nagios会重复探测的次数。(例如,当max_check_attempts=1的时候,若探测结果非"非OK"的值,那么立刻就会生成告警信息,若max_check_attempts=3时,第一次探测为“非OK”nagios还会进行两次探测,若都为“非OK”,那么才生成告警信息)
retry_interval 如上,当max_check_attempts 不等于1时,若检测结果为“非OK”那么nagios会继续检测,retry_interval参数就规定了在max_check_attempts 所规定次数内,前后两次检测的间隔时间(默认单位为分钟)
check_interval 这个参数决定多长时间进行一次完整的检测(从max_check_attemps的第一检查开始),默认单位为分钟

概念了解
soft state :当下面的情况出现时,我们可以认为nagios处于soft state状态
当一个服务或者一台主机的检查结果处于“非OK”或者“非UP”状态,但是对这个服务的检查还没有达到 max_check_attempts 这个指令所规定的次数的时候,这时我们称这个结果为soft error
当一个服务或者一台主机从一个soft error状态恢复为OK ,我们称这个行为为soft recover
当soft error发生或者soft recover事件发生时,nagios会做如下事情
记录soft state
事件处理程序被执行,用来处理soft state ,至于什么是事件处理程序(event handlers),这里不做讨论,请参见其他文档。

hard state :当下面的情况出现时,我们可以认为nagios处于hard state状态
当一个服务或者一台主机,已经执行了max_check_attempts 指令所规定次数的检查,结果为“非OK”或者“非UP”状态,这个状态被称为hard error state
当一台主机或者一个服务状态有一个hard error state 变为另一个error state(例如从WARNING的hard error state变为CRITICAL)
当一个服务处于“非OK”的状态,而相应的主机状态为‘DOWN’或者‘UNREACHABLE’的
当一个服务或者一台主机从一个hard error date中恢复为OK or UP ,这个动作叫做hard recovery
如果开启了passive check功能,当一个passive check的检测结果被nagios收到,这也是一种hard state的情况,除非 passive_host_checks_are_soft 指令被打开(此时默认passive_check收到结果都为soft state状态)

当hard state出现时,nagios会做如下动作
记录hard state状态
实践处理程序被执行
对联系人发送通知

被监控的服务最终到底返回什么状态(status)值,取决于下面两个因素
服务器或者主机的状态监测值(OK,WARNING,UP,DOWN.....)
服务或主机的state type(hard state;soft state)

*************************************** RRDtool *************************************************RRDtool是一套可以把數據畫成圖表的程式,以時間為x軸、流量為y軸,而且可以動態更新圖表的程式,
RRDtool運作的大概流程︰

步驟一︰建立RRD檔,這個檔說來說去就是RRDtool的「專屬」資料庫啦!RRDtool以自有的格式存放流量

資料,下面會有比較詳細的說明。

步驟二︰「抓取資料」個人覺得是整個RRDtool最困難的一部分,因為RRDtool的資料是要靠自己弄出來

,不若MRTG內建抓資料功能,但是卻因為如此,可以「餵」給RRDtool畫圖的資料彈性也比較大,例如︰

snmp查詢結果、系統狀態、網頁中特定數字統計..等等。

步驟三︰抓下來的資料就用「rrdtool update」的指令更新步驟更新的RRD檔的內容,讓圖表能畫出最新

的流量。

步驟四︰這就是重點啦!透過「rrdtool graph」的指令來依據RRD檔的資料繪圖,這也是使用者唯一看

的到的東西,若規劃的不好會影響使用者閱讀上的困難!

迴圈︰由於要達成動態繪圖的圖表,第二步驟到第四步驟必須不斷的重複執行以維持資料的更新,目前

知道要達成迴圈的方法有兩種︰1、在Script中使用迴圈;2、使用cron這個排班程式做排班。

http://www.blogjava.net/ruoyoux/articles/257138.html
MRTG 能够通过 cfgmaker 和 indexmaker 快速建立配置文件和HTML页面RRDtool 在这两方面都需要自己动手。数据的采集→插入数据→提取数据→绘图→建立 HTML ,这些步骤都是需要你自己动手的 RRDtool 所使用的数据库文件的后缀名是 ‘.rrd’。总结RRDtool 和 MRTG 的不同之处A) MRTG 是采用配置文件的方式来监控的; RRDtool 则没有配置文件一说。所有操作都是通过命令(也可以写成script方式)执行B) MRTG 有自动采集数据的功能(通过 snmp); RRDtool 没有,需要手工或者通过 shell/perl 脚本来获取数据C) MRTG 每次运行都会更新图片和日志; RRDtool 默认知识接收数据,并不会绘图,除非手工执行 graph 命令D) MRTG 采用明文的 log 方式存放历史数据; RRDtool 采用数据库的方式来存放数据;
E) MRTG 无法回放日志数据,因为 MRTG 会对日志进行合并; RRDtool 采用 RRA 的概念,把不同统计周期的数据单独存放,所以可以做到历史数据的回放功能F) MRTG 的 log 中每种周期的记录的数量是自动维护的; RRDtool 的 RRA 中的记录数是可以自定义的。
G) MRTG 中数据的统计时间间隔是固定的,例如 5分钟平均,30分钟平均,2小时平均,1天平均; RRDtool 可以任意设置(试过1分钟一次)
H) MRTG 一张图只能显示2个对象;
RRDtool 可以显示多个。
I) MRTG 的数据类型只有 COUNTER 和 GAUGE 两种;
RRDtool 有5种,COUNTER、GAUGE、DERIVE、ABSOLUTE、COMPUTE
J) MRTG 的图表只能显示当前值、最大值、平均值;
RRDtool 可以显示当前值(LAST)、初值(FIRST)、最大值(MAX)、最小值(MIN)、平均值(AVG)、总和(TOTAL)等
K) MRTG 绘图方式只有 AREA、LINE 方式;
RRDtool 则有 AREA、LINE(1|2|3)、STACK 方式;
L) MRTG 负责搜集、存储、绘图、建档(HTML);
RRDtool 只负责存储、绘图这两个阶段,所以需要自己建立 HTML 文件
M) MRTG 的运算功能较差;
RRDtool 可以通过 CDEF 对取出来的数据进行算术和逻辑运算;
N)MRTG 只能原原本本的显示数据;
RRDtool 可以对数据进行处理,或者有条件的显示;

所谓抖动,是指状态在一定时间内变化过于频繁。如果某个对象处于抖动状态,那么这时候的状态变化也是无意义的。Nagios通过统计状态变化的频度,与用户配置的阈值比对,来判定是进入还是退出抖动状态。













介绍nagios很赞的一篇博客 :http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html
介绍NSCA(被动监控)很赞的一篇博文:http://www.cszhi.com/20120527/nagios-nsca.html
介绍nagios soft和hard不错的博文:http://www.yunweipai.com/archives/3001.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nagios rrdtool PNP