全部博文(2065)
分类: 系统运维
2010-09-07 11:11:45
Linux系统中安装snmp
时间:
操作步骤
1. 下载net-snmp-5.6.pre3.zip
2. 解压缩此文件unzip net-snmp-5.6.pre3.zip -d netsnmp
3. 开始编译安装
./configure --prefix=/usr/local/net-snmp -5.6
Make
make install
4. 开始创建配置文件的目录(保存配置文件的目录)
mkdir /etc/snmp 先创建一个目录存放配置文件用的
将解压出来的包中的EXAMPLE.conf拷贝到刚创建的目/etc/snmp 中,并命名为snmpd.conf cp -R EXAMPLE.conf /etc/snmp /snmpd.conf
5. 修改配置文件
vi /etc/snmp /snmpd.conf
找到如下行,将其改为你想要的字符串,和网络
# sec.name
source community
com2sec local
localhost COMMUNITY
com2sec mynetwork NETWORK/24 COMMUNITY
例如
com2sec local
localhost COMMUNITY
com2sec mynetwork 192.168.1.0/24 abcpublic
注意要用192.168.1.0/24
MS不能用192.168.1.1/24.另外改后要重启snmp 才能生效.
6. 开启snmp服务
/usr/local/net-snmp -
7. 重启
killall -9 snmpd
/usr/local/net-snmp -
补充一下SNMP的端口
161 UDP SNMP SNMP 服务 是监听的161端口的
162 UDP SNMP 陷阱出站 SNMP 陷阱服务
另外要注意
21 是FTP的端口
22 是SSH端口
23 是TELNET端口
第二点.讲一下snmp的配置文件
syslocation "Room
133" [1]syscontact alert@domain.com ← [2]rwcommunity private ←
[3]rocommunity public ← [4]authtrapenable 1 ← [5]trapcommunity trapServ ←
[6]trapsink localhost ← [7]trap2sink localhost ← [8]disk / 100000 ← [9]disk /var
100000 ← [9]
[1] → 引用字符串。
[2] → 谁对负责这个系统?
[3] → 社团名是真实的密码。[private表示的是]
[4] → 只读信息的密码。[public表示的是只读信息吗]
[5] → 报告SNMP认证失败。
[6] → 发送陷阱时使用的密码。
[7] → SNMP陷阱发送目的地。
[8] → SNMP v2陷阱。
[9] → 磁盘分区和最小空闲空间。
注意:如果你已经有一个/etc/snmp/snmp.conf配置文件,你可以备份它后,然后将除这里列出的内容外全部移除。
这个文件中的社团读-写名和只读名(rwcommunity和rcommunity )实际上是用于访问和写入SNMP MIB信息的“密码”,不要使用这些常规名字,除非你的系统位于防火墙后面。
最后两行告诉SNMP,当磁盘分区/和/var的剩余空间小于
资料整理二。
# 注释 :一般情况下,/etc/snmp/snmp.conf 是一个全局性的文件,被系统的所有用户共享。
# 注释
:defVersion (1|
# 可以在命令行用 -v 选项来覆盖该值
注意了不同的版本采集的数据还是有差异的。
# 注释
:defCommunity
# 可以在命令行用 -c 选项来覆盖该值
# 注释
:dumpPacket yes 表示是否显示捕捉到16进制格式的原始 SNMP 请求和应答
# 可以在命令行用 -d 选项来覆盖
# 注释 :doDebugging (1|0)表示是否启用 debug 功能。1 为启用,0 为禁用
# 注释 :debugTokens 定义 debug 时的 token 。等于 -D 选项
# 注释
:16bitIDs 表示强制使用 16 bit 的请求 ID。
# SNMP 处于安全期间在启动期间随即初始化。
# 注释
:clientaddr [transport]:[host];[port] 用于定义发送 SNMP 请求时使用的源地址。
# 当 snmpd 生成 notification 消息时就会用到
(从源地址把消息发送过来)
# 注释
:noRangeCheck yes 表示禁止检查 variable binding 中给出的值是否符合 MIB 中该对象的定义
# 等于命令行的 -Ir 选项,主要用于 snmpset 命令
# 注释
:mibdirs 指令给出了 MIB 文件存放的位置。
# 可以在命令行用 -M 选项指定。
# 注释 :不过该选项可以被 MIBDIRS 变量覆盖
# 注释 :showMibErrors 指令设置是否显示 MIB 解释错误
showMibErrors (1|yes|true|0|no|false)
说明:snmp的配置文件最好是去官方查询一下手册里面的配置项还是比较多的,
第三点.介绍一下MIB库
管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。 SNMP的管理信息库采用和域名系统DNS相似的树型结构,它的根在最上面,根没有名字。图3画的是管理信息库的一部分,它又称为对象命名 (objectnamingtree)。(其实是跟DNS的结构一个样的。能够依据MIB的名称去找到其对应的OID值当然也可以反过来去查找对应的值了)
第四点. 再补充一些SNMP相关的内容
SNMP管理员使用GetRequest(首先是依据GET从代理那边取数据下来。有点类似于HTTP的一个请求/回应的过程)从拥有SNMP代理的网络设备中检索信息,SNMP代理以GetResponse消息响应GetRequest。 可以交换的信息很多,如系统的名字,系统自启动后正常运行的时间,系统中的网络接口数等等。GetRequest和GetNextRequest结合起来 使用可以获得一个表中的对象。GetRequest取回一个特定对象;而使用GetNextRequest则是请求表中的下一个对象。使用 SetRequest可以对一个设备中的参数进行远程配置。Set-Request可以设置设备的名字,关掉一个端口或清除一个地址解析表中的项。 Trap即SNMP陷阱,是SNMP代理发送给管理站的非请求消息。这些消息告知管理站本设备发生了一个特定事件,如端口失败,掉电重起等,管理站可相应 的作出处理。