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. ChemDraw 15出现安装异常如何处理

    化学绘图软件ChemDraw最近更新了,更新后的是2015版本,ChemDraw Professional 15是其中组件之一.一些用户朋友在使用ChemDraw 15的过程中由于对软件的不了解往往会 ...

  2. ubuntu环境初始化

    0. 在Ubuntu系统中永久修改主机名也比较简单.主机名存放在/etc/hostname文件中,修改主机名时,编辑hostname文件,在文件中输入新的主机名并保存该文件即可 1.打开termini ...

  3. Centos7配置外部网络访问

    Centos7配置外部网络访问 一.安装步骤中的重要配置: 默认是动态ip配置,有需要可以改成静配置 BOOTPROTO="static" 二.如果不能联网,按照如下步骤设置网络: ...

  4. 如何用 JavaScript 控制 Arduino?

    Arduino 运行 C 语言,而主控端运行 JavaScript,一次要编写和维护两种程序.既然浏览器和服务器都用 JavaScript,若 Arduino 也能用 JavaScript 控制,那岂 ...

  5. Maven + Jetty 部署锁文件解决办法

    用Maven + Jetty 在Eclipse环境启动后,改静态文件的时候出现如下提示 就表示文件被锁住了. 解决办法如下: <plugin> <groupId>org.ecl ...

  6. android菜鸟学习笔记27----Fragment的简单使用

    1.Fragment的生命周期: 简单在新建一个MyFragment继承自Fragment,重写各个生命周期回调方法,各个方法中直接输出标识相关函数被调用的信息. 重写MainActivity的各个生 ...

  7. 浅谈Spring框架注解的用法分析

    原文出处: locality 1.@Component是Spring定义的一个通用注解,可以注解任何bean. 2.@Scope定义bean的作用域,其默认作用域是”singleton”,除此之外还有 ...

  8. RabbitMQ指南之三:发布/订阅模式(Publish/Subscribe)

    在上一章中,我们创建了一个工作队列,工作队列模式的设想是每一条消息只会被转发给一个消费者.本章将会讲解完全不一样的场景: 我们会把一个消息转发给多个消费者,这种模式称之为发布-订阅模式. 为了阐述这个 ...

  9. C#反射 程序域

    1:加载dll到当前应用程序域: public static void LoadAllAssembly(string bindir) //bindir是dll所在的完整路径 { List<Ass ...

  10. 类加载器(ClassLoader)

    1. 类加载器概述 1.1 类加载器的作用 把 .class 文件加载到 JVM 的方法区中,变成一个 Class 对象! 1.2 类加载器分类 类加载器也是一个类: ClassLoader; Jav ...