SNMP协议简介
相关简介
#SNMP协议能够帮助网络管理员提高网络管理效率,及时发现和解决网络问题,对网络增长做好规划
#网络管理员还可以通过SNMP协议,接收网络节点的通知消息和警告事件报告等,从而获知网络出现的问题
#常用于监控交换机、打印机等网络设备
#SNMP采用UDP协议,161端口接收和发送请求,162端口接收trap
相关概念
#MIB概念
管理信息库,被管理设备的数据通过变量构建陈数据库,包含了各种对象集合
#OID概念
对象标识符
Zabbix监控SNMP主机
#Zabbix充当SNMP客户端
#SNMP主机充当SNMP服务端
#Zabbix通过snmpwalk命令接受SNMP主机信息
SNMP软件安装
#安装服务端
yum install -y net-snmp
#安装客户端
yum install -y net-snmp-utils
#配置服务端
grep -E "^[^#]" /etc/snmp/snmpd.conf
com2sec notConfigUser default public #这个直接使用默认的社区名称为public
group notConfigGroup v1 notConfigUser #这个表示当前支持snmp的版本
group notConfigGroup v2c notConfigUser #这个表示当前支持snmp的版本
view systemview included .1 #添加这包含可获取的数据内容(这个是获取数据的OID)
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
access notConfigGroup "" any noauth exact systemview none none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
#启动服务
systemctl enable --now snmpd.service
#确认snmp端口状态
netstat -lntup | grep snmp
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 89457/snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 89457/snmpd
SNMP客户端使用
snmpget命令语法
snmpget [COMMON OPTIONS] [-Cf] AGENT OID [OID]...
-v 1|2c|3 #指定SNMP协议版本
-c COMMUNITY #指定口令
snmpget命令示例
#获取本机内存总量大小的OID(.1.3.6.1.2.1.25.2.2.0)
snmpget -v 2c -c public localhost .1.3.6.1.2.1.25.2.2.0
#取得所有网/端口的描述
snmpwalk -v 2c -c public localhost ifDescr
snmpwalk -v 2c -c public localhost .1.3.6.1.2.1.2.2.1.2
#取得网卡的进流量计数汇总
snmpwalk -v 2c -c public localhost ifinOctets
snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.31.1.1.1.6
#取得网卡的出流量计数汇总
snmpwalk -v 2c -c public localhost ifoutOctets
snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.31.1.1.1.10
#取得网卡eth0的进/出流量计数(单位bits)
snmpwalk -v 2c -c public localhost IF-MIB::ifInOctets.2
snmpwalk -v 2c -c public localhost IF-MIB::ifOutOctets.2
#交换机
snmpwalk -v 2c -c public 10.10.0.202
CPU:1.3.6.1.4.1.9.9.305.1.1.1
Mem:1.3.6.1.4.1.9.9.305.1.1.2