WEB开发网
开发学院软件教学网络软件 OpenNMS配置笔记 阅读

OpenNMS配置笔记

 2009-09-27 00:00:00 来源:WEB开发网   
核心提示:OpenNMS是个很强大的网管软件,用它可以监视服务器的资源使用状况,OpenNMS配置笔记,并在必要的时候向管理员发出警告,(当然它的强大功能不止这些,你会发现状态页面的信息一下子多了许多,)这样,我就用到这个功能而已),安装其实也不麻烦

OpenNMS是个很强大的网管软件,用它可以监视服务器的资源使用状况,并在必要的时候向管理员发出警告。(当然它的强大功能不止这些,我就用到这个功能而已)。安装其实也不麻烦,基本上按照官方文档的安装过程都没问题。

网上流传的方法都是将OpenNMS装在Tomcat上,不过最新版的opennms-1.6.1内置了Web服务器,所以Tomcat就不是必须的了,这样安装要方便许多。下面这篇文章是在Redhat Liux Enterprise 4上安装的,其实RH系列的操作系统都差不多,大家在安装时注意选择和操作系统匹配的软件包就行了。

下载

安装PostgreSQL

安装JDK

安装OpenNMS

配置OpenNMS

配置被监视的服务器

在OpenNMS中添加节点

下载

由于局域网中不能使用yum,所以必须手动下载需要的安装包。安装OpenNMS需要以下软件:

PostgreSQL:Linux自带

OpenNMS:从下载页面 选择binaries下载。

jicmp和iplike,从OpenNMS的yum页面可以下载。

JDK,从Sun的下载页面上下载。

安装PostgreSQL

首先安装PostgreSQL:

# rpm -i postgresql-7.4.8-1.RHEL4.1.i386.rpm 
# rpm -i postgresql-server-7.4.8-1.RHEL4.1.i386.rpm 
# chkconfig postgresql on 
# /etc/init.d/postgresql start

然后要编辑配置文件 /var/lib/pgsql/data/pg_hba.cof 中权限相关的部分:

把下面这一行:

local all  all       ident  sameuser

改成这样:

local all  all       trust 
host  all     all     127.0.0.1/32     trust 
host  all     all     ::1/128        trust

然后需要编辑 /var/lib/pgsql/data/postgresql.conf,让它监听TCP。我用的是RHEL4的postgresql-7.4.8,修改方法如下:

#tcpip_socket = false

改成

tcpip_socket = true

如果是较新的服务器,那应该是默认监听TCP的,如果不行,就要在 postgresql.conf 中加入这样一行:

listen_addresses = 'localhost'

然后重启一下服务器:

/etc/init.d/postgresql restart

确认一下postgresql是否启动成功:

# netstat -lntp 
...(中略) 
tcp  0  0 0.0.0.0:5432   0.0.0.0:*  LISTEN  28603/postmaster # 有这一行即可

最后要创建OpenNMS的数据库:

# sudo -u postgres createdb -U postgres -E UNICODE opennms 
CREATE DATABASE

安装JDK

我从Sun的网站上下载了rpm版的JDK 6 Update 11。安装很简单:

# ./jdk-6u11-linux-i586-rpm.bin

安装OpenNMS

安装OpenNMS需要以下几个包:

opennms-1.6.1-1.noarch.rpm:为yum准备的快捷包,不装也行

opennms-core-1.6.1-1.noarch.rpm:OpenNMS的核心

opennms-docs-1.6.1-1.noarch.rpm:OpenNMS的文档

opennms-webapp-jetty-1.6.1-1.noarch.rpm:OpenNMS自带的Web服务器

还有依赖关系:

jicmp-1.0.7-1.i386.rpm:注意这个包,不同系统上的安装包是不一样的

iplike-1.0.7-1.i366.rpm:注意这个包,不同系统上的安装包是不一样的

如果你要与Tomcat配合使用,可以选择安装opennms-webapp-standalone-1.6.1-1.noarch.rpm,这里就不介绍了。

按照顺序分别安装以上几个包:

# rpm -i jicmp-1.0.7-1.i386.rpm 
# rpm -i opennms-core-1.6.1-1.noarch.rpm 
# rpm -i opennms-webapp-jetty-1.6.1-1.noarch.rpm 
# rpm -i opennms-docs-1.6.1-1.noarch.rpm 
# rpm -i opennms-1.6.1-1.noarch.rpm

