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
原文地址:https://www.cnblogs.com/zhangbo2012/p/3688951.html