nagios二次开发(四)---nagios监控原理和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架构简介的更多相关文章
- nagios二次开发(一)---开发思想
NAGIOS现状 从nagios的官网http://www.nagios.org/及其它已经公开的资料,我们可以知道:在web UI层nagios只提供了给我们查看图形界面的操作,界面上有简单的启 ...
- nagios二次开发(二)---nagios和nagiosql合并与取舍
NAGIOS做前台 上一篇本人分析了nagios和nagiosql的优缺点,根据之前的使用经验及探索.决定将nagios做为监控数据的展示层,暂称做“前台”.将nagiosql做为监控体的配置层,暂称 ...
- 企业级监控平台开发之nagios二次开发(七)
背景: A公司里有很多服务器(>3000台),每台服务器都有不同的用途,如DB Server.WEB Server.ESXI等,每个组使用其中的一批,每个组可能有多个服务器管理员.现在问题出来了 ...
- nagios二次开发(五)---nagios和nagiosql的关系
根据对nagios和nagiosql的了解,笔者简要的将二者的关系粗略的梳理了一下,具体情况如下图所示: 从上面的关系图中可以看出,nagios与nagiosql共享了主机.主机组.服务.服务组等.c ...
- nagios二次开发(五岁以下儿童)---nagios和nagiosql关系
基于nagios和nagiosql理解.这将是这两个梳理比较粗糙的简单关系,有关详细信息,请参阅下面的图如: 从上面的关系图中能够看出,nagios与nagiosql共享了主机.主机组.服务 ...
- nagios二次开发(三)---nagiosql架构简介
NAGIOSQL数据库结构简介 个人觉得如果了解一个系统的架构,应该先从数据库着手,因为数据库是灵魂,当然前提是这个系统用到了数据库.刚才说到了架构,其实我还真不知架构到底是个什么东东,也不知第一句话 ...
- nagios二次开发(六)---nagiosql原理及主要文件的介绍
nagiosql的入口文件:index.php,这也是所有php程序的入口文件.是由apache指定的. index.php 文件的开始引入了 require("functions/prep ...
- Sentry 监控 - Snuba 数据中台架构简介(Kafka+Clickhouse)
系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...
- Spark- Spark内核架构原理和Spark架构深度剖析
Spark内核架构原理 1.Driver 选spark节点之一,提交我们编写的spark程序,开启一个Driver进程,执行我们的Application应用程序,也就是我们自己编写的代码.Driver ...
随机推荐
- 基于Three.js的360X180度全景图预览插件
基于Three.js的360X180度全景图预览插件 时间 2015-08-12 10:01:10 HTML5中国 原文 http://www.html5cn.org/article-8621-1 ...
- ASP.NET在IIS7.5(IIS7)配置伪静态
http://jingyan.baidu.com/article/67508eb4ff92c69cca1ce49a.html 我相信不少站长都遇到个头疼的问题..NET如何在IIS7或者IIS7.5下 ...
- AJAX怎么用POST 传参数
//注册回调函数.注意注册回调函数是不能加括号,加了会把函数的值返回给onreadystatechange xmlhttp.onreadystatechange = callback; //设置连接信 ...
- HBase 常用Shell命令
两个月前使用过hbase,现在最基本的命令都淡忘了,留一个备查~ 进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使 ...
- docker使用阿里云Docker镜像库加速
官方镜像下载实在是慢,于是开通了阿里云开发者帐号, 官方帮助 阿里云Docker镜像库 阿里云容器Hub服务:http://dev.aliyun.com/search.html 来自云端的容器Hub服 ...
- JNI相关知识
JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? |- 首先,Java语言 ...
- Spring注解学习
参考链接 http://blog.csdn.net/xyh820/article/details/7303330/
- Windows 7 添加MBR文件启动
bcdedit /create /d "Solaris" /application bootsector后会出现标识符如{26224d85-dbcc-11e4-86a8-e164d ...
- Linux安装MySql.Data for mono
wget http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-6.8.3-noinstall.zipunzip m ...
- 学习FFmpeg API
ffmpeg是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料.可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快 ...