安装iplike:

# rpm -i iplike-1.0.7-1.i386.rpm

安装过程中会创建存储过程,如果失败的话,可以在排除原因之后执行 /usr/sbin/install_iplike.sh 。

配置OpenNMS

首先设置一个环境变量,指向OpenNMS的安装位置,便于以后的输入:

export OPENNMS_HOME=/opt/opennms

告诉OpenNMS使用新安装的JDK。注意这一步一定要指定你上面刚刚安装的JDK。系统中有可能自带了JRE的java解释器,那个不行,要用JDK的。

# $OPENNMS_HOME/bin/runjava -S /usr/java/latest/bin/java

然后安装OpenNMS的数据库:

# $OPENNMS_HOME/bin/install -dis

最后启动OpenNMS:

# chkconfig --add opennms 
# /etc/init.d/opennms start

然后打开浏览器,访问 http://<your_ip_address>:8980/opennms/ ,用户名admin密码admin,登录就行了。

配置被监视的服务器

要监视服务器的运行状态,应该在要监视的服务器上安装SNMP。如果是Linux系统,那么可以使用自带的net-snmp包。

# rpm -i net-snmp-libs-5.1.2-11.EL4.6.i386.rpm 
# rpm -i net-snmp-5.1.2-11.EL4.6.i386.rpm 
# rpm -i net-snmp-utils-5.1.2-11.EL4.6.i386.rpm 
# chkconfig snmpd on 
# /etc/init.d/snmpd start

然后修改 /etc/snmp/snmpd.conf 。该文件主要由四个指令构成:

com2sec定义一个安全策略。community的作用类似于密码。
group将安全策略映射到组。securityModel指SNMP版本号,可以选择v1、v2c或v3。
view定义一个视图,规定视图中包括的内容。
access定义哪个组可以访问哪个视图,以及访问权限。

view中的一长串数字 .1.3.6.1.2.1.1 是MIB结点名称(OID),由RFC1065/1155定义。用snmptranlsate工具可以看到数字的意义:

# snmptranslate .1.3.6.1.2.1.1 
SNMPv2-MIB::system

我们可以让SNMP返回更多的信息(由于是局域网,所以就不考虑安全性问题了)。按照以下方式修改snmpd.conf,同时注释掉原有内容:

com2sec opennms  192.168.1.100/32  opennms  # 最后一个字段为community名称 
group  opennmsGroup  v1      opennms 
view  view_all   included  .1 
access opennmsGroup  ""   any    noauth  exact view_all none none

另外syslocation和syscontact指令是用来记录服务器所在物理位置和管理员联系地址的,适当填写即可。

最后重启SNMP:

# /etc/init.d/snmpd restart

用snmpwalk工具检查配置是否正确,正确的话应该会输出很多信息:

# snmpwalk -c opennms -v 1 192.168.1.100

最后将每台要监视的服务器都按照上述方法配置即可。

在OpenNMS中添加节点

登录到OpenNMS中,点击Admincaidan,然后点击左侧Operations中的Configure Discovery。在Specifics表格中将要监视的服务器的IP地址填进去。如果要监视大范围的服务器,可以在下面的Include Ranges中指定IP地址的范围。最后点击“Save and Restart Discovery”,重新开始搜索节点。

opennms-add-discovery.png

稍等几分钟,再点击Node List菜单,即可看到刚刚添加的服务器。

opennms-node-without-snmp.png

但是现在在服务器状态中还看不到SNMP信息,因为我们还没设置SNMP的community名称—— 刚才说过,community名称相当于密码。

点击Admin菜单,然后选择左侧的Configure SNMP Community Names by IP命令。然后输入IP地址,以及刚才在snmpd.conf中使用的community名称,版本号也要与snmpd.conf的group指令中设置的一致,最后点击Submit。

接下来回到Node List,进入要监视的服务器的状态页面,点击上方菜单中的Rescan。等待一分钟左右再刷新页面,就可以看到SNMP状态信息了。(由于有了SNMP的帮助,你会发现状态页面的信息一下子多了许多。)

opennms-node-with-snmp.png

这样,我们可以通过点击上方的Resource Graphs即可看到服务器运行状态的图表。

opennms-memory-stats.png

Tags:OpenNMS 配置 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接