使用OpenNMS和SNMP打造开源系统管理工具

日期: 2010-12-21 作者:Jeff Gehlbach翻译:黄永兵 来源:TechTarget中国 英文

在上一篇文章中,我们为服务保证配置了OpenNMS,你可能会发现,除了你配置的通知外,OpenNMS会根据监控的特定服务的响应时间历史数据生成图表,如图1所示,这个信息对确定服务的响应能力非常有用。  图1:DNS响应时间OpenNMS资源图   OpenNMS也提供了性能管理子系统,让你能看到更深入的系统统计数据,进而更准确地找出性能倒退的原因,有时甚至可以帮助侦察到发展中的问题,避免进一步影响到服务。要获得性能数据需要一些管理“代理”,OpenNMS支持多种性能管理协议,本系列文章重点关注简单网络管理协议(SNMP),因为几乎任何服务器操作系统和网络设备都支持SNMP。   Op……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在上一篇文章中,我们为服务保证配置了OpenNMS,你可能会发现,除了你配置的通知外,OpenNMS会根据监控的特定服务的响应时间历史数据生成图表,如图1所示,这个信息对确定服务的响应能力非常有用。

使用OpenNMS和SNMP打造开源系统管理工具
 
图1:DNS响应时间OpenNMS资源图

  OpenNMS也提供了性能管理子系统,让你能看到更深入的系统统计数据,进而更准确地找出性能倒退的原因,有时甚至可以帮助侦察到发展中的问题,避免进一步影响到服务。要获得性能数据需要一些管理“代理”,OpenNMS支持多种性能管理协议,本系列文章重点关注简单网络管理协议(SNMP),因为几乎任何服务器操作系统和网络设备都支持SNMP。

  OpenNMS中的SNMP

  SNMP协议有三种版本:SNMP v1,SNMP v2和SNMP v3,有些老式和嵌入式设备仅支持SNMP v1,一些高安全环境需要SNMP v3增强的安全模型,但SNMP v2c在功能和复杂性之间取得了很好的平衡。

  要开始性能管理,你需要在你的服务器操作系统上安装和配置SNMP代理及相关工具,为简便起见,我们继续限制我们的管理节点服务器运行Red Hat Enterprise Linux 5或CentOS 5,并包括Net-SNMP代理和默认库中的工具,使用yum包管理器安装这些包:

  yum install net-snmp net-snmp-utils

  你需要编辑/etc/snmp/snmpd.conf文件,创建一个读社区字符串(通过SNMP请求数据时使用的大小写敏感的密码),打开管理信息库(MIB)的默认视图,开启文件系统容量监测,要设置社区字符串,在snmpd.conf文件顶部附近找到下面的内容:

  #       sec.name       source        community
  com2sec notConfigUser  default       public

  将默认的“public”修改为只有你知道的字符串,社区字符串不能包含空格,最好也不要包含@符号,记住你设置的值,后面你还会用到它。

  接下来打开Net-SNMP默认视图,注意要包括整棵MIB树,在snmpd.conf文件中找到下面两行内容:

  view    systemview    included   .1.3.6.1.2.1.1
  view    systemview    included   .1.3.6.1.2.1.25.1.1

  在它们后面增加第三行,内容如下:

  view    systemview    included   .1.3

  最后,告诉Net-SNMP代理监测并显示你关注的文件系统的容量。为了监测每个文件系统的容量,在snmpd.conf文件的末尾添加下面这些代码,格式遵循“磁盘 [挂载点]”,例如,如果根(/),/var和/home文件系统挂载在独立的块设备上,你要添加下面三行代码:

  disk /
  disk /var
  disk /home

  保存你的修改,输入下面的命令重启Net-SNMP守护进程服务:

  service snmpd restart

  如果你的服务器开启了系统防火墙,你需要配置它允许从OpenNMS服务器到UDP端口161(标准的SNMP端口)的通信,在Debian和Ubuntu系统上,你可能需要告诉snmpd监听除了本地回环接口(127.0.0.1)之外的其它接口,这个设置一直都在/etc/default/snmpd中,但Ubuntu 10.10将其转移到/etc/snmp/snmpd.conf中了。

  现在,你需要告诉OpenNMS使用哪个SNMP社区字符串访问你的服务器,在OpenNMS Web用户界面中,进入“管理”*“通过IP配置SNMP社区名称”,在结果表单中,输入IP地址的起止范围,协议版本选择v2c,超时值和重试值保留默认设置,除非你的网络有许多慢速链接,提交表单,然后告诉OpenNMS重新扫描你新开启SNMP的服务器,在节点的详细页面(在主导航条中点击“节点列表”打开),点击“重新扫描”链接,确认你想重新扫描的节点,等几分钟重新扫描完成后,你应该在节点详细信息页面看到一个新的SNMP属性对话框,如图2所示。

使用OpenNMS和SNMP打造开源系统管理工具
 
图2:一个开启SNMP的Linux服务器的OpenNMS SNMP属性对话框

  如果你看到这个对话框,上面的MIB视图也变正确了,最艰难的工作就完成了。OpenNMS自动决定从那种节点收集SNMP数据,在五分钟内,点击节点详细信息页面中的“资源图表”链接,你将会看到收集到的SNMP性能数据,如图3和图4所示,注意要选择“节点级性能数据”,加上网络接口名称和文件系统挂载点,然后点击“为所选资源生成图表”。

使用OpenNMS和SNMP打造开源系统管理工具
 
图3:Linux服务器系统平均负载OpenNMS资源图表

使用OpenNMS和SNMP打造开源系统管理工具
 
图4:Linux服务器网络接口流量OpenNMS资源图表

  你可以轻松地将这些资源图表放入KSC(Key SNMP Custom)报告,在单个视图中展示许多独立资源的数据,OpenNMS也可以在任何单个性能属性上做Top-N和Bottom-N统计报告,并且是跨接口和节点的,如图5所示。

使用OpenNMS和SNMP打造开源系统管理工具
 
图5:所有接口和节点入站网络流量OpenNMS Top-N统计报告

  OpenNMS性能管理的好处

  资源图表和统计报告使用磁盘文件中存储的历史数据,OpenNMS根据用户设置的阀值实时和性能属性(或包含多个属性的表达式)的值做比较,一旦超过阀值,OpenNMS创建一个事件触发一条通知,根据通知信息,你可以立即知道某个夜间执行的批处理作业将会填满磁盘空间,这样你可以提前释放一些空间,应用程序管理员会永远记得你的大恩大德。

  OpenNMS性能数据在新的经营报告中也证明是很有用的,这个令人振奋的功能允许性能数据,以及来自服务监控的延迟数据和事件、警报和中断数据一起在PDF报告中展示,值得一提的是,OpenNMS内置了JasperReports软件堆栈。

  OpenNMS的性能管理能力是服务保证功能的有力补充,在下一篇文章中,我们将把重点放在使用syslog-ng软件包构建一个完全免费和开源的日志聚合服务器上,但后面我们还会继续介绍OpenNMS和它的事件管理子系统。

相关推荐