nagios监控原理

下面根据上面摘自网络的原理图对nagios的监控原理进行一下简单的说明:

1.nagios通过nsca进行被动监控。那么什么是被动监控呢?被动监测:就是指由被监测的服务器主动上传数据到nagios监控系统中。这种监测方式提高了实时性(出现问题的时候,被监测的服务器可以及时上传数据通知nagios,从而使管理员可以尽快作出处理,而不用像主动监测中一样,非要等到下一个监测周期才能获知被监测服务器的状态)。NSCA就是可以实现Nagios被动监测的一个程序。目前所知道的,只能通过nsca插件对linux/unix服务器进行被动监控。对于windows服务器暂时没发现可用的插件。

2.nagios通过nrpe插件和snmp协议进行主动监控。至于什么是主动监控可以参考上面所述。简单理解决就是nagios按照检测周期主动的获取远程主机的数据。这样一来实时性就要差一些了。nagios通过nrpe插件和snmp协议实现了对linux/unix服务器进行监控,同时通过snmp协议实现了对windows服务器、交换机、打印机等的监控。另外,nagios通过NSClient++客户端也可以对windows进行监控,至于有什么好处,暂时还未测试过。

3.nagios目前完全依赖于对配置文件的读写进行监控数据的展示与配置。当然写的操作nagios是不提供的,这个需要手工通过脚本等进行配置。但是NDOMOD模块的出现解决了nagios无法将数据写入到数据库的问题。提供NDOMOD模块的插件为NDOUtils,NDOMOD模块需要加载到nagios的配置中,NDOUtils插件通过运行NOD2DB进程将nagios的配置文件(.cfg)和status.dat进行分析,并将分析的结果写到mysql数据库中,但是目前来看,这些数据是相当于放入了一个回收站备份一样,并没有实际的被大家用到。但是这个数据对于二次开发来说也算是至关重要的。

nagios架构 

以下对nagios架构进行下简要说明:

1. nagios deamon进程对nagios.cfg配置文件进行读取,nagios.cfg配置文件中放存着一系列配置文件的存放路径。具体如上图。

2. nagios deamon进程通过对nagios.cfg配置文件中所引用到的信息进行操作,在服务端执行plugin与被监控端的agent进行通讯获取监控结果和数据。

3.nagios deamon进程将监控结果写入status.dat文件中,status.dat文件相当于一个log或一个db。
4.cgi程序对status.dat文件中的监控结果进行分析并与读到.cfg配置中的数据进行匹配合并,最终显示在cgi处理结果中。

现在简单介绍下nagios的cgi:

1.cgi是用c语言编写的,是与nagios相独立的一套程序,它不受nagios的影响。

2.对于较早的对动态语言使用者来说cgi无疑是个好帮手,它可以动态的显示网页上的信息,实时性较高。并且它最强劲的一点是可以通过C去读取服务器底层的一些接口,这是其它语言办不到的。

3.经过翻阅一些国内的一些资料。目前来看国内对cgi的使用已经寥寥无几了,不知国外用的怎么样。

4.对cgi的修改还算很容易的。可以在原有的cgi的基础之上进行一些自定义的界面展示,当然笔者也只是很初级的水平。希望在cgi交流的朋友我们可以私下交流一翻。

以上就是笔者对nagios的架构的一些浅薄认识。因为笔者学艺不精,有疏漏之处请指教,我们共同进步。

请朋友们转载时注明出处,因为我是为了更好的方便大家来和我讨论。谢谢了。

意见及建议:ruberzhu@qq.com

nagios二次开发(四)---nagios监控原理和nagios架构简介的更多相关文章

  1. nagios二次开发(一)---开发思想

    NAGIOS现状   从nagios的官网http://www.nagios.org/及其它已经公开的资料,我们可以知道:在web UI层nagios只提供了给我们查看图形界面的操作,界面上有简单的启 ...

  2. nagios二次开发(二)---nagios和nagiosql合并与取舍

    NAGIOS做前台 上一篇本人分析了nagios和nagiosql的优缺点,根据之前的使用经验及探索.决定将nagios做为监控数据的展示层,暂称做“前台”.将nagiosql做为监控体的配置层,暂称 ...

  3. 企业级监控平台开发之nagios二次开发(七)

    背景: A公司里有很多服务器(>3000台),每台服务器都有不同的用途,如DB Server.WEB Server.ESXI等,每个组使用其中的一批,每个组可能有多个服务器管理员.现在问题出来了 ...

  4. nagios二次开发(五)---nagios和nagiosql的关系

    根据对nagios和nagiosql的了解,笔者简要的将二者的关系粗略的梳理了一下,具体情况如下图所示: 从上面的关系图中可以看出,nagios与nagiosql共享了主机.主机组.服务.服务组等.c ...

  5. nagios二次开发(五岁以下儿童)---nagios和nagiosql关系

    基于nagios和nagiosql理解.这将是这两个梳理比较粗糙的简单关系,有关详细信息,请参阅下面的图如:      从上面的关系图中能够看出,nagios与nagiosql共享了主机.主机组.服务 ...

  6. nagios二次开发(三)---nagiosql架构简介

    NAGIOSQL数据库结构简介 个人觉得如果了解一个系统的架构,应该先从数据库着手,因为数据库是灵魂,当然前提是这个系统用到了数据库.刚才说到了架构,其实我还真不知架构到底是个什么东东,也不知第一句话 ...

  7. nagios二次开发(六)---nagiosql原理及主要文件的介绍

    nagiosql的入口文件:index.php,这也是所有php程序的入口文件.是由apache指定的. index.php 文件的开始引入了 require("functions/prep ...

  8. Sentry 监控 - Snuba 数据中台架构简介(Kafka+Clickhouse)

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  9. Spark- Spark内核架构原理和Spark架构深度剖析

    Spark内核架构原理 1.Driver 选spark节点之一,提交我们编写的spark程序,开启一个Driver进程,执行我们的Application应用程序,也就是我们自己编写的代码.Driver ...

随机推荐

  1. 基于Three.js的360X180度全景图预览插件

    基于Three.js的360X180度全景图预览插件 时间 2015-08-12 10:01:10  HTML5中国 原文  http://www.html5cn.org/article-8621-1 ...

  2. ASP.NET在IIS7.5(IIS7)配置伪静态

    http://jingyan.baidu.com/article/67508eb4ff92c69cca1ce49a.html 我相信不少站长都遇到个头疼的问题..NET如何在IIS7或者IIS7.5下 ...

  3. AJAX怎么用POST 传参数

    //注册回调函数.注意注册回调函数是不能加括号,加了会把函数的值返回给onreadystatechange xmlhttp.onreadystatechange = callback; //设置连接信 ...

  4. HBase 常用Shell命令

    两个月前使用过hbase,现在最基本的命令都淡忘了,留一个备查~ 进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使 ...

  5. docker使用阿里云Docker镜像库加速

    官方镜像下载实在是慢,于是开通了阿里云开发者帐号, 官方帮助 阿里云Docker镜像库 阿里云容器Hub服务:http://dev.aliyun.com/search.html 来自云端的容器Hub服 ...

  6. JNI相关知识

    JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? |-  首先,Java语言 ...

  7. Spring注解学习

    参考链接 http://blog.csdn.net/xyh820/article/details/7303330/

  8. Windows 7 添加MBR文件启动

    bcdedit /create /d "Solaris" /application bootsector后会出现标识符如{26224d85-dbcc-11e4-86a8-e164d ...

  9. Linux安装MySql.Data for mono

    wget http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-6.8.3-noinstall.zipunzip m ...

  10. 学习FFmpeg API

    ffmpeg是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料.可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快 ...