今天小编给大家分享一下linux snmp服务指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
在linux中,SNMP服务是指简单网络管理协议,是一种广泛应用于TCP/IP网络的网络管理标准协议,它提供了一种通过运行网络管理软件的中心计算机(即网络管理工作站)来监控和管理计算机网络的标准化管理框架(方法)。SNMP服务使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。
什么是SNMP服务?
SNMP(简单网络管理协议)是一种广泛应用于TCP/IP网络的网络管理标准协议(应用层协议),它提供了一种通过运行网络管理软件的中心计算机(即网络管理工作站)来监控和管理计算机网络的标准化管理框架(方法)。目前已颁布了SNMPv1、SNMPv2c和SNMPv3三个版本,广泛应用于网络交换机、路由器、打印机等网路设备上。
SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。
SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB,改进后的协议就是著名的SNMP。基于TCP/IP的SNMP网络管理框架是工业上的现行标准,由3个主要部分组成,分别是管理信息结构SMI(Structure ofManagement Information)、管理信息库MIB和管理协议SNMP。
SMI定义了SNMP框架所用信息的组织和标识,为MIB定义管理对象及使用管理对象提供模板。
MIB定义了可以通过SNMP进行访问的管理对象的集合。
SNMP协议是应用层协议,定义了网络管理者如何对代理进程的MIB对象进行读写操作。
配置 Linux 的 SNMP 服务
1、安装 SNMP 服务
1)检查系统是否已经安装snmp的rpm包
以下是安装snmp服务需要的rpm包:
libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2.10.6-55.el5.i386.rpm net-snmp-libs-5.3.2.2-5.el5.i386.rpm net-snmp-5.3.2.2-5.el5.i386.rpm net-snmp-utils-5.3.2.2-5.el5.i386.rpm
推荐到http://rpm.pbone.net/下载这些rpm包,该网站比较全面,包含各种版本的包。
使用命令:
$ rpm -qa|grep snmp
检查是否安装net-snmp-utils-5.3.2.2-5.el5,net-snmp-libs-5.3.2.2-5.el5,net-snmp-5.3.2.2-5.el5三个rpm包
使用命令:
$ rpm -qa|grep libsen
检查是否安装libsensors3-2.10.6-55.el5
使用命令:
$ rpm -qa|grep lm
检查是否安装lm_sensors-2.10.6-55.el5
说明:
(1)这几个包的安装有一定顺序,在安装的时候,会有提示。比如安装
net-snmp-5.3.2.2-5.el5.i386.rpm时,会提示必须先安装net-snmp-libs-5.3.2.2-5.el5.i386.rpm。
(2)net-snmp-utils-5.3.2.2-5.el5.i386.rpm并不是必须安装的包,但安装它会带来不少帮助,它提供了很多工具,例如可以使用snmptranslate命令查看oid,可以使用snmpget、snmpwalk命令等。
(3)net-snmp-libs-5.3.2.2-5.el5.i386.rpm、net-snmp-5.3.2.2-5.el5.i386.rpm、
net-snmp-utils-5.3.2.2-5.el5.i386.rpm这三个包有一定的版本要求,必须版本一致,否则安装无法成功。我这里都使用的5.3.2.2-5.el5版本,也可以下载其他版本的rpm包,但注意版本要一致,在安装的时候也会提示,哪个版本的包是必须的,你可以根据提示下载需要的包。
2)安装以上的几个rpm包
若系统中没有安装以上包,则先安装。
使用命令:
rpm –ivh 包名
安装完后,使用命令:
$ rpm -qa|grep snmp,检查是否已经安装成功。
YUM 安装:
yum install -y net-snmp net-snmp-utils
3)启动snmp服务
若安装成功,则可使用命令:
$ service snmpd start
提示:Starting snmpd: [ OK ],则启动snmp服务成功。
你可以将snmp服务设置为开机自启动,这样免去手动启动的麻烦。
使用命令:
$ chkconfig snmpd on,将snmpd服务设为开机自启动。
然后使用命令:
$ chkconfig --list | grep snmpd,查看是否已经设置成功。
4)验证snmp服务
(1)使用snmpwalk命令,查看本机localhost的主机名
(2)使用snmptranslate命令,检查snmp工具是否可以使用
(3)测试远端主机是否可以获取数据。
我这里登陆了另外一台Linux主机,该主机也按照上面的步骤安装好snmp服务及snmp工具。通过这台主机,获取远端主机的数据,这时需指定远端主机的IP地址
修改 SNMP 配置文件
1)配置文件路径
2)修改配置文件
重启 SNMP 服务
snmp 服务名 snmpd.service
# 启动/停止/查看 snmp 服务 systemctl start/stop/status snmpd.service # 开启/禁用 snmp 自启动服务 systemctl enable/disable snmpd.service
使用 SNMP 软件获取 服务器信息
1)SNMP 中比较重要的配置
读写设备的密码: 在 SNMP 中称为
读Community和
写Community
若使用 SNMP v3 协议版本,则密码设置比较复杂,需要密码配对
被读取的内容 :类似于被读取的参数的寄存器/地址,在 SNMP 中称为
OID
OID的描述方式:类似
IP地址,如
1.3.6.1.4.1.2021.1.1
MIB文件:各厂商制作的,包含设备OID的配置文件
利用 SNMP 调试软件加载 MIB 文件,即可快速调试,读写设备的相关信息
MIB 文件中包含丰富内容:参数、参数的描述(帮助/含义)、参数的类型(数据类型)、参数的 OID 地址等
不同厂商可根据自己设备的特点,修改 MIB 文件,以添加专属的可用于 SNMP 协议的参数
加载错误的 MIB 文件,则 MIB 文件中记录的 OID 可能在设备中查询不到返回值
2)使用的 MIB 文件
HOST-RESOURCE-MIB和
UCD-SNMP
HOST-RESOURCE-MIB用于查看主机(服务器)的基础状态信息
主要包含
.1.3.6.1.2.1.25中的信息,这部分内容大多数电脑、服务器都有
UCD-SNMPLinux 和 Unix 系统通用的 MIB 描述文件
主要包含
.1.3.6.1.4.1.2021中的信息
3)使用的 SNMP 软件
4)常用的 OID 地址