11、Zabbix使用snmp
一、介绍
1、SNMP简单介绍
- Simple Network Management Protocol。简单网络管理协议
- 使用snmp协议可以方便我们监控服务器、交换机、路由器等
- 监控Linux、Windows服务器建议使用Agent
- 网络设备一般使用SNMP,监控网络接口存活和网络接口流量
2、使用SNMP监控说明
- 被监控服务器需要安装snmp服务
- 路由器、交换机可以开启SNMP服务器,需要自己设置SNMP的密码
- Zabbix服务器通过snmp协议去监控
3、SNMP的版本
- v1基于community进行控制访问
- v2c也是基于community进行控制访问,但比v1增强了部分功能。实战中使用v2c
- v3加强了认证
4、本次实验环境
Zabbix服务器:10.0.0.104
被监控的服务器:10.0.0.102
二、SNMP服务安装
1、Centos Snmp服务器安装
yum install -y net-snmp net-snmp-utils
2、Snmp的配置/etc/snmp/snmpd.conf linux使用配置文件,交换机和路由器则使用命令行
先备份一下默认的配置文件,然后新建一个配置文件
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
vim /etc/snmp/snmpd.conf
com2sec notConfigUser default 123456
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
view systemview included .1.3.6.1
access notConfigGroup "" any noauth exact systemview none none
syslocation hangzhou
syscontact module@hangzhou.com
dontLogTCPWrappersConnects yes
Snmp配置详解
com2sec notConfigUser default pwd #用户名、访问IP白名单(default代表所有ip访问)、密码
group notConfigGroup v2c notConfigUser #组名、SNMP版本、用户名
view systemview included .1.3.6.1 #视图名称、包含(incl/excl)、subtree oid使用数字表示,只有oid包含.1.3.6.1可以监控数据
access notConfigGroup "" any noauth exact systemview none none #组名、内容、SNMP版本any所有、认证等级、systemview读权限、无写权限、无trapper权限
3、Snmp开启
systemctl start snmpd
systemctl enable snmpd
验证服务
三、SNMP的OID和MIB
1、SNMP的监控基于OID
- OID,Object Identifier对象标识符
- OID由数字组成比较难记
- SNMP基于Oid,Oid树图的理解有助于权限的开通
2、使用Oid获取监控数据
监控cpuload
snmpwalk -v 2c -c 123456 10.0.0.102 .1.3.6.1.4.1.2021.10.1.3 #监控cpuload
监控网卡信息
snmpwalk -v 2c -c 123456 10.0.0.102 .1.3.6.1.2.1.2
3、Oid的难点
- 难记,数字都比较难记。例如IP一般我们记不住,记域名
- 类似我们会记得www.baidu.com,不会去记IP
- 但实际访问却是基于IP的,实际监控是基于OID的
4、MIB库
- 由于Oid的难记,产生了MIB。类似DNS服务器,把域名和IP的关系对应上
- MIB,Management Information Base,管理信息库。把oid跟名字对应起来
- MIB库有多个,网络相关的mib,系统相关的mib库
5、使用名字获取监控信息
laLoad #load信息
ifDescr #网卡描述信息
ifOperStatus #网卡开通状态
ifHCOutOctets #网口出的总流量(byte) bps=流量差值*8
ifHCInOctets #网口入的总流量(byte)
例如
snmpwalk -v 2c -c 123456 10.0.0.102 12.laLoad
snmpwalk -v 2c -c 123456 10.0.0.102 ifDescr
snmpwalk -v 2c -c 123456 10.0.0.102 ifOperStatus
snmpwalk -v 2c -c 123456 10.0.0.102 ifHCOutOctets
snmpwalk -v 2c -c 123456 10.0.0.102 ifHCInOctets
6、网卡流量监控建议使用64位的去监控,即ifHCOutOctets加HC的,32位比较容易溢出,2^32 4294967296,64位的监控准。
四、zabbix使用SNMP监控
1、添加一台主机,使用SNMP接口
2、修改snmp宏密码(community修改)
在(管理-> 一般->宏定义),密码默认是public,修改为上面snmp的密码123456
3、常用MIB和OID
ifDescr: .1.3.6.1.2.1.2.2.1.2
ifOperStatus: .1.3.6.1.2.1.2.2.1.8
ifHCInOctets: .1.3.6.1.2.1.31.1.1.1.6
ifHCOutOctets: .1.3.6.1.2.1.31.1.1.1.10
4、添加监控项获取网卡名,使用上面的ifDescr的OID,.2表示第二个网卡,即ens33
snmpwalk -v 2c -c 123456 10.0.0.102 1.3.6.1.2.1.2.2.1.2
snmpwalk -v 2c -c 123456 10.0.0.102 1.3.6.1.2.1.2.2.1.2.2
名称 get interface name
类型 SNMP V2客户端
键值 net.name[2]
SNMP OID .1.3.6.1.2.1.2.2.1.2.2 这里OID后加了.2表示第二个网卡ens33,最前面的.加不加都行
SNMP community 即密码 使用前面修改的宏{$SNMP_COMMUNITY}
信息类型为字符
添加监控项后查看更新一下数据,可以看到有监控数据,值为ens33
5、添加监控项获取网卡状态,使用上面的ifOperStatus的OID .2表示第三个网卡,即ens33的状态
snmpwalk -v 2c -c 123456 10.0.0.102 1.3.6.1.2.1.2.2.1.8
snmpwalk -v 2c -c 123456 10.0.0.102 1.3.6.1.2.1.2.2.1.8.2
名称 ens33 status
类型 SNMP V2客户端
键值 net.status[ens33]
SNMP OID .1.3.6.1.2.1.2.2.1.8.2 这里OID后加了.2表示第二个网卡ens33
SNMP community 即密码 使用前面修改的宏{$SNMP_COMMUNITY}
信息类型为数字,默认1为up,2为down
同样的再添加一个监控第三个网卡ens37的监控项,然后更新数据后查看,可以看到最新数据都是1,表示网口是开启的。可以配置触发器,当值不为1时告警,表示网卡down了。
6、添加监控项获取网卡出流量和入流量
使用上面的ifHCInOctets和ifHCOutOctets的OID .2表示第三个网卡,即ens33的流量
snmpwalk -v 2c -c 123456 10.0.0.102 1.3.6.1.2.1.31.1.1.1.6
snmpwalk -v 2c -c 123456 10.0.0.102 1.3.6.1.2.1.31.1.1.1.6.2
创建出流量监控项
名称 out traffic ens33 bps
类型 SNMP V2客户端
键值 net.if.out[ens33]
SNMP OID 1.3.6.1.2.1.31.1.1.1.6.2 这里OID后加了.2表示第二个网卡ens33
SNMP community 即密码 使用前面修改的宏{$SNMP_COMMUNITY}
信息类型为数字
单位为bps
因为是bps,所以需要设置预定步骤,每秒更改的值,并且乘以8
同样的添加一下入流量的监控项
名称 in traffic ens33 bps
类型 SNMP V2客户端
键值 net.if.in[ens33]
SNMP OID 1.3.6.1.2.1.31.1.1.1.10.2 这里OID后加了.2表示第二个网卡ens33
SNMP community 即密码 使用前面修改的宏{$SNMP_COMMUNITY}
信息类型为数字
单位为bps
添加后查看最新数据,有出入流量的监控数据
五、Zabbix SNMP自动发现
1、为什么需要自动发现
- 假如说交换机有10+个物理网口
- 需要批量监控所有网口的状态和网口的流量
- 手动添加比较麻烦,名字还无法对应手动添加监控
2、网络端口发现可以参考系统自带模板Template Module Interfaces SNMPv2中的发现规则
一般可以直接用自带的snmp模板进行链接使用,这里没用到过先不记了。
Zabbix默认有提供SNMP的模板
Linux SNMP的模板
Cisco SNMP的模板
更多推荐
所有评论(0)