SNMP(简单网络管理协议),就如他的名字一样,非常简单。您还会通过本文了解到MRTG、SolarWinds等软件的工作原理。 晚餐吃了辣椒酱,感觉小舌头被严重灼伤…… 什么是SNMP?SNMP,简单网络管理协议,它不是软件,而是用于网络管理的一套规则(比如做一个受人尊敬的人,需要遵循哪些规则?不说大话、说到做到、为人诚恳,等等)。真正的网管软件,是基于SNMP写的。 为什么使用SNMP?若想对网络中来自不同厂商的设备监控,用基于SNMP开发的软件进行管理,是最方便的,因为大部分设备都支持SNMP。 网络管理是如何进行的?理论小知识 通过上图我们可以发现,整个网络管理涉及到3个设备:被监控设备(也称为代理,是一些我们希望监控的设备,比如路由器、交换机、服务器),管理端(也称为管理器,管理员配置管理器程序,定期从代理读取数据),管理员计算机(仅用来管理员查看数据)。 注意:这里所谓的代理,可不是指平时见到的代理上网软件,而是指您希望监控的设备,比如服务器,路由器等。 1、snmp代理程序(Linux的常用代理程序是net-snmp,Windows通过添加/删除程序安装,Cisco路由器交换机自带)把从设备读到的各种数据(比如网卡数据包的进出情况)以SMI规定的格式(这种格式要求MIB变量必须以1.3.6.1.2.1开头,比较BT)写到MIB库中(MIB库就像抽屉一样,有很多变量,每一个变量存储着设备的信息。比如1.3.6.1.2.1.7.1,这个变量里存储了收到了多少UDP协议包) 2、snmp管理器程序(MRTG、SolarWinds等软件)通过snmp协议与snmp代理程序联系,以便间接读取MIB库中的数据。 3、如果管理器软件使用的是SolarWinds,那么SolarWinds收集来的MIB信息是存储在数据库中的,管理员直接通过SolarWinds软件窗口就可以查看。但如果让没有安装SolarWinds(这个软件包非常大)的远程管理员也能访问,可以在管理端安装MRTG,MRTG把收集到的信息生成html格式的网页。然后再给管理端装上Apache或IIS,管理员只需要有浏览器就可以查看收集到的数据啦(管理员的浏览器与管理端是基于http协议通信的,这使那些位于防火墙后面禁止snmp协议通信的管理器能被访问)。 类比一下: 学过点C语言就知道,一个变量(类似杯子)在使用前需要定义,比如整型变量int(小杯子)、浮点型变量float等(大杯子),这些类型说明符就是由SMI定义的,SMI同时还规定,变量名必须以1.3.6.1.2.1开始。 程序在运行中还需要变量名,比如int a,定义了一个名为a的整型变量,这个声明的变量,就是MIB变量,比如,1.3.6.1.2.1.7.1就是一个整型变量,这个变量里存储了收到了多少UDP协议包。整个MIB库中存储的变量名呈现出树状结构 这些变量这里叫对象标识符Object Identifier (OID),它们代表的功能可以通过这个网站查询 实际操作 安装代理软件 *在Linux上安装net-snmp(这是最常用的代理软件,一般自带,直接在服务里启动) *在Windows上安装代理软件(仅需要Windows安装光盘,然后在添加/删除程序中启动) *在Cisco上安装代理软件(自带安装,仅需几条配置命令) 安装监控器软件 常见的监控器软件有Solarwinds、MRTG、惠普的OpenView等。 I.Solarwinds直接到 下载到windows系统,傻瓜式安装就可以。管理员可以直接在管理端电脑上查看被监控的数据。 II. MRTG主要安装在Linux平台下,Windows下也可以用,不过要装Perl解释器。安装好MRTG后,可以通过修改MRTG配置文件来设定抓取代理的频率,也可以通过指定OID来设定抓取哪些MIB变量。 问题汇总1、加载MIB。一些硬件销售商在其操作系统上自带了代理软件,但是,这些代理软件使用没有定义在RFC的MIB变量。这个时候,管理端就会收到无此对象错误或其他错误信息。为了解决此问题,必须为想要管理的产品向管理端添加设备商提供的MIB 2、团体名。SNMP代理必须与SNMP管理器的团体名匹配,否则无法交换数据。这些团体名字通常有大小写之分,PUBLIC与public不同。 舌头还是火辣辣的,具体操作步骤见以下链接: |