1、snmp有三种版本,分别是snmp v1,snmp v2,snmpv3;
snmp v1:它是基于communitils来实现的。communty的名字就是双方认证的密码。
communities有三种类型:read-only(只读),read-write(读写的,可以发送指令),trap(被监控端可以主动发送请求给监控端);trap本身只是被监控端发送请求给监控端的一种机制,但是监控端操作的机制只有两种:一种是read-only、一种是read-write。
snmp v1的工作机制:需要一个监控端(nms)和一个被监控端(agent),nms向agent发送一个指令获取客户端的数据。agent收到指令查询相应信息发送给监控端(nms)。为了实现数据的安全,通过community来认证实现。(带来的问题是安全性不高)
snmp v2它也是基于communitils-string来实现的。在v1的版本上作了功能增强。
snmp v3增强了认证机制
但是目前最为流行了还是snmp v1。
MIB(manmagement information base):管理信息库。他是agent索取数据事先定义的监控资源库。
所以每个snmp agent都会有一个mib库来定义数据。
mib-II如下图:
主机监控数据的MIB标示:(host OID)
监控可以做到:故障管理、配置管理、记账管理、性能管理、安全管理
snmp通知机制:通过snmp端口实现:udp 161(agent)、udp162(nms)
snmp默认的团体 :public community、private community
snmp报文分类:
get:获取特定OID(对象标识符)信息。
getnext:获取指定节点下的所有的直接指标的OID信息。(它只能获取节点下的直接指标数据)
getbulk(snmp v2 & snmp v3):获取指定节点下所有节点的指标数据。比getnext范围更大。
set:发送控制指令
getresponse:发起响应信息。
trap:由trap端发起。
linux上启用snmp:
linux上有两个snmp软件包分别是:net-snmp和net-snmp-utils
net-snmp:被监控端(agent)(如果需要用到trap功能需要安装此包)
net-snmp-utils(监控端所需用到的命令)
安装步骤:
[root@promote yum.repos.d]# yum install net-snmp.x86_64 net-snmp-utils.x86_64 //安装snmp软件包
[root@promote yum.repos.d]# rpm -ql net-snmp | less //查看安装snmp软件包后产生了哪些工具
/etc/snmp
/etc/snmp/snmpd.conf
/etc/snmp/snmptrapd.conf
/etc/sysconfig/snmpd
/etc/sysconfig/snmptrapd
[root@promote yum.repos.d]# systemctl start snmpd //启动snmp服务
[root@promote yum.repos.d]# netstat -unlp //查看是否启动snmp服务
[root@promote yum.repos.d]# snmpwalk -v 2c -c public localhost //通过snmp查看主机信息;
[root@promote mibs]# cat /etc/snmp/snmpd.conf //查看snmp配置文件信息