一、SNMP概述:
简单的网络管理协议(SNMP-Simple Network Management Protocol)是一个与网络设备交互的简单方法。该规范是有IETF在1990 年五月发布的RFC 1157中定义的。
目前有SNMPv1、SNMPv2、SNMPv3三种正式版本
1.、SNMP管理协议
SNMP管理协议的5种消息类型
(1)get–request 操作:从代理进程处提取一个或多个参数值。
(2)get-next-request 操作:从代理进程处提取一个或多个参数的下一个参数值。
(3)set-request 操作:设置代理进程的一个或多个参数值。
(4)get-response 操作:返回的一个或多个参数值。这个操作是由代理进程发出的。它是前面3 中操作的响应操作。
(5)trap 操作:代理进程主动发出的报文,通知管理进程有某些事情发生。
2、net-snmp中的oid:是一个唯一的键值对,也叫作对象标识符,它的作用等同于item.key一样、
SNMP主要有三个版本:
SNMPv1:服务器端通过snmpv1协议获取信息时候,需要有个密码验证,大多数厂商出厂默认自带“public”,大多人把这个密码叫做community(社区字符),理解为密码就可以。
SNMPv2:
SNMPv3:
snmp主要使用两个端口号:
udp 161:经常用于客户端 === zabbix-agent 10050
udp 162:经常用于服务器端 === zabbix-server 10051
snmp MIB:
由于OID像IPv6地址一样,太长的一串数字,我们往往难于记忆,所以出了一个MIB,进行作为一个映射,映射成为人们容易记住的文本。
net-snmp 工作方式有两种:
net-snmp轮询:它的工作方式等同于zabbix-agent-passive,意外着他也是被动的接收指令。
net-snmp陷阱(trap):它的工作方式等同于zabbix-agent-active模式,它是主动汇报信息给服务器端。
zabbix-agent工作方式有两种:
1、zabbix-agent-active:主动模式,就是zabbix-agent想zabbix-server主动发送信息,
2、zabbix-agent-passive:被动模式,就是zabbix-agent被动的接收zabbix-server指令、
二、net-snmp的使用:
zabbix-serer:192.168.1.59
zabbix-client:192.168.1.60
net-snmp通过命令行的方式获取:
//通过linux系统和网络设备(Juniper netscreen)
//1、安装net-snmp和net-snmp工具
[root@localhost ~]# yum -y install net-snmp net-snmp-utils
//2、启动snmpd服务
[root@localhost ~]# systemctl restart snmpd.service
//3、通过snmpstatus方式进行信息获取
[root@localhost ~]# snmpstatus -v 2c -c public 192.168.1.60
[UDP: [192.168.1.60]:161->[0.0.0.0]:46349]=>[Linux localhost.localdomain 3.10.0-957.el7.x86_64
#1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64] Up: 0:00:37.30
Interfaces: 0, Recv/Trans packets: 0/0 | IP: 0/0
//4、通过snmpwalk命令查询设备MIB库的所有信息
[root@localhost ~]# snmpwalk -v 2c -c public 192.168.1.60