Cacti 监控 ubuntu 主机的 snmp 配置

2015-03-26 08:57:42 +08:00
 snopy
分为两部分(按需选择对应的设置):
1.Cacti监控本地ubuntu主机(localhost)的snmp配置:

Install SNMPD SNMP

$ sudo apt-get install snmpd

Create a backup file of snmpd.conf original file that we will edit later

$ sudo mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.ori

Create the new snmpd.conf file

$ sudo vim /etc/snmp/snmpd.conf

Add the file with these lines

rocommunity public
syslocation "Your Location"
syscontact admin@domain.com

Then edit the /etc/default/snmpd file

$ sudo vim /etc/default/snmpd

Disable this line below by adding # in front of the line

#SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'

And add a new line

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf'

Restart the SNMPD service

$ sudo /etc/init.d/snmpd restart
* Restarting network management services

经试验验证,确实可用。

测试

root@test:~# snmpwalk -v 2c -c public localhost


2. Cacti监控远程ubuntu主机(限局域网内)的snmp配置:

运行如下两个命令

apt-get install snmp [enter]

apt-get install snmpd [enter]

顺利运行完毕,使用如下命令测试一下

lsof -i:161

如果输出了正在运行snmp协议,便说明安装OK。

我的SNMP配置文件/etc/snmp/snmpd.conf与网上早年的一些资料不同,主要是 压根没有出现com2sec,下面附上我的snmpd.conf的前半部分:

-----------------------------------下面是snmpd.conf---------------------------------

###############################################################################
#
# EXAMPLE.conf:
# An example configuration file for configuring the Net-SNMP agent ('snmpd')
# See the 'snmpd.conf(5)' man page for details
#
# Some entries are deliberately commented out, and will need to be explicitly activated
#
###############################################################################
#
# AGENT BEHAVIOUR
#

# Listen for connections from the local system only
#agentAddress udp:127.0.0.1:161
# Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161


###############################################################################
#
# SNMPv3 AUTHENTICATION
#
# Note that these particular settings don't actually belong here.
# They should be copied to the file /var/lib/snmp/snmpd.conf
# and the passwords changed, before being uncommented in that file *only*.
# Then restart the agent


# createUser authOnlyUser MD5 "remember to change this password"
# createUser authPrivUser SHA "remember to change this one too" DES
# createUser internalUser MD5 "this is only ever used internally, but still change the password"


# If you also change the usernames (which might be sensible),

# then remember to update the other occurances in this example config file to match.

###############################################################################
#
# ACCESS CONTROL
#


# system + hrSystem groups only
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 80
# Full access from the local host
#rocommunity public localhost
# Default access to basic system info
rocommunity public default -V systemonly


# Full access from an example network
# Adjust this network address to match your local
# settings, change the community string,
# and check the 'agentAddress' setting above
#rocommunity secret 10.0.0.0/16


# Full read-only access for SNMPv3
rouser authOnlyUser
# Full write access for encrypted requests
# Remember to activate the 'createUser' lines above
#rwuser authPrivUser priv


# It's no longer typically necessary to use the full 'com2sec/group/access' configuration
# r[ou]user and r[ow]community, together with suitable views, should cover most requirements

-----------------------------------上面是snmpd.conf---------------------------------


我的目的是进行远程SNMP连接,所以需要做如下的修改:

将下面这一行
agentAddress udp:127.0.0.1:161
注释掉,即
#agentAddress udp:127.0.0.1:161

然后将原来的这一行
#agentAddress udp:161,udp6:[::1]:161
去掉注释,即
agentAddress udp:161,udp6:[::1]:161
这样便可以实现snmp的远程监听了。

但修改后cacti服务器还是无法监测到CPU、内存、流量的数据,所以需要再做如下修改:
在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 80
这样就允许监听所有设备了。

完成所有修改后,重启snmp
service snmpd restart

本地测试SNMP是否监测各类指标的方法:运行如下命令
snmpwalk -v 2c -c public localhost
如果输出结果有好多页好多页,应该是设置成功了!
2715 次点击
所在节点    Ubuntu
2 条回复
xiaobu
2015-03-26 09:17:08 +08:00
LZ这是在科普嘛
snopy
2015-03-26 09:49:04 +08:00
最近在做Cacti监控服务器,我在这只是把google到的方法汇总一下,总有需要的小伙伴

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/179402

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX