snmp- Simple Network Management Protocol
snmp帮助运维人员快速收集信息和管理大量主机,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。
一、SNMP的组成
SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。
简单来说,就是需要一个服务器程序(代理,agent)和一个客户机(管理器,manager)。而与直观上不同的是,SNMP的服务器端代表被管理的事物,而客户机端才是管理者。客户机从简单的命令行实用程序,如net-snmp提供的snmpwalk,到专门的管理软件、工作站都有。
二、SNMP的组织结构
SNMP数据以一种标准化的层次结构进行布置,这种结构的大部分都留给将来扩充,而特定厂商添加的部分则被本地化以避免冲突。命名的层次结构由MIB(Management Information Base,管理信息库)组成,它是描述通过SNMP协议可访问的数据的结构化文本文件。MIB 包括了对特定数据变量的说明,数据变量被称为OID(Object Identifier,对象标识符)。
三、SNMP的使用
SNMP安装
yum install net-snmp yum install net-snmp-perl yum install net-snmp-utils
SNMP配置
[root@REHL6 ~]# vi /etc/snmp/snmpd.conf access notConfigGroup "" any noauth exact systemview none none 修改为 access notConfigGroup "" any noauth exact all none none #view all included .1 80 修改为 view all included .1 80
SNMP启动
service snmpd restart
SNMP使用
查看指定设备所有snmp信息 [root@REHL6 ~]# snmpwalk -v 2c -c public 192.168.0.110 查看特定的信息 如:查看挂载点信息 [root@REHL6 ~]# snmpwalk -v 2c -c public 192.168.0.110 hrFSMountPoint HOST-RESOURCES-MIB::hrFSMountPoint.1 = STRING: "/" HOST-RESOURCES-MIB::hrFSMountPoint.5 = STRING: "/dev/shm" HOST-RESOURCES-MIB::hrFSMountPoint.6 = STRING: "/boot" HOST-RESOURCES-MIB::hrFSMountPoint.7 = STRING: "/home" HOST-RESOURCES-MIB::hrFSMountPoint.8 = STRING: "/usr" HOST-RESOURCES-MIB::hrFSMountPoint.9 = STRING: "/var" 查看进程信息 [root@REHL6 ~]# snmpwalk -v 2c -c public 192.168.0.110 hrSWRunName HOST-RESOURCES-MIB::hrSWRunName.1 = STRING: "init" HOST-RESOURCES-MIB::hrSWRunName.2 = STRING: "kthreadd" HOST-RESOURCES-MIB::hrSWRunName.3 = STRING: "migration/0" HOST-RESOURCES-MIB::hrSWRunName.4 = STRING: "ksoftirqd/0" HOST-RESOURCES-MIB::hrSWRunName.5 = STRING: "migration/0" HOST-RESOURCES-MIB::hrSWRunName.6 = STRING: "watchdog/0" HOST-RESOURCES-MIB::hrSWRunName.7 = STRING: "events/0" 查看已安装的包 [root@REHL6 ~]# snmpwalk -v 2c -c public 192.168.0.110 hrSWInstalledName HOST-RESOURCES-MIB::hrSWInstalledName.1 = STRING: "erlang-asn1-R14B-04.3.el6" HOST-RESOURCES-MIB::hrSWInstalledName.2 = STRING: "libXres-1.0.4-1.el6" HOST-RESOURCES-MIB::hrSWInstalledName.3 = STRING: "qpid-cpp-client-0.12-6.el6" HOST-RESOURCES-MIB::hrSWInstalledName.4 = STRING: "fontpackages-filesystem-1.41-1.1.el6" HOST-RESOURCES-MIB::hrSWInstalledName.5 = STRING: "erlang-debugger-R14B-04.3.el6" HOST-RESOURCES-MIB::hrSWInstalledName.6 = STRING: "crash-5.1.8-1.el6"
SNMP可以输出大量目标主机的信息,具体可以将snmpwalk得到的所有信息输出到一个文件中,然后再慢慢研究
实用
查看网卡信息 配置名称 [root@REHL6 ~]# snmpwalk -v 2c -c public 192.168.0.110 ifDescr IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: eth0 查看网卡类型 [root@REHL6 ~]# snmpwalk -v 2c -c public 192.168.0.110 ifType IF-MIB::ifType.1 = INTEGER: softwareLoopback(24) IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6) 查看网卡实际工作状态 [root@REHL6 ~]# snmpwalk -v 2c -c public 192.168.0.110 ifOperStatus IF-MIB::ifOperStatus.1 = INTEGER: up(1) IF-MIB::ifOperStatus.2 = INTEGER: up(1) 查看网卡进口流量 [root@REHL6 ~]# snmpwalk -v 2c -c public 192.168.0.110 ifInOctets IF-MIB::ifInOctets.1 = Counter32: 2195559 IF-MIB::ifInOctets.2 = Counter32: 21628066 查看网卡出口流量 [root@REHL6 ~]# snmpwalk -v 2c -c public 192.168.0.110 ifOutOctets IF-MIB::ifOutOctets.1 = Counter32: 2195559 IF-MIB::ifOutOctets.2 = Counter32: 6903423