您的位置:首页 > 其它

Ubuntu上SNMP安装配置

2016-11-17 11:03 369 查看

SNMP

安装过程

我们需要安装下面三个软件包:

- snmpd:snmp服务端软件

- snmp:snmp客户端软件

- snmp-mibs-downloader:用来下载更新本地mib库的软件

通过sudo apt-get install snmpd snmp snmp-mibs-downloader 命令安装

配置

安装完snmpd软件后,系统为我们自动开启了这个服务,查看是否运行的命令:

mininet@mininet-A:/$ sudo service snmpd status
* snmpd is running


开始配置之前,简单的测试,看服务是否正常(由于测试中采用了访问远程主机,是需要再被监测主机上配置运行远程主机访问的。只需要修改/etc/snmp/snmpd.conf配置文件,注释掉

agentAddress  udp:127.0.0.1:161
同时,将#agentAddress udp:161,udp6:[::1]:161去注释即可
重新启动snmp服务:通过命令观察
mininet@mininet-A:/etc/snmp$ sudo netstat -antup | grep 161
udp        0      0 0.0.0.0:161             0.0.0.0:*           960/snmpd
udp6       0      0 ::1:161                 :::*                960/snmpd


可以看到服务已对外开放了,并且同时支持IPv4和IPv6):

fl@L1-A-FL:~$ snmpwalk -v 2c -c public 192.168.100.11 1.3.6.1.2.1.1.1
iso.3.6.1.2.1.1.1.0 = STRING: "Linux mininet-A 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64"


1、配置节点

修改/etc/snmp/snmpd.conf文件,将下面两行注释掉:

view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1


增加下面一行:

view   systemonly  included   .1


这样的话,我们就可以获取更多的节点信息,因为如果不这样做,我们能够获取的信息,仅仅是上面两个注释掉的节点所包含的信息。

重启snmp服务,再使用命令观察:

mininet@mininet-A:/etc/snmp$ sudo service snmpd restart
* Restarting network management services:

fl@L1-A-FL:~$ snmpwalk -v 2c -c public 192.168.100.11 .1.3.6.1.4.1.2021.4.3.0
iso.3.6.1.4.1.2021.4.3.0 = INTEGER: 1046524


这里.1.3.6.1.4.1.2021.4.3.0表示的是LInux主机交换空间总量的一个节点,而输出1046524,就说明我们的主机上的交换空间总量大概就是1GB左右。

2、配置MIB库(以下信息在我的配置文件中没有找到,因此只是复制过来)

虽然上面已经可以正常获取我们想要的信息,但是输出结果很不直观,这时我们配置一下MIB库就可以了,不过需要注意的是,这个配置是对客户端软件的配置。

修改/etc/snmp/snmp.conf配置文件,将下面这一行注释掉:

mibs :


然后重启snmp服务,再通过命令观察:

ubuntu@leaf:/etc/snmp$ sudo service snmpd restart
ubuntu@leaf:/etc/snmp$ snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.4.3.0
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 1950716 kB


可以看到,现在的输出就非常直观了!这样之后,其实我们在获取相关节点信息时,也可以不用输入那一长串的数字了:

ubuntu@leaf:/etc/snmp$ snmpwalk -v 2c -c public localhost memTotalSwap.0
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 1950716 kB
ubuntu@leaf:/etc/snmp$ snmpwalk -v 2c -c public localhost memTotalReal.0
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 8093524 kB


关于MIB库的节点值从哪里来,不需要去记,可以在网上找。

3、配置共同体(我采取了默认值,没有修改,因此也只是复制过来以备日后参考)

所谓共同体,把它理解为一个密码就行了,前面我们在使用snmpwalk命令获取主机的信息时,有一个-c public的参数,其实就是指定了这个共同体为public,这是默认的配置,当然在实际中,我们不可能使用默认的值,因此需要把它修改一下。

修改配置文件/etc/snmp/snmpd.conf,大概在52行,将下面的两行:

rocommunity public  default    -V systemonly
rocommunity6 public  default   -V systemonly
修改为:
rocommunity xpleaf123  default    -V systemonly
rocommunity6 xpleaf123  default   -V systemonly


那么这里就把共同体修改为xpleaf123了,重启snmp服务,通过命令观察一下:

ubuntu@leaf:/etc/snmp$ snmpwalk -v 2c -c public localhost memTotalReal.0
Timeout: No Response from localhost
ubuntu@leaf:/etc/snmp$ snmpwalk -v 2c -c xpleaf123 localhost memTotalReal.0
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 8093524 kB


可以看到第一次获取信息不成功,因为我们已经更新了共同体,旧的public将不能再使用,否则认证失败就无法获取snmp提供的主机信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu snmp