snmp是简单网络管理协议。
使用snmp优点:snmp属于轻量级,而且通过snmp进行监控不需要安装客户端。
缺点:不太好自定义监控项,在系统层面,系统开放什么,它才能监控什么。
操作前必看提示:
本次操作的时候,由于网络环境比较复杂,下面在被监控主机上安装snmp和在zabbix服务端添加被监控主机的时候,IP可能存在不一样,请注意!真实环境中要保持一样。
一.被监控端snmp安装
yum -y install net-snmp net-snmp-libs net-snmp-utils
二.配置被监控端的snmp
cd /etc/snmp
cp snmpd.conf snmpd.conf.bak
vim snmpd.conf
com2sec admin default admin #创建团体名和用户为admin
group admin v2c admin #创建一个admin组,将admin用户放入admin组内
view admin included .1 80 #设置权限,.1代表所有snmp的权限
access admin "" any noauth exact admin admin none
service snmpd restart
netstat -nulp | grep 161 #重启服务后如果没报错,查看是否在监听161端口
注:snmpd默认监听的UDP的161端口。
三.在被监控端进行测试,通过连接161端口,获取监控的指标
格式:snmpget -v2c -c admin 192.168.60.130 OID
举例:snmpget -v2c -c admin 192.168.60.130 .1.3.6.1.4.1.2021.10.1.3.1
注:上面.1.3.6.1.4.1.2021.10.1.3.1这个OID是监控系统1分钟的负载
.1.3.6.1.4.1.2021.10.1.3.2是5分钟的负载
.1.3.6.1.4.1.2021.10.1.3.3是15分钟的负载
snmpget:该命令是通过 net-snmp-utils 这个包装的
-v2c:是协议
-c admin:指定团体名称
需要监控的OID,可以在网上自行查看一下。
四.在zabbix服务端进行监控配置
1.添加主机
2.设置被监控的主机,并添加到linux-SNMP组内
注:ZABBIX的主机组是分两级的,只分为主机和主机组,主机组上不能再有主机组
3.添加snmp监控接口,并且对该监控进行描述
填完之后:ADD添加即可
4. 选择、添加模板
注:第4步的Add记得要点一下,否则该模板可能会添加不上,原因未知。
5. 定义宏的key和value
注:个人理解,宏就是一对变量,要有变量名和变量的值。
以下是帮助理解:
这个模板中就调用了很多其他模板,编辑可发下如下内容:
将Template SNMP Generic模板导出后,编辑,可找到自定义的宏的key
6.查看主机列表。会发现刚才配置的主机,已经在监控中了