zabbix-snmp监测

【zabbix-snmp监测】君不见长松卧壑困风霜,时来屹立扶明堂。这篇文章主要讲述zabbix-snmp监测相关的知识,希望能为你提供帮助。
SNMP 协议

SNMP是英文“Simple Network Management Protocol”的缩写,中文意思是“简单网络管理协议,
SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议,
SNMP主要用于网络设备的管理


SNMP的基本思想:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,
使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。通过网络,管理员可以管理位于不同物理
空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。

版本
SNMP协议是TCP/IP协议簇的一个应用层协议,在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为
一个短期的网络管理解决方案,由于SNMP的简单性,在Internet时代得到了蓬勃的发展,1992年发布了SNMPv2版本,
以增强SNMPv1的安全性和功能,SNMP的协议版本目前有SNMP v1、SNMP v2c和SNMP 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的工作机制
SNMP网络元素分为NMS和Agent两种
1)NMS(Network Management Station,网络管理站)是运行SNMP客户端程序的工作站,能够提供非常友好的人机
交互界面,方便网络管理员完成绝大多数的网络管理工作

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

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

SNMP 数据交互
SNMP管理进程与代理进程之间为了交互信息,定义了5种报文

1)get -request操作:从代理进程处提取一个或多个参数值。
2)get -next -request操作:从代理进程处提取一个或多个参数的下一个参数值。
3)set -request操作:设置代理进程的一个或多个参数值。
4)get -response操作:返回的一个或多个参数值。这个操作是由代理进程发出的。
5)trap 操作:代理进程主动发出的报文,通知管理进程有某些事情发生


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


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

安装
#ubuntu:
snmpd:snmp服务端软件
snmp:snmp客户端软件
snmp-mibs-downloader:用来下载更新本地mib库的软件
apt-getinstall snmpd

#centos
yum install net-snmp -y# 安装SNMP包


centos修改配置
vim /etc/snmp/snmpd.conf
----------------------------------------------------------------------------------
com2sec notConfigUserdefault 123456 #第一步:设置团体认证
group notConfigGroupv2c notConfigUser#第二步:将团体名称notConfigUser关联至组notConfigGroup
viewsystemonlyincluded.1.3.6.1.2.1.1
viewsystemonlyincluded.1.3.6.1.2.1.25.1
viewsystemonlyincluded.1.3.6.#创建一个view,并对其授权可访问的OID范围
access notConfigGroup“” any noauthexact systemviewnone none#将组notConfigGroup关联至systemview从未完成组的授权
----------------------------------------------------------------------------------

ubuntu修改配置
vim /etc/snmp/snmpd.conf
----------------------------------------------------------------------------------
#agentAddressudp:127.0.0.1:161
#Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161

viewsystemonlyincluded.1.3.6.1.2.1.1
viewsystemonlyincluded.1.3.6.1.2.1.25.1
viewsystemonlyincluded.1.3.6.#创建一个view,并对其授权可访问的OID范围

rocommunity 123456default-V systemonly
rocommunity6 123456default-V systemonly #rocommunity6 is for IPv6
----------------------------------------------------------------------------------

root@ubuntu:~# sudo netstat -antup | grep 161
udp00 0.0.0.0:1610.0.0.0:*4098/snmpd
udp600 ::1:161:::*4098/snmpd


测试能否通过SNMOP采集数据
systemctl restart snmpd
systemctl statussnmpd

root@ubuntu:~# snmpwalk -v 2c -c 123456 localhost 1.3.6.1.2.1.1.1
root@ubuntu:~# snmpwalk -v 2c -c 123456 localhost .1.3.6.1.4.1.2021.4.3.0
root@ubuntu:~# snmpwalk -v 2c -c 123456 localhost .1.3.6.1.4.1.2021.10.1.3.1


远程测试

模板修改密码


zabbix-web添加主机


?

    推荐阅读