Zabbix监控案例(七)SNMP监控

Zabbix监控案例(七)SNMP监控

SNMP 协议介绍

  1. SNMP是英文“Simple Network Management Protocol” 的缩写,中文意思是“简单网络管理协议, SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议, SNMP主要用于网络设备的管理。
  2. SNMP的基本思想:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。
  3. SNMP协议是TCP/IP协议簇的一个应用层协议,在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为一个短期的网络管理解决方案,由于SNMP的简单性,在Internet时代得到了蓬勃的发展, 1992年发布了SNMPv2版本,以增强SNMPv1的安全性和功能, SNMP的协议版本目前有SNMP v1、 SNMP v2c和SNMP v3三种版本,其具体差别如下:
  4. SNMP v1采用团体名(Community Name) 认证,团体名用来定义SNMP NMS和SNMP Agent的关系,如果SNMP报文携带的团体名没有得到设备的认可,该报文将被丢弃, 团体名起到了类似于密码的作用,用来限制SNMP NMS对SNMP Agent的访问。
  5. SNMP v2c也采用团体名认证,它在兼容SNMP v1的同时又扩充了SNMP v1的功能,它提供了更多的操作类型(GetBulk和InformRequest) 、 支持更多的数据类型( Counter64等)、提供了更丰富的错误代码且能够更细致地区分错误。
  6. SNMP v3提供了基于用户的安全模型( USM, User-Based Security Model)的认证机制,用户可以设置认证和加密功能,认证用于验证报文发送方的合法性,避免非法用户的访问,加密则是对NMS和Agent之间的传输报文进行加密,以免被窃听。通过有无认证和有无加密等功能组合,可以为SNMP NMS和SNMP Agent之间的通信提供更高的安全性。

SNMP 工作机制

  1. SNMP的工作机制SNMP网络元素分为NMS和Agent两种:
  2. NMS(Network Management Station,网络管理站)是运行SNMP客户端程序的工作站,能够提供非常友好的人机交互界面,方便网络管理员完成绝大多数的网络管理工作。
  3. Agent是驻留在设备上的一个进程,负责接收、处理来自NMS的请求报文。在一些紧急情况下,如接口状态发生改变等, Agent也会主动通知NMS。
  4. NMS是SNMP网络的管理者, Agent是SNMP网络的被管理者。 NMS和Agent之间通过SNMP协议来交互管理信息

SNMP 数据交互

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

SNMP MIB
所谓(MIB)管理信息库, 就是所有代理进程包含的、并且能够被管理进程进行查询和设置的信息的集合。 MIB是基于对象标识树的,对象标识是一个整数序列,中间以"."分割,这些整数构成一个树型结构,类似于DNS或Unix的文件系统,MIB被划分为若干个组,如system、 interfaces、 nat(地址转换)和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。

SNMP OID
在这里插入图片描述

如何测试OID:

snmpwalk是SNMP的一个工具,它使用SNMP的GET请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。通过snmpwalk也可以查看支持SNMP协议(可网管)的设备的一些其他信息,比如cisco交换机或路由器IP地址、内存使用率等,也可用来协助开发SNMP功能。
要使用snmpwalk需要先按照net-snmp软件包中。

# yum -y install net-snmp-utils

# snmpwalk -h
USAGE: snmpwalk [OPTIONS] AGENT [OID]
– h:显示帮助。
– v:指定snmp的版本, 1或者2c或者3。
– c:指定连接设备SNMP密码。
– V:显示当前snmpwalk命令行版本。
– r:指定重试次数,默认为0次。
– t:指定每次请求的等待超时时间,单为秒,默认为3秒。
– l:指定安全级别: noAuthNoPriv|authNoPriv|authPriv。
– a:验证协议: MD5|SHA。只有-l指定为authNoPriv或authPriv时才需要。
– A:验证字符串。只有-l指定为authNoPriv或authPriv时才需要。
– x:加密协议: DES。只有-l指定为authPriv时才需要。
– X:加密字符串。只有-l指定为authPriv时才需要。

Centos服务器安装配置SNMP:

使用linux模拟交换机/路由器

  1. 安装snmp(ubuntu包名:snmpd)
yum install -y net-snmp

报这个错,PID:4091在运行中,所以,把4091kill了就可以了
在这里插入图片描述

kill 4091
  1. 配置snmp
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 从未完成组的授权

在这里插入图片描述

  1. 重启服务
systemctl restart snmpd
  1. 安装snmpwalk命令
yum install net-snmp-utils
  1. 测试能否通过SNMOP采集数据:
    命令格式
snmpwalk -v <版本> -c <群组名> <IP> <OID>
# snmpwalk -v 2c -c 123456 192.168.99.110 .1.3.6.1.4.1.2021.10.1.3.1
UCD-SNMP-MIB::laLoad.1 = STRING: 0.00
# snmpwalk -v 2c -c 123456 192.168.99.110 .1.3.6.1.4.1.2021.4.3.0
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 2097148 kB

修改SNMP模板

在这里插入图片描述

  1. 宏-继承模板的宏,修改{$SNMP_COMMUNITY}这个值
    在这里插入图片描述

  2. 添加主机
    在这里插入图片描述
    关联模板
    在这里插入图片描述

  3. 默认更新时间太长了,可以改短一点
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. SNMP亮了
    在这里插入图片描述

  2. 测试可以把所有的发现规则更新时间改短
    在这里插入图片描述

  3. 查看是否有数据产生
    在这里插入图片描述

发布了254 篇原创文章 · 获赞 346 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_42758707/article/details/101349155