zabbix 监控案例之 SNMP监控

一、SNMP v1、v2、v3

SNMP v1采用团体名(Community Name)认证,团体名用来定义SNMP NMS和SNMP Agent的关系,如果SNMP报文携 带的团体名没有得到设备的认可,该报文将被丢弃,团体名起到了类似于密码的作用,用来限制SNMP NMS对SNMP Agent的访问。
SNMP v2c也采用团体名认证,它在兼容SNMP v1的同时又扩充了SNMP v1的功能,它提供了更多的操作类型(批量获取 GetBulk和通知请求InformRequest)、支持更多的数据类型(Counter64等)、提供了更丰富的错误代码且能够更细 致地区分错误。
SNMP v3提供了基于用户的安全模型(USM,User-Based Security Model)的认证机制,用户可以设置认证和加密 功能,认证用于验证报文发送方的合法性,避免非法用户的访问,加密则是对NMS和Agent之间的传输报文进行加密,以 免被窃听。通过有无认证和有无加密等功能组合,可以为SNMP NMS和SNMP Agent之间的通信提供更高的安全性。

二、组织结构

SNMP网络元素分为NMS和Agent两种。

NMS(Network Management Station,网络管理站)是运行SNMP客户端管理程序的工作站,能够提供非常友好的人机交互界面,方便网络管理员完成绝大多数的网络管理工作。

Agent是驻留在设备上的一个进程,负责接收、处理来自NMS的请求报文。在一些紧急情况下,如接口状态发生改变等, Agent也会主动通知NMS。

NMS是SNMP网络的管理者,Agent是SNMP网络的被管理者。NMS和Agent之间通过SNMP协议来交互管理信息。

三、SNMP数据交互

SNMP管理进程与代理进程之前为了交互信息,定义了5种报文:
get-request操作:从代理进程处提取一个或多个参数值。
get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的。
trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。
get-next-request操作:从代理进程处提取一个或多个参数的下一个参数值。
set-request操作:设置代理进程的一个或多个参数值。
在这里插入图片描述

四、SNMP组织结构

一套完整的SNMP系统主要包括以下几个方面:
SNMP报文协议。
管理信息结构(SMI, Structure of Management Information),一套公用的结构和表示符号。
管理信息库(MIB,Management Information Base),管理信息库包含所有代理进程的所有可被查询和修改的参数。
OID(Object Identifiers),一个OID是一个唯一的键值对,用于标识具体某一个设备的某个具体信息(对象标识), 如端口信息、设备名称等。

五、SNMP MIB

所谓(MIB)管理信息库,就是所有代理进程包含的、并且能够被管理进程进行查询和设置的信息的集合。MIB是基于对象标识树的,对象标识是一个整数序列,中间以"."分割,这些整数构成一个树型结构,类似于 DNS或Unix的文件系统,MIB被划分为若干个组,如system、 interfaces、 a t(地址转换)和ip组等。iso . org . dod . internet . private . enterprises(1.3 .6 .1.4.1)这个标识,是给厂家自定义而预留的,比如华为的为1.3.6.1.4.1.2011,华三的为1.3.6.1.4.1.25506。
在这里插入图片描述

六、Centos安装SNMP

#centos
yum install -y net-snmp
#Ubuntu
apt-get install snmpd

vim /etc/snmp/snmpd.conf
# sec.name source community 
com2sec notConfigUser default 123456 #第一步:设置团体认密码,默认为public 
group notConfigGroup v1 notConfigUser 
group notConfigGroup v2c notConfigUser #第二步:将团体名称notConfigUser 关联至 组notConfigGroup 

view systemview included .1.3.6.1.2.1.1 
view systemview included .1.3.6.1.2.1.25.1.1 #创建一个view,并对其授权可访问的OID范围
view systemview included .1. #自定义授权,否则zabbix server无法获取数据 

access notConfigGroup “” any noauth exact systemview none none #将组 notConfigGroup关联至systemview 从而完成对组的授权

systemctl restart snmpd

七、测试SNMP数据采集

snmpwalk -v 2c -c 123456 172.18.200.106 .1.3.6.1.4.1.2021.10.1.3.1 
UCD-SNMP-MIB::laLoad.1 = STRING: 0.00

snmpwalk -v 2c -c 123456 172.18.200.106 .1.3.6.1.4.1.2021.4.3.0 
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 1048572 kB

八、Centos SNMP OID

CPU 负载: 
1 minute Load: .1.3.6.1.4.1.2021.10.1.3.1 
5 minute Load: .1.3.6.1.4.1.2021.10.1.3.2 
15 minute Load: .1.3.6.1.4.1.2021.10.1.3.3 

内存使用: 
Total Swap Size: .1.3.6.1.4.1.2021.4.3.0 
Available Swap Space: .1.3.6.1.4.1.2021.4.4.0 
Total RAM in machine: .1.3.6.1.4.1.2021.4.5.0 Total RAM used: .1.3.6.1.4.1.2021.4.6.0 
Total RAM Free: .1.3.6.1.4.1.2021.4.11.0 Total RAM Shared: .1.3.6.1.4.1.2021.4.13.0 
Total RAM Buffered: .1.3.6.1.4.1.2021.4.14.0 
Total Cached Memory: .1.3.6.1.4.1.2021.4.15.0 

硬盘使用: 
Path where the disk is mounted: .1.3.6.1.4.1.2021.9.1.2.1 
Path of the device for the partition: .1.3.6.1.4.1.2021.9.1.3.1 
Total size of the disk/partion (kBytes): .1.3.6.1.4.1.2021.9.1.6.1 
Available space on the disk: .1.3.6.1.4.1.2021.9.1.7.1 
Used space on the disk: .1.3.6.1.4.1.2021.9.1.8.1 
Percentage of space used on disk: .1.3.6.1.4.1.2021.9.1.9.1 
Percentage of inodes used on disk: .1.3.6.1.4.1.2021.9.1.10.1 

系统信息: 
sysDescr 1.3.6.1.2.1.1.1 
sysObjectID 1.3.6.1.2.1.1.2 
sysUpTime 1.3.6.1.2.1.1.3 
sysContact 1.3.6.1.2.1.1.4 
sysName 1.3.6.1.2.1.1.5 

CPU 信息: 
percentage of user CPU time: .1.3.6.1.4.1.2021.11.9.0 
raw user cpu time: .1.3.6.1.4.1.2021.11.50.0 
percentages of system CPU time: .1.3.6.1.4.1.2021.11.10.0 
raw system cpu time: .1.3.6.1.4.1.2021.11.52.0 
percentages of idle CPU time: .1.3.6.1.4.1.2021.11.11.0 
raw idle cpu time: .1.3.6.1.4.1.2021.11.53.0 
raw nice cpu time: .1.3.6.1.4.1.2021.11.51.0

九、添加SNMP监控主机

在这里插入图片描述

十、关联SNMP模板

在这里插入图片描述

十一、验证主机当前状态

在这里插入图片描述

十二、验证SNMP监控数据

在这里插入图片描述

来源url
栏目