Nagios 工作原理

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

  NMS(网络管理平台)它会给管理员提供一个命令行接口,可以发送SNMP的操作指令到任何一个被监控主机,被监控端怎么才能接受监控端所发来的指令,而且能够理解它的指令呢?在被监控主机上要安装一个服务器进程,这个服务器进程只是用来接收来自于监控端的查询请求,并且能够解析对方的查询请求,并把对方请求的数据返回给对方。这个服务进程叫做Agent,一个远端代理,这个代理只是为了接收我们的查询指令或者其它的管理指令的而存在的,NMS向对方的Agent发送指令以后。Agent通过在本地执行一些操作来获取数据,并且将获取的结果返回给监控端。例如:磁盘空间,当前服务流量等。

但是任何一个人都向我们被监控端发送指令请求获取我们的数据,那么我们的隐密性九没了,所以为了避免这种情况,引入了一种简单的认证机制(comminuty)社区的名字就是双方通信的密码。NMS端向被监控主机发送我就是cominuty:XXX,被监控端如果认可:XXX,就把数据返回过去。

SNMP  v1版本中有3种comminuty模式: read-only,read-write,trap

read-only:管理端只能向被管理端发起获取信息的请求,也就是只能从被管理端读信息的

read-write:管理端可以向被管理端发送控制指令,也就是管理端有权限去操作被管理端。例如:让其shutdown

trap:被监控端能主动的去联系监控端的,告诉其这里有问题。

SNMP是基于UDP协议的Agent(被监控端被动打开udp:161端口),NMS(监控端被动打开udp:162端口)

SNMP基于udp协议主要是速度快,tcp协议可靠,但是需要三次握手,如果被监控端报警急需要处理,三次握手之后被监控端已经down机了。

Linux上关于sbmp的软件包有两个

net-snmp 【snmp的Agent被监控端所用】

net-snmp-util 【监控端所要用的命令集合】

注意:对于被监控端而言,只需要这一个包net-snmp。对于监控端而言,正常情况下如果只是为了获取信息,无论是get/set,使用这一个包就行了net-snmp-utils,但是如果说我们要接收被监控端通过trap发过来的通知信息的话,那么我们的监控端就必须要装上net-snmp这个包,并启用/etc/rc.d/init.d/snmptrapd 这个服务。

Nagios 工作原理的更多相关文章

  1. Nagios工作原理

    图解Nagios的工作原理 Nagios的主动模式和被动模式 被动模式:就如同上图所显示的那样,客户端起nrpe进程,服务端通过check_nrpe插件向客户端发送命令,客户端根据服务端的指示来调用相 ...

  2. zabbix监控的基础概念、工作原理及架构

    一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题.是一个基于WE ...

  3. zabbix监控的基础概念、工作原理及架构(一)

    zabbix监控的基础概念.工作原理及架构 转载于网络 一.什么是zabbix及优缺点 Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的 ...

  4. cacti,zabbix,nagios各自原理及区别

    cacti,zabbix,nagios各自原理及区别 Taxing祥 0人评论 19462人阅读 2017-09-24 00:23:54   cacti原理: 1,构件(步骤): net_snmp:负 ...

  5. puppet工作原理及部署redis主从篇

    一.简介 1.国际惯例什么是puppet puppet是一种Linux.Unix.windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统 ...

  6. 菜鸟学Struts2——Struts工作原理

    在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中 ...

  7. 【夯实Nginx基础】Nginx工作原理和优化、漏洞

    本文地址 原文地址 本文提纲: 1.  Nginx的模块与工作原理    2.  Nginx的进程模型    3 . NginxFastCGI运行原理        3.1 什么是 FastCGI   ...

  8. HashMap的工作原理

    HashMap的工作原理   HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间 ...

  9. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)

    RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

随机推荐

  1. python 反射机制 ( 广泛应用于URL参数)

    web实例 考虑有这么一个场景,根据用户输入的url的不同,调用不同的函数,实现不同的操作,也就是一个url路由器的功能,这在web框架里是核心部件之一.下面有一个精简版的示例: 首先,有一个comm ...

  2. HDU 3080 The plan of city rebuild(除点最小生成树)

    题意  一个城市原来有l个村庄 e1条道路  又添加了n个村庄 e2条道路  后来后销毁了m个村庄  与m相连的道路也销毁了  求使全部未销毁村庄相互连通最小花费  不能连通输出what a pity ...

  3. ECharts:企业报表工具

    ECharts.纯Javascript图表库,基于Canvas,底层依赖ZRender.商业产品经常使用图表库,提供直观,生动.可交互,可个性化定制的数据可视化图表.创新的拖拽重计算.数据视图.值域漫 ...

  4. NewtonSoft.Json NULL转空字符串

    from:http://www.cnblogs.com/hetuan/articles/4565702.html NewtonSoft.Json对需要转为JSON字符串的对象的NULL值以及DBNul ...

  5. 输入一个十进制数N,将它转换成R进制数输出(运用递归实现)

    #include<stdio.h> int cnt=0;                             //用来记录每个进制存放的位置 char num[20];   //用来存 ...

  6. 定位frame中的元素

    场景 处理frame需要用到2个方法,分别是switch_to_frame(name_or_id_or_frame_element)和switch_to_default_content() 如何理解这 ...

  7. 【BZOJ3239】Discrete Logging BSGS

    [BZOJ3239]Discrete Logging Description Given a prime P, 2 <= P < 231, an integer B, 2 <= B ...

  8. Git使fork项目与源项目保持一致方法

    Github上经常干的一件事情是看到好的项目,总会fork到自己的项目列表里,但是源项目如果更新了,怎么同步到我们自己的fork项目呢? 操作如下: 先clone自己的fork项目到本地工程目录, g ...

  9. springboot之修改内置tomcat配置项

    1.spring boot默认端口号是8080,如果要修改端口的话,只需要修改application.properties文件,在其中加入 例如: server.port=8081 2.在正常的项目中 ...

  10. RHEVM 相关介绍

    基础概念: RHEV-H RHEVH(Redhat Enterprise Virtuallization Hypervisor),它是运行虚拟机所需的最低操作系统.RHEVH由作为RHEL(Redha ...