Ⅰ 常用的监控协议有哪些
一、监控系统
1、监控系统概念
监控系统应用在监控硬件、软件和业务上,并及时获取相应的数据并分析保存数据,发送报警通知管理者,并自动做出相应的处理,通过接口展示以利于运维人员分析,保证业务的正常运行。
2、运维监控系统具备以下几个模块:
采样:从被监控主机上周期性地获取某个关注指标相关的数据,常见获取数据通道有:ssh/telnet、agent、IPMI、SNMP、JMX等等
存储:用于存储被监控主机采样的数据和分析的数据,利于调用和分析,常用的有mysql、mariadb等数据库
数据:分析被监控主机采样数据,计算出历史数据、趋势数据、速率、最大最小值等等。
展示:将被监控主机的数据通过图表方式展现出来,利于观察比对,常见的展示接口有:webGUI、GUI、APP等等。
报警:当被监控主机发生异常时,系统用于通知相关人员的报警媒介。常用的报警媒介有:邮件、短信、微信或通过脚本实施。
3、被监控对象: 主机、服务器、交换机、路由器、ups等
nms:网络监控主机NMS是移动通信网中的网络管理系统,它的管理对象可以包括网络中所有的实体,如:网络设备、应用程序、服务器系统、路由器、交换机、HUB、辅助设备(如UPS电源)等,给网络系统管理员提供一个全系统的网络视图。
4、监控系统采取的数据通道
ssh/telnet:安全传输协议
agent方式:代理方式,由监控主机(master)和安装代理进程的被监控主机(agent)组成
ipmi:因特尔智慧平台,硬件监控接口
snmp:简单网络管理协议,版本有 v1,v2(community ,pulic)v3
JMX:java管理扩展
jvm:监控java虚拟机
5、储存系统
历史数据 :每次采样的结果。保存时长较短
趋势数据: 聚合数据,保存时长较长周期内的数据
存储系统:
关系型数据库: mysql pgsql oracle
rrd: roudrobin database
nosql:redis、mongo、时间序列数据库
二、常见的开源监控项目
1、cacti
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
2、nagios
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
cacti和nagios这两个功能上有所欠缺
3、ganglia
Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。
4、zebbix
功能齐备且好用
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux等多种平台上。
三、SNMP协议
1、SNMP概念
SNMP是基于TCP/IP协议族的网络管理标准,是一种在IP网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。SNMP能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长。网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题。
2、SNMP版本
SNMP主要有三个版本,SNMPv1,SNMPv2,SNMPv3。
SNMPv1是最初始的版本,实现简单,存在较多安全缺陷。
SNMPv2本质上与SNMPv1相同,只是在前一个版本功能上做了加强,并增加了getbulk操作,还增加了一些更加直观的错误响应
SNMPv3解决了两个版本在安全上的问题,采用了USM和VACM技术,增加了更强的认证机制。
目前使用最多的依然是SNMPv1版。有些厂家的IT设备中,还不支持SNMPv3
3、 术语
缩略语 -------------英文全称-------------- 中文解释
MIB ----Management Information Base ------管理信息库
NMS ------Network Managerment Station -------网络管理站
OID ------Object Identifier -------对象标识符
SNMP ------Simple Network Management Protocol-------- 简单网络管理协议
SMI -----Structure of Management Information ------管理信息机构
USM -----User-based Security Model -----基于用户的安全模型
VACM ------View-based Access Control Model ------基于视图的访问控制模型
PDU ------Protocol data unit -------协议数据单元
4、SNMP管理的网络主要由三部分组成:
被管理的设备
SNMP代理
网络管理系统(NMS)
网络结构
网络中被管理的每一个设备都存在一个管理信息库(MIB)用于收集并储存管理信息。通过SNMP协议,NMS能获取这些信息。被管理设备,又称为网络单元或网络节点,可以是支持SNMP协议的路由器、交换机、服务器或者主机等等。
SNMP代理是被管理设备上的一个网络管理软件模块,拥有本地设备的相关管理信息,并用于将它们转换成与SNMP兼容的格式,传递给NMS。
NMS运行应用程序来实现监控被管理设备的功能。另外,NMS还为网络管理提供大量的处理程序及必须的储存资源。
5、MIB管理信息库
IETF规定的管理信息库MIB(由中定义了可访问的网络设备及其属性,由对象识别符(OID:Object Identifier)唯一指定。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。下图给出了NMS系统中SNMP可访问网络设备的对象识别树(OID:Object Identifier)结构。
网络设备的对象识别树
对一个线路状态进行查询的OID设置例子