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三种版本,其具体差别如下:
(1)SNMP v1采用团体名(Community Name)认证,团体名用来定义SNMP NMS和SNMP Agent的关系,如果SNMP报文携带的团体名没有得到设备的认可,该报文将被丢弃,团体名起到了类似于密码的作用,用来限制SNMP NMS对SNMP Agent的访问。
(2)SNMP v2c也采用团体名认证,它在兼容SNMP v1的同时又扩充了SNMP v1的功能,它提供了更多的操作类型(GetBulk和InformRequest)、支持更多的数据类型(Counter64等)、提供了更丰富的错误代码且能够更细致地区分错误。
(3)SNMP v3提供了基于用户的安全模型(USM,User-Based Security Model)的认证机制,用户可以设置认证和加密功能,认证用于验证报文发送方的合法性,避免非法用户的访问,加密则是对NMS和Agent之间的传输报文进行加密,以免被窃听。通过有无认证和有无加密等功能组合,可以为SNMP NMS和SNMP Agent之间的通信提供更高的安全性。
4、一套完整的SNMP系统主要包括以下几个方面:
(1)SNMP报文协议。
(2)管理信息结构(SMI,Structure ofManagementInformation),一套公用的结构和表示符号。
(3)管理信息库(MIB,Management Information Base),管理信息库包含所有代理进程的所有可被查询和修改的参数。
(4)OID(Object Identifiers),一个OID是一个唯一的键值对,用于标识具体某一个设备的某个具体信息(对象标识),如端口信息、设备名称等。
5、Centos 部分常用的OID:
CPU 负载
1 minute Load: .1.3.6.1.4.1.2021.10.1.3.1
内存使用
Total Swap Size: .1.3.6.1.4.1.2021.4.3.0
5 minute Load: .1.3.6.1.4.1.2021.10.1.3.2
Available Swap Space: .1.3.6.1.4.1.2021.4.4.0
15 minute Load: .1.3.6.1.4.1.2021.10.1.3.3
Total RAM in machine: .1.3.6.1.4.1.2021.4.5.0
CPU 信息
percentage of user CPU time: .1.3.6.1.4.1.2021.11.9.0
Total RAM used: .1.3.6.1.4.1.2021.4.6.0
raw user cpu time: .1.3.6.1.4.1.2021.11.50.0
Total RAM Free: .1.3.6.1.4.1.2021.4.11.0
percentages of system CPU time: .1.3.6.1.4.1.2021.11.10.0
Total RAM Shared: .1.3.6.1.4.1.2021.4.13.0
raw system cpu time: .1.3.6.1.4.1.2021.11.52.0
Total RAM Buffered: .1.3.6.1.4.1.2021.4.14.0
percentages of idle CPU time: .1.3.6.1.4.1.2021.11.11.0
Total Cached Memory: .1.3.6.1.4.1.2021.4.15.0
raw idle cpu time: .1.3.6.1.4.1.2021.11.53.0
硬盘使用
Path where the disk is mounted: .1.3.6.1.4.1.2021.9.1.2.1
raw nice cpu time: .1.3.6.1.4.1.2021.11.51.0
Path of the device for the partition: .1.3.6.1.4.1.2021.9.1.3.1
系统信息
sysDescr 1.3.6.1.2.1.1.1
Total size of the disk/partion (kBytes): .1.3.6.1.4.1.2021.9.1.6.1
sysObjectID 1.3.6.1.2.1.1.2
Available space on the disk: .1.3.6.1.4.1.2021.9.1.7.1
sysUpTime 1.3.6.1.2.1.1.3
Used space on the disk: .1.3.6.1.4.1.2021.9.1.8.1
sysContact 1.3.6.1.2.1.1.4
Percentage of space used on disk: .1.3.6.1.4.1.2021.9.1.9.1
sysName 1.3.6.1.2.1.1.5
Percentage of inodesused on disk: .1.3.6.1.4.1.2021.9.1.10.1

二、SNMP配置

1、Centos服务器安装配置SNMP

[root@s6 ~]# yum install -y net-snmp net-snmp-utils
[root@s6 ~]# vim /etc/snmp/snmpd.conf
# sec.name source community
com2sec notConfigUser  default 123456 #第一步:设置团体认证
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    systemview    included   .1.3.6.1  #创建一个view,并对其授权可访问的OID范围
access  notConfigGroup“” any noauthexact systemviewnone none#将组notConfigGroup关联至systemview从未完成组的授权

2、测试能否通过SNMOP采集数据:

[root@s6 ~]# systemctl restart snmpd
[root@s1 ~]# 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
[root@s1 ~]# 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

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

[root@s1 ~]# yum -y install net-snmp-utils(centos系统,ubuntu系统使用apt-get install snmp)
[root@s1 ~]# 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时才需要。

3、web端配置


新建主机

链接模板

修改宏

snmp监控

你可能感兴趣的:(zabbix实现SNMP监控)