`
guwenwu285
  • 浏览: 36698 次
社区版块
存档分类
最新评论

OpenNMS--SNMP安装及配置(RRD)--开源监控软件

阅读更多

一.NET-SNMP包的安装与配置

1.安装net-snmp:

Ubuntu11.10:apt-get install snmp snmpd
CentOS6.2: yum install net-snmp net-snmp-devel net-snmp-utils
启动SNMP服务:/etc/init.d/snmpd start
查看SNMP版本:snmpget --version
2.SNMP配置:/etc/snmp/snmpd.conf(需要root权限)
(1)对于SNMP V3版本,默认设置是监听本机的snmp请求,应该将其修改成成监听所有设备的请求,V2c版本不用修改。
# 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
(2)配置SNMP的访问权限,
默认的访问权限设置如下,这个设置只能收集到系统的基本信息。
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
# group context sec.model sec.level prefix read write notif access notConfigGroup "" any noauth exact systemonly none none
可以修改成:
view all included .1
# group context sec.model sec.level prefix read write notif access notConfigGroup "" any noauth exact all none none
(3)如果需要修改默认的Community String可以将public替换掉:
com2sec notConfigUser 0.0.0.0 public

配置完成后,检查snmp是否能够访问:snmpwalk -v 2c -c public YourIpAddress
(4)如果完成以上配置后依然无法访问SNMP服务,可以尝试
#sudo lsof-i:161
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
snmpd 1212 root 6u IPv4 11012 0t0 UDP *:snmp
PS:如果这里显示为snmpd 9641snmp 6u IPv4 29940 0t0 localhost:snmp:snmp
说明161端口是监听在localhost上的,也就是说不对外开放,只能访问本地的161端口。
iptables -A INPUT -p udp -i eth0 --dport 161 -j ACCEPT 将161端口开放

或关闭掉iptables



二.SNMP数据收集,RRD数据存储方式配置。

(1).SNMP version与Community配置
默认的SNMP版本和是V2c,密码是piblic。添加节点时可以在页面修改。
或者在Admin->Configure SNMP Community Names by IP中根据不同的IP配置
配置文件:($OPENNMS_HOME/etc/snmp-config.xml)
配置文件中的标签和属性含义:
<snmp-config>标签中定义的属性为全局的,适用与所有设备。
retry:重连次数,默认为1
timeout:等待时间,单位是毫秒,默认为3000
read-community:利用SNMP读取数据的密码,默认为public
write-community:利用SNMP写数据的密码,当前版本没有实现。
port:SNMP的端口,默认161
<definition>中的属性为局部的,仅适用与标签内指定的IP,并会覆盖全局属性。
(2).配置数据收集colletd进程
配置文件:$OPENNMS_HOME/collectd-configuration.xml
配置文件中的标签和属性含义:
collectd-configuration.xml
threads:用于收集数据的线程数量
<package>将设备分组进行数据收集
<filter> :对package中的设备进行过滤,IP地址满足过滤条件的设备将被包含在这个package中
<filter>IPADDR IPLIKE *.*.*.*</filter>
<specific> 指定一个特定的IP到package中
<include-range >指定一个特定IP范围到package中 <include-range begin="192.168.0.1" end="192.168.0.254"/>
<exclude-range>在package中排除范围内的设备
<exclude-range begin="192.168.0.100" end="192.168.0.104"/>
<include-url >指定一个文件文件中所有的IP都将包含到package中
<include-url>file:/opt/OpenNMS/etc/include</include-url>
<Services>为package中的设备配置数据收集服务,其中包含以下属性:
name:服务的名字,如SNMP、OpenNMS-JVM
interval:收集数据的时间间隔,单位为毫秒,默认为300000(5分钟)
user-defined:当前的版本还没有实现这个功能
parameter:设置变量
<outage>用于配置计划中的中断、故障
(3)SNMP数据收集配置以及RRD配置
配置文件:$OPENNMS_HOME/datacollection.xml
<snmp-collection>中定义了SNMP需要收集的数据组、RRD存储方式和存储目录
RRD
rrdRepository:属性定义了RRD存储目录,如果修改这一属性,因同时修改一下配置文件中的内容:
poller-configuration.xml
thresholds.xml
http-datacollection-config.xml
jmx-datacollection-config.xml
nsclient-datacollection-config.xml
<rrd>标签定义了rrd数据存储方式,如:
<rrd step="30">
<rra>RRA:AVERAGE:0.5:1:2016</rra>
</rrd>
step;步长,以秒为单位,默认值是300。
<rra>中的内容是RRD存储数据的详细配置,格式如下:
RRA:Cf:xff:steps:rows
RRA:表明这是一个RRD数据的配置命令。
Cf:存储内容统计函数,包含AVERAGE, MAX, MIN, LAST四种。
xff是一个影响因子,用于防止一个统计周期内大量数据丢失的情况,默认值是0.5,即允许有50%的数据丢失
steps,即多少个步长进行一次统计,并将数据存储为一行。
rows,表示RRD总共存储多少行数据。
如:step=300 RRA:AVERAGE:0.5:1:2016 表示,存储5分钟内的平均值,允许有50%的数据丢失,总共存储2016条数据
SNMP
<include-collection dataCollectionGroup="MIB2"/> 将SNMP收数据分成组,
每一个组都在$OPENNMS_HOME/etc/datacoll ection中有一个对应的配置文件。
其中配置了每个数据的ID和名字,系统已经自动配置好了大部分的数据,如果有需求可以手动在其中添加。



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics