snmp协议_prometheus监控snmp设备(一)

02dcb7aa0174f5125dcd186c1cc91052.png

这篇文章是使用prometheus监控snmap设备的第一篇,主要介绍snmp相关的概念和数据组织方式,如果已经熟悉可以跳过。

SNMP

SNMP(Simple Network Management Protocol)由IETF(Internet Engineer Task Force)在80年代开发,作为IP协议的一部分,但是随着时间的流逝,SNMP已成为监视网络连接设备的事实标准,当然snmp也提供了对各种设备进行远程管理的功能,但这里我们只关注监控。

SNMP由SNMP Manager和SNMP Agent组成。Agent安装在网络设备中,一般出厂默认就装好并启用了,Manager是用于查询Agent暴露的信息来确定设备状态是否正常的组件。

0bd4dbbda4d209808a6d9cc841e062e6.png

Manager与Agent交互的方式

GET     查询指定的OID信息
GETNEXT 查询下一个指定的OID信息
GETBULK 批量查询方法
SET     设置参数
TRAP    Agent主动上报设备event

SNMP版本

v1 这个是最初的版本,基本不用了

v2 目前主流的版本,改进性能、新加验证

v3 在加密和验证增强,提供了更强和更多的验证方式

MIB (Management Information Base)OID (Object Identifier)

f3ddee946902d19e2c88aef2062b79fc.png

OID是由ITU和ISO组织创建的用于数据国际标准化的系统。它不仅用于网络监控或SNMP,它还是用于各种数据的标准。例如Hl7,它与电子病历分类法或轻型目录访问协议(LDAP)协议属性和对象类有关。可以将其视为索引数据的国际标准。

MIB是驻留在SNMP管理器中的格式化文本文件,旨在收集信息并将其组织为分层格式。SNMP管理器使用来自MIB的信息来翻译和解释消息,然后再将其发送给最终用户。

简而言之,OID是规定好的用于唯一标识一个对象或者信息的id,表示形式就是.1.3.6.1.4.1.9这样的数字串,但这个不好读懂,MIB是按树结构存放了OID对应信息的数据库,可以实现OID到用户可读信息的转换。

OID示例

.1 - ISO assigned.
.1.3 - ISO identified organizations
.1.3.6 - The US Department of Defense
.1.3.6.1 - The Internet
.1.3.6.1.4.1 - IANA (Internet Assigned Numbers Authority) registered private enterprises.
.1.3.6.1.4.1.9 - Cisco Systems (They embraced SNMP pretty early as you can see by their low number)
.1.3.6.1.4.1.2636 - Juniper
.1.3.6.1.4.1.311 - Microsoft.
.1.3.6.1.2.1.1 - SNMP MIB2 System: Contains system description, contact information etc...

监控主要涉及以下OIDs

.1.3.6.1.2.1.2 - the IF-MIB, which contains a wide variety of network statistics information. Everything from number of Octets coming into an interface to a description of the interface. 
.1.3.6.1.2.1.25 - The Host-resources MIB, everything from disk utilization to CPU and Memory. 
.1.3.6.1.2.1.43 - The Printer MIB, which contains all general printer statistics.

参考

https://www.comparitech.com/net-admin/snmp-mibs-oids-explained/​www.comparitech.com Understanding SNMP, OID, and MIB and How They are Related​www.pei.com
5e65209e7690d6d13373bb4dda9ea5de.png
https://medium.com/@openmohan/snmp-monitoring-and-easing-it-with-prometheus-b157c0a42c0c​medium.com