SNMP 如何配置监控
SNMP (Simple Network Management Protocol) 是一个基于 TCP/IP 协议的网络设备交互的标准协议。该协议基于简单网关监视协议,利用 SNMP,一个管理工作站可以远程管理所有支持这种协议的设备,Cloud Insight 通过 SNMP 协议监测网络连接的设备,例如路由器,交换器,服务器和防火墙。下面是 SNMP 的几个关键组成部分。
SMI(Structure of Management Information):管理信息结构,用于定义通过 SNMP 可访问的对象的规则。
MIB(Management Information Base):管理信息库,SNMP 访问的管理对象数据库,MIB 给出了一个网络中所有可能的被管理对象的集合的数据结构。MIB 是一个树形结构,SNMP 协议消息通过遍历 MIB 树形目录中的节点来访问网络中的设备。
NMS:网络管理系统,又称管理站。是系统的控制台,向管理员提供界面以获取与改变设备的配置、信息、状态、操作等信息
下图为 NMS 系统中 SNMP 可访问网络设备的对象识别树 OID(Object Identifier)结构。
接下来说明如何监控具体指标,下面是 SNMP 配置文件:
init_config:
- mibs_folder: /path/to/your/additional/mibs
instances:
- ip_address: localhost
port: 161
community_string: public
tags:
- optional_tag1
- optional_tag2
metrics:
- MIB: UDP-MIB
symbol: udpInDatagrams
- OID: 1.3.6.1.2.1.6.5
name: tcpPassiveOpens
- MIB: IF-MIB
table: ifTable
symbols:
- ifInOctets
- ifOutOctets
metric_tags:
- tag: interface
column: ifDescr
Cloud Insight 探针支持 SNMP 传输2种方式的数据 Counters
和 Gauge
,配置网络设备指标遵循以下几种方式:
指定 MIB 节点并显示其代表符号:
metrics:
- MIB: UDP-MIB
symbol: udpInDatagrams
在 YAML 文件在直接指定 OID 以及想要显示的指标名称:
metrics:
- OID: 1.3.6.1.2.1.6.5
name: tcpPassiveOpens
指定你想提取信息的 MIB 和表:
metrics:
- MIB: IF-MIB
table: ifTable
symbols:
- ifInOctets
metric_tags:
- tag: interface
column: ifDescr
上面是收集所有表的行的信息以及收集指定 tag。通过 symbol 列表指定指标,通过收集 metric_tags 指定 tag。
上面例子中,探针会收集各个接口接受的8位字节的速率,并以接口名称打上 tag,例如 interface:eth0
。