nagios二次开发(四)---nagios监控原理和nagios架构简介

摘要:
Nagios监控原理:1.Nagios使用nsca进行被动监控。简单的理解是,nagios根据检测周期主动获取远程主机的数据。现在让我们简单介绍一下nagios的cgi:1.cgi是用c语言编写的,是一组独立于nagios的程序。它不受nagios的影响。
nagios监控原理

nagios二次开发(四)---nagios监控原理和nagios架构简介第1张

下面根据上面摘自网络的原理图对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二次开发(四)---nagios监控原理和nagios架构简介第2张

 以下对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架构简介》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇小米手环4NFC版更换个性表盘分享EEPROM类库的使用---断电不丢失的存储芯片下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

openresty开发系列1--网关API架构及选型

    微服务架构在项目中的应用越来越多,我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 Rest Api 风格的接口来被 H5, Android, IOS 以及第三方应用程序调用。但是在UI上进行展示的时候,我们通常需要...

Dataset利用xsd读取xml,数值类型处理及验证

应该会有很多场景需要从xml文件读取数据,填充一个dataset。机器上没装数据库,个人觉得最好简便方法就是定义一个xml文件,模拟数据。默认,xml在datatable中的值都是字符串类型(Excel中输入数字,就知道是数值型)。如果需要dataset在调用readxml方法的时候,把是什么类型(比如xml中本意是整型,时间类型)自动转换成什么类型方便,...

可能是你见过的最完善的微前端解决方案

前言 目前社区有很多关于微前端架构的介绍,但大多停留在概念介绍的阶段。而本文会就某一个具体的类型场景,着重介绍微前端架构可以带来什么价值以及具体实践过程中需要关注的技术决策,并辅以具体代码,从而能真正意义上帮助你构建一个生产可用的微前端架构系统。 而对于微前端的概念感兴趣或不熟悉的同学,可以通过搜索引擎来获取更多信息,如 知乎上的相关内容,本文不再做过多介...

MikroTik RouterOS安装方法收集(转)

注意:ROS无法使用U盘安装,如果要使用ISO文件进行安装就必须使用光驱以及刻录成光盘,并且只能使用IDE的光驱。 一、首先了解常见的ROS硬件架构: X86架构(也是最常用的) mipsbe(欧米tik、部分RB系列、SXT、Groove等) mipsle(RBC系列、RB100、RB500系列等) pocketPC(PPC、RB1000就是这个架构的...

基于Filebeat+Kafka+Flink仿天猫双11实时交易额

1. 写在前面 在大数据实时计算方向,天猫双11的实时交易额是最具权威性的,当然技术架构也是相当复杂的,不是本篇博客的简单实现,因为天猫双11的数据是多维度多系统,实时粒度更微小的。当然在技术的总体架构上是相近的,主要的组件都是用到大数据实时计算组件Flink(当然阿里是用了基于Flink深度定制和优化改装的Blink)。下图是天猫双11实时交易额的大体架...

SOA之(1)——SOA架构基础概念

在深入探讨什么是面向服务的架构(SOA)之前,先建立一些基本的概念和术语的基本描述而非严格定义,所以也许有些定义在业内还存留争议,此处暂且忽略。 架构基础 技术架构(Technology Architecture)——某物的基础物理设计(The fundamental of physical design of something) 技术基础设施(...