March 2,2006

[筆記]在CentOS 4.2上安裝OpenNMS 1.2.7

嗯,有句話叫做Eat one's own dog food,這次我在安裝的時候,刻意參考我之前翻譯的OpenNMS安裝指南(繁體中文),親身體驗一下這份文件到底管不管用:)

這回我是在CentOS 4.2上面安裝OpenNMS 1.2.7,我翻譯的版本是1.2.4,不過差異不大,還可以用。

提醒大家,這篇筆記只是記載一些重點,還是建議妳要參考安裝指南喔。

我這次裝的Java SDK是1.4.2_10(j2sdk-1.4.2_10-fcs),Tomcat4是從OpenNMS FTP站抓回來的tomcat4-4.1.18-full.1jpp.noarch.rpm和tomcat4-webapps-4.1.18-full.1jpp.noarch.rpm。

RRDtool也是抓OpenNMS FTP站的rrdtool-1.0.49-1.1.fc3.fr.i386.rpm

curl我直接用yum -y install curl從CentOS那邊抓來裝,metamail已經不用囉。

在檔案/etc/tomcat4/tomcat4.conf裡面設定變數 JAVA_HOME如下:
JAVA_HOME="/usr/java/j2sdk1.4.2_10/"

至於postgresql,CentOS 4不叫它做rhdb了,裝postgresql-server就是了。啟動postgresql讓設定檔產生出來,等會要修改

[root@localhost packages]# /etc/init.d/postgresql start
初始化資料庫: [ 確定 ]
啟動 postgresql 服務: [ 確定 ]
[root@localhost packages]#

修改/var/lib/pgsql/data/postgresql.conf,這邊抱怨一下SourceForge,讓我的文件掉字(英文原版也會掉),這個檔一共要改三行,改成如下:

tcpip_socket = true
max_connections = 256
shared_buffers = 1024

至於pg_hba.conf,我只改了底下這行(把前面的#拿掉即可)
host all all 127.0.0.1 255.255.255.255 trust
改完重新啟動postgresql:

[root@localhost data]# /etc/init.d/postgresql restart
停止 postgresql 服務: [ 確定 ]
啟動 postgresql 服務: [ 確定 ]
[root@localhost data]#

關於用哪個帳號來執行tomcat,這次我選擇不要用root,用tomcat安裝時在/etc/passwd所增加的帳號,也就是"tomcat4"。因此,文件中數個地方所說的tomcat帳號應該是tomcat4帳號,例如我的/etc/group有一行如下:

tomcat4:x:91:tomcat4,root

我用文件中提到的指令稿 runjava -s 搜尋java不成功,所以我就用 -S 參數直接指定:
[root@localhost ~]# /opt/OpenNMS/bin/runjava -S /usr/java/j2sdk1.4.2_10/bin/java

接下來把運行安裝程式的結果貼上來給大家參考:

[root@localhost data]# $OPENNMS_HOME/bin/install -disU
==============================================================================
OpenNMS Installer Version $Id: Installer.java,v 1.35.2.1 2005/03/13 03:57:20 djgregor Exp $
==============================================================================

Configures PostgreSQL tables, users, and other miscellaneous settings.

- checking database version... 7.4
- Full version string: PostgreSQL 7.4.8 on i686-redhat-linux-gnu, compiled by GCC gcc (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22)
* using 'opennms' as the PostgreSQL user for OpenNMS
* using 'opennms' as the PostgreSQL password for OpenNMS
* using 'opennms' as the PostgreSQL database name for OpenNMS
- using SQL directory... /opt/OpenNMS/etc
- using create.sql... /opt/OpenNMS/etc/create.sql
- using iplike module... /opt/OpenNMS/lib/iplike.so
- checking database for old backup tables... NONE
- checking for rows that violate constraints... NONE
- creating tables...
- checking table "serverMap"... CREATED
- checking table "serviceMap"... CREATED
- checking table "distPoller"... CREATED
- checking table "node"... CREATED
- checking table "ipInterface"... CREATED
- checking table "snmpInterface"... CREATED
- checking table "service"... CREATED
- checking table "ifServices"... CREATED
- checking table "events"... CREATED
- checking table "outages"... CREATED
- checking table "vulnerabilities"... CREATED
- checking table "vulnPlugins"... CREATED
- checking table "notifications"... CREATED
- checking table "usersNotified"... CREATED
- checking table "assets"... CREATED
- creating tables... DONE
- creating sequences...
- checking "nodeNxtId" minimum value... 1
- removing sequence "nodeNxtId"... CLEAN
- creating sequence "nodeNxtId"... OK
- checking "serviceNxtId" minimum value... 1
- removing sequence "serviceNxtId"... CLEAN
- creating sequence "serviceNxtId"... OK
- checking "eventsNxtId" minimum value... 1
- removing sequence "eventsNxtId"... CLEAN
- creating sequence "eventsNxtId"... OK
- checking "outageNxtId" minimum value... 1
- removing sequence "outageNxtId"... CLEAN
- creating sequence "outageNxtId"... OK
- checking "notifyNxtId" minimum value... 1
- removing sequence "notifyNxtId"... CLEAN
- creating sequence "notifyNxtId"... OK
- checking "vulnNxtId" minimum value... 1
- removing sequence "vulnNxtId"... CLEAN
- creating sequence "vulnNxtId"... OK
- creating sequences... DONE
- creating indexes...
- creating index "server_name_idx"... OK
- creating index "servicemap_name_idx"... OK
- creating index "serviceMap_ipaddr_idx"... OK
- creating index "node_id_type_idx"... OK
- creating index "node_label_idx"... OK
- creating index "ipinterface_nodeid_ipaddr_ismanaged_idx"... OK
- creating index "ipinterface_ipaddr_ismanaged_idx"... OK
- creating index "ipinterface_ipaddr_idx"... OK
- creating index "ipinterface_nodeid_ismanaged_idx"... OK
- creating index "ipinterface_nodeid_idx"... OK
- creating index "snmpinterface_nodeid_ifindex_idx"... OK
- creating index "snmpinterface_nodeid_idx"... OK
- creating index "snmpinterface_ipaddr_idx"... OK
- creating index "ifservices_nodeid_ipaddr_status"... OK
- creating index "ifservices_nodeid_status"... OK
- creating index "ifservices_nodeid_idx"... OK
- creating index "ifservices_serviceid_idx"... OK
- creating index "ifservices_nodeid_serviceid_idx"... OK
- creating index "events_uei_idx"... OK
- creating index "events_nodeid_idx"... OK
- creating index "events_ipaddr_idx"... OK
- creating index "events_serviceid_idx"... OK
- creating index "events_time_idx"... OK
- creating index "events_severity_idx"... OK
- creating index "events_log_idx"... OK
- creating index "events_display_idx"... OK
- creating index "events_ackuser_idx"... OK
- creating index "events_acktime_idx"... OK
- creating index "outages_svclostid_idx"... OK
- creating index "outages_svcregainedid_idx"... OK
- creating index "outages_nodeid_idx"... OK
- creating index "outages_ipaddr_idx"... OK
- creating index "outages_serviceid_idx"... OK
- creating index "outages_regainedservice_idx"... OK
- creating index "vulnerabilities_nodeid_idx"... OK
- creating index "vulnerabilities_ipaddr_idx"... OK
- creating index "vulnerabilities_severity_idx"... OK
- creating index "vulnerabilities_port_idx"... OK
- creating index "vulnerabilities_protocol_idx"... OK
- creating index "vulnplugins_plugin_idx"... OK
- creating index "notifications_ipaddr_idx"... OK
- creating index "notifications_serviceid_idx"... OK
- creating index "notifications_eventid_idx"... OK
- creating index "notifications_respondtime_idx"... OK
- creating index "notifications_answeredby_idx"... OK
- creating index "userid_notifyid_idx"... OK
- creating indexes... DONE
- inserting initial table data for "distPoller"... OK
- checking if database "opennms" is unicode... ALREADY UNICODE
- checking for stale iplike references... CLEAN
- checking for stale eventtime.so references... CLEAN
- adding iplike database function... OK
- adding PL/pgSQL call handler... OK
- adding PL/pgSQL language module... OK
- adding stored procedures...
- getManagedOutageForIntfInWindow.sql... OK
- getManagedServiceCountForIntf.sql... OK
- getOutageTimeInWindow.sql... OK
- getManagePercentAvailIntfWindow.sql... OK
- getManagedServiceCountForNode.sql... OK
- getManagedOutageForNodeInWindow.sql... OK
- getPercentAvailabilityInWindow.sql... OK
- getManagePercentAvailNodeWindow.sql... OK

Installer completed successfully!

[root@localhost data]# $OPENNMS_HOME/bin/install -y -w $CATALINA_HOME/webapps -W $CATALINA_HOME/server/lib
==============================================================================
OpenNMS Installer Version $Id: Installer.java,v 1.35.2.1 2005/03/13 03:57:20 djgregor Exp $
==============================================================================

Configures PostgreSQL tables, users, and other miscellaneous settings.

* using 'opennms' as the PostgreSQL user for OpenNMS
* using 'opennms' as the PostgreSQL password for OpenNMS
* using 'opennms' as the PostgreSQL database name for OpenNMS
- using Top-level web application directory... /var/tomcat4/webapps
- using Tomcat server library directory... /var/tomcat4/server/lib
- using OpenNMS webapps directory... /opt/OpenNMS/webapps
- Checking for old opennms webapp directory in /var/tomcat4/webapps/opennms... OK
- Checking for old opennms context in /var/tomcat4/webapps/../conf/server.xml... OK
- Install OpenNMS webapp...
- creating link to /var/tomcat4/webapps/opennms.xml... DONE
- creating link to /var/tomcat4/server/lib/log4j.jar... DONE
- creating link to /var/tomcat4/server/lib/castor-0.9.3.9.jar... DONE
- creating link to /var/tomcat4/server/lib/castor-0.9.3.9-xml.jar... DONE
- creating link to /var/tomcat4/server/lib/opennms_core.jar... DONE
- creating link to /var/tomcat4/server/lib/opennms_services.jar... DONE
- creating link to /var/tomcat4/server/lib/opennms_web.jar... DONE
- Installing OpenNMS webapp... DONE

Installer completed successfully!
[root@localhost data]#

文件中只有提到用chkconfig讓opennms服務開機時自動啟動,其實tomcat4和postgresql也得這麼做:

[root@localhost ~]# chkconfig --list tomcat4
tomcat4 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
[root@localhost ~]# /etc/init.d/tomcat4 start
Starting tomcat4: [ 確定 ]
[root@localhost ~]# chkconfig tomcat4 on
[root@localhost ~]# chkconfig --list tomcat4
tomcat4 0:關閉 1:關閉 2:開啟 3:開啟 4:開啟 5:開啟 6:關閉
[root@localhost ~]# chkconfig --list postgresql
postgresql 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
[root@localhost ~]# chkconfig postgresql on
[root@localhost ~]# chkconfig --list postgresql
postgresql 0:關閉 1:關閉 2:開啟 3:開啟 4:開啟 5:開啟 6:關閉
[root@localhost ~]# chkconfig --add opennms
[root@localhost ~]# chkconfig --list opennms
opennms 0:關閉 1:關閉 2:關閉 3:開啟 4:開啟 5:開啟 6:關閉
[root@localhost ~]#


記得修改 $OPENNMS_HOME/etc/discovery-configuration.xml,設定一下自動發掘哪個範圍的ip位址。

[root@localhost ~]# service opennms start
Starting OpenNMS: [ 確定 ]
[root@localhost ~]#


我有遇到tomcat的問題,後來是按照安裝指南的建議:

Tomcat有個"工作"目錄(通常是$CATALINA_HOME/work)用來儲存JSP頁面的Java程式碼,以及JSP的compiled classes。有些使用者一直遇到跟網頁應用程式有關的問題,直到清除工作目錄並重新啟動Tomcat才解決。有鑑於此,如果前述方法都無法讓網頁應用程式正常運作,我們建議妳執行"rm -rf $CATALINA_HOME/work"。


我把這個目錄砍掉,重新啟動tomcat,卻又發現這個目錄沒有自己產生,於是又手動建立。也許只要把目錄底下的東西清光就好了?

登入之後,先來改管理者密碼吧!
點選右上角的Admin,再點左邊的Configure Users and Groups,再點Configure Users,點選管理者帳號admin前面的Modify圖示,再點Reset Password圖示,在對話框輸入兩次密碼按ok,記得還要在前一個畫面左下角點選Finish,才是改好密碼喔!

好啦,大功告成,謝謝收看!

Posted by ystuan at 樂多Roodo! │23:18 │回應(28)引用(0)自由軟體-網路管理
樂多分類:網路/3C 共同主題:自由軟體 工具:編輯本文
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/1196735
回應文章
幫推
Posted by eek at March 6,2006 09:29
對不起想請問一下~跟本文無關的問題~
您是怎麼學習英文的呢?
抱歉打擾了~
自由軟體的文件幾乎都是英文~真傷腦經~
謝謝您的BLOG真的太棒了
Posted by 小米糕 at March 6,2006 09:58
eek,
謝謝,不過我看了一下,樂多日誌的排名,好像是把發表,回應,以及引用來做加權(也有人說前兩者一篇就是一個p,引用則不計算)。我談的題目,就算在網路/3C這個類別裡面來看
http://blog.roodo.com/cat_blog/7
還是比較冷門。所以,一切順其自然囉:)
Posted by PowerOp at March 6,2006 12:08
小米糕,
大哉問,我特地寫了一篇,請參考(竟然)有人問我如何學習英文
Posted by PowerOp at March 6,2006 15:01
大哥

佩服您的功力

我就連看了您的譯本照著安裝也搞不起來

我弄了兩天

最後放棄

我只能說真是太困難了~~當然是對我而言
Posted by 路人 at March 24,2006 14:20
可否幫我看一下是那出錯

root@localhost ~]# /opt/OpenNMS/bin/install -disU root
==============================================================================
OpenNMS Installer Version $Id: Installer.java,v 1.35.2.1 2005/03/13 03:57:20 djgregor Exp $
==============================================================================

Configures PostgreSQL tables, users, and other miscellaneous settings.

Exception in thread "main" java.lang.Exception: too many command-line arguments specified
at org.opennms.install.Installer.parseArguments(Installer.java:453)
at org.opennms.install.Installer.install(Installer.java:180)
at org.opennms.install.Installer.main(Installer.java:2450)
[root@localhost ~]# /opt/OpenNMS/bin/install -disU
==============================================================================
OpenNMS Installer Version $Id: Installer.java,v 1.35.2.1 2005/03/13 03:57:20 djgregor Exp $
==============================================================================

Configures PostgreSQL tables, users, and other miscellaneous settings.

Exception in thread "main" org.postgresql.util.PSQLException: 連線失敗,因為Exception: java.net.SocketException: Invalid argument or cannot assign requested address
Stack Trace:

java.net.SocketException: Invalid argument or cannot assign requested address
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:461)
at java.net.Socket.connect(Socket.java:411)
at java.net.Socket.(Socket.java:310)
at java.net.Socket.(Socket.java:125)
at org.postgresql.core.PGStream.(PGStream.java:47)
at org.postgresql.jdbc1.AbstractJdbc1Connection.openConnection(AbstractJdbc1Connection.java:197)
at org.postgresql.Driver.connect(Driver.java:139)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at org.opennms.install.Installer.databaseConnect(Installer.java:613)
at org.opennms.install.Installer.install(Installer.java:195)
at org.opennms.install.Installer.main(Installer.java:2450)
End of Stack Trace

at org.postgresql.jdbc1.AbstractJdbc1Connection.openConnection(AbstractJdbc1Connection.java:208)
at org.postgresql.Driver.connect(Driver.java:139)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at org.opennms.install.Installer.databaseConnect(Installer.java:613)
at org.opennms.install.Installer.install(Installer.java:195)
at org.opennms.install.Installer.main(Installer.java:2450)
Posted by 路人 at March 24,2006 17:18
路人,
從網誌的管理介面看到兩則留言來自同一個ip,我就一併回答囉。

妳說「我就連看了您的譯本照著安裝也搞不起來」,從這一點來看,我的功力不管好不好,都沒有幫上妳的忙 :Q

雖然妳說參考我的文件,不過我覺得在貼上錯誤訊息的時候,妳還是應該告知一些基本資訊,例如作業系統(Linux?)、哪個distro(CentOS?),OpenNMS版本,tomcat版本,postgresql版本等等。

我用底下這一串當作keyword丟給Google/Google Groups,

org.postgresql.util.PSQLException "Exception: java.net.SocketException: Invalid argument or cannot assign requested address"

這一篇雖然談的是一個叫dspace的軟體安裝過程,不過看起來應該指向同樣的問題,也就是pg_hba.conf的設定,也許妳可以把這個檔案貼出來?
既然妳留了email,我會順便寄信提醒妳過來這裡看一看。有問題這邊討論,也許可以幫到其他的網友:)
Posted by PowerOp at March 24,2006 22:49
多謝您的幫忙

您真是好人阿

萬一以後碰不到這麼好的人怎麼辦~~慌了

因為機器目前不在身邊

所以沒辦法試。

還有對不起,原諒我的無知

沒注意發問的藝術,忘了貼上系統版本等資訊

下次我會多注意的。FC4完全安裝

最後多謝你的翻譯,沒有您的翻譯我想我可能連如何下手都不知道吧

畢竟英文是我的天然屏障

雖然拜讀過你的如何學英文不過還是

嘿嘿嘿
Posted by 路人 at March 25,2006 20:38
太美好了

我重新安裝CENTOS 4

在經歷許多小問題後終於安裝好了

太感動了~~~
Posted by 路人 at March 29,2006 09:46
路人(應該還是同一位吧?),

恭喜妳,我相信FC4應該也可以順利安裝OpenNMS的,不過在CentOS 4上面安裝成功也是值得慶賀的:)

有句老話:「聞道有先後,術業有專攻」,我只是依照我的經驗,建議妳一些方向罷了。或許妳可以說說妳安裝過程遇到了哪些問題,也許安裝指南可以在那些章節寫的更詳細一點?

關於問與答,我以前寫過一篇人曰嗟來答,答否?,有空可以看看。

另外,可以考慮不要用「路人」,"Guest"之類的姓名留言嗎?
Posted by PowerOp at March 29,2006 12:01
您好阿版大

您真的是相當有學問也

不僅英文好~連國文造詣也不錯

我想這世上無幾人了吧。

安裝過程中發生的問題?我想想

其實都是我沒注意到某個套件沒安裝

opennms-webapp-1.2.7-1_centos4.i386.rpm

不知為何直覺式略過沒安裝

所以搞半天搞不出來

還有就是PostgreSQL的帳號問題XD

總之看著你的教學應該都可以順利安裝完畢

只是不知為何我搞這麼久

還是回去種地瓜吧

慘~~~
Posted by 翻滾吧!"男人" at March 30,2006 09:20
翻滾吧!"男人",

承蒙謬讚,愧不敢當。某位素昧平生的學弟說過:

自大是樣本空間不足所造成的錯誤判斷

慎之,慎之。
Posted by NTUEE 97 PowerOp at March 31,2006 17:06
我的运行环境是Linux 2.6.11-1.1369_FC4smp ,jboss-3.2.3,db postgres7.4.8
错误也是这个问题,都改了相应的配置 但是还是这个错误, 什么原因?能帮忙回答吗 谢谢
Posted by Dennis at April 4,2006 12:03
state: FAILED
I Depend On:
Depends On Me: org.jboss.deployment.DeploymentException: Error while fixing table name; - nested throwable: (org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (org.postgresql.util.PSQLException: The connection attempt failed because Exception: java.net.SocketException: Invalid argument or cannot assign requested address
Stack Trace:

java.net.SocketException: Invalid argument or cannot assign requested address
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:461)
at java.net.Socket.connect(Socket.java:411)
at java.net.Socket.(Socket.java:310)
at java.net.Socket.(Socket.java:125)
at org.postgresql.core.PGStream.(PGStream.java:47)
at org.postgresql.jdbc1.AbstractJdbc1Connection.openConnection(AbstractJdbc1Connection.java:197)
at org.postgresql.Driver.connect(Driver.java:139)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:150)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:477)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:213)
at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:496)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:425)
at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:318)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:477)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:814)
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:102)
at org.jboss.ejb.plugins.cmp.jdbc.SQLUtil.fixTableName(SQLUtil.java:118)
at org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCEntityBridge.init(JDBCEntityBridge.java:147)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.initStoreManager(JDBCStoreManager.java:420)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManager.java:357)
at org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManager.java:152)
at org.jboss.ejb.EntityContainer.startService(EntityContainer.java:342)
at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
at $Proxy14.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:394)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
at $Proxy30.start(Unknown Source)
at org.jboss.ejb.EjbModule.startService(EjbModule.java:331)
at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
Posted by Dennis at April 4,2006 12:05
求助
Posted by Dennis at April 4,2006 12:23
Dennis,

這篇談的是OpenNMS這個用在網路管理的自由軟體。它需要用到PostgreSQL這個自由軟體的資料庫。也因此,前面有網友問到了OpenNMS安裝過程中,跟PostgreSQL有關的錯誤訊息。

應該是搜尋引擎帶妳到這裡來的吧?妳用的東西看起來是JBoss,唯一的共同點大概是,也用到了PostgreSQL?而且產生了類似的錯誤訊息?

我壓根沒用過JBoss,更不曉得妳是根據什麼文件安裝什麼軟體而產生前述錯誤訊息。也就是說,根本無從幫起。硬要我猜的話,那我猜應該也是pg_hba.conf的問題吧。
Posted by PowerOp at April 4,2006 13:57
各位大大:
我是在fedora 四上裝opennms 1.2.7
now I have 3 question , all of the question's solution I find in opennnms mail list. But I still not solve it .

因為這是一個客戶需求所以有時間限制如果你知道如何達成並幫助的話
我們公司也會提供報酬表示感謝
感謝幫忙!

First import the mib with mib2opennms fail:
 ”error while loading shared libraries: libsmi.so.2: cannot open shared object file: No such file or directory” The solution is two :
1. to symblolic libsmi.so.2 -> libsmi.so.2.0.23

2. /etc/ld.so.conf and then running ldconfig. Failing
that, try running "ldd
/usr/local/bin/mib2opennms" to see where mib2opennms
is expecting to
find it, (copy, move, symlink, or recompile if it"s
not right).
But is not work.

Second is mail notification fail :

The error log is following :
2006-04-27 17:26:53,307 DEBUG [Thread-227] NotificationTask: command email return code = 0
2006-04-27 17:26:54,200 DEBUG [Thread-225] CommandExecutor: Command completed with return code 0
2006-04-27 17:26:54,201 DEBUG [Thread-225] NotificationTask: command email return code = 0

But I still not receive the mail.

Third : the Audio
alarm:
http://sourceforge.net/mailarchive/message.php?msg_id=9394417

Thanks

Best regard

JJ.Chiou
E-mail:jjchiou@jimsontec.com.tw
Posted by 邱景政 at May 3,2006 13:02
邱先生,
我注意到,您已經將第一個問題(mib2opennms)發到opennms-discuss郵件論壇了。這是一個很好的做法,您應該考慮將另外兩個問題也發過去。

因為我也有訂閱opennms-discuss,剛才我試著在那兒回覆您的第一個問題。說穿了只是幫您找出Question about libsmi for mib2opennms這個討論串;發問者一樣是在FC4上面裝OpenNMS。

第二個問題(email notification),在 NotificationStrategy class有提到,回傳值為0代表執行成功。一般程式設計應該都是這樣,傳回非0的值才是失敗。
我的直覺,問題不是出在OpenNMS。要不要先確認該主機可以用一般的方式寄送電郵?

第三個問題(audio alarm),您貼的網址舉出了一種做法,不曉得您遇到的問題是什麼呢?是實做這個方法的時候,遇到了什麼問題,還是你們仍然在尋找其他的方法?如果是前者,也許您可以透過郵件論壇試著聯絡原發信人;如果是後者,也許可以參考FAQ-Configuration裡面的一些方向,例如
Q: How Do I Add Custom Notification Commands?
Q: How can I use jabber (XMPP) notifications?

再次謝謝您的問題,不過敝小站的人氣有限(在這裡發問沒幾個人看得到...),本人的能力、時間也有限(我也有客戶,老婆,小孩...),留言我是一定會回的,來不來得及,幫不幫的上,就不是我能保證的囉。
Posted by PowerOp at May 8,2006 00:24
我參考你的安裝指南,安裝在centos4.2 opennms,postgresql,tomcat4都順利啟動,可是http://server_ip:8080/opennms卻找不到

我想應該是tomcat找不到對應的路徑
執行
$OPENNMS_HOME/bin/install -y -w $CATALINA_HOME/webapps -W $CATALINA_HOME/server/lib時
$CATALINA_HOME我是指到/var/tomcat4,不知道是不是這個原因
Posted by 羽劍飛 at May 28,2006 22:37
羽劍飛,

在妳的環境(CentOS)下,$CATALINA_HOME指到,或者說用/var/tomcat4代入,是正確的。

我猜一下,妳有沒有/var/tomcat4/webapps/opennms.xml這個檔案?它應該是symbolic link,指向/opt/OpenNMS/webapps/opennms.xml。

或者,請妳用底下這個指令,列出已經安裝好的相關套件:


rpm -qa | egrep 'j2sdk|tomcat|rrdtool|postgresql|curl|opennms' | sort


就是用rpm指令查詢一下目前安裝的套件,然後用egrep同時搜尋數個關鍵字,最後再用sort排一下順序。把我手邊的列出來給妳參考:

curl-7.12.1-8.rhel4
j2sdk-1.4.2_10-fcs
opennms-1.2.7-1_centos4
opennms-docs-1.2.7-1_centos4
opennms-webapp-1.2.7-1_centos4
postgresql-7.4.13-2.RHEL4.1
postgresql-libs-7.4.13-2.RHEL4.1
postgresql-server-7.4.13-2.RHEL4.1
rrdtool-1.0.49-1.1.fc3.fr
tomcat4-4.1.18-full.1jpp
tomcat4-webapps-4.1.18-full.1jpp
Posted by PowerOp at May 29,2006 22:50
哈哈!!真是一語點醒夢中人
之前因找不到連結,就自行做一個連結,結果變成帳號密碼不對無法登入,
看了你的回應後,再仔細檢查後發現,原來我是連結到目錄,所以無法登入,改成連結到opennms.xml就可以登入了,真是太感謝了!!
Posted by 羽劍飛 at June 3,2006 13:38
羽劍飛,

恭喜恭喜!

其實,答案早就在OpenNMS安裝指南(繁體中文)的「問題排除」章節囉,請找找底下這一小節:

6.1.4. The OpenNMS Web Application Will Not Start, or You Can't Log In(OpenNMS網頁應用程式無法啟動,或者妳無法登入)
Posted by 一招半式闖江湖的PowerOp at June 5,2006 14:55
我現在把系統改成centos 4.3,
postgresql-server-7.4.13-2.RHEL4.1,tomcat4-4.1.18,opennms-1.2.7-1_centos4,
我要的所有的功能都可以了,就差將mib匯入;就像上面問題一一樣.
我在討論區只找到上述兩種方法,但是一樣在centos不行,
不知道有人在centos可以執行mib2opennms 嗎?
Posted by 邱景政 at June 6,2006 17:58
邱先生,

問題應該出在libsmi套件,麻煩告知您的libsmi從何處,抓哪一個libsmi rpm檔回來安裝?

請執行下列指令,把結果貼出來:
[指令一:檢查libsmi套件版本]
rpm -qa | grep libsmi

[指令二:搜尋系統中libsmi相關檔案]
updatedb; locate libsmi

[指令三:執行mib2opennms的輸出結果]
/usr/local/bin/mib2opennms

[指令四:檢查mib2opennms相依性]
ldd /usr/local/bin/mib2opennms
Posted by PowerOp at June 7,2006 01:15
謝謝:
我在/etc/ld.so.conf add /usr/local/lib
then execute ldconfig, then the libary can find it , I can import the mib to xml.

Thanks

[root@opennms ~]# ls -l /usr/local/lib/libsmi*
-rw-r--r-- 1 root root 684768 May 30 12:54 /usr/local/lib/libsmi.a
-rwxr-xr-x 1 root root 799 May 30 12:54 /usr/local/lib/libsmi.la
lrwxrwxrwx 1 root root 16 May 30 12:54 /usr/local/lib/libsmi.so -> libsmi.so.2.0.23
lrwxrwxrwx 1 root root 16 May 30 12:54 /usr/local/lib/libsmi.so.2 -> libsmi.so.2.0.23
-rwxr-xr-x 1 root root 534345 May 30 12:54 /usr/local/lib/libsmi.so.2.0.23
Posted by JJchiou at June 7,2006 11:20
JJchiou,

太好了,解決了一個問題:)

我使用OpenNMS官方所提供的 libsmi 套件。從目錄名稱來看,應該是適用RHEL 3,可是我在CentOS 4.3上也可用,完全不需要去/etc/ld.so.conf做設定喔:

ftp://ftp.opennms.org/pub/contrib/linux-rhes-3/libsmi-0.3.1-1.i386.rpm

好,現在換我問問題囉,請問之前您說的這句話,要如何兌現呢? :)

http://blog.roodo.com/ystuan/archives/1196735.html#comment-1977629

「......我們公司也會提供報酬表示感謝......」
Posted by 兩個小孩都需要奶粉錢的PowerOp at June 7,2006 12:37
Hello POWEROp

感謝你熱心的回答
我個人可以贊助你兩罐奶粉 既然"兩個小孩都需要奶粉錢"
至於報酬部 分我主管說需要有正式外包合約才有:)
還是很感謝你的熱心回答^_^
Posted by jjChiou at June 7,2006 14:40
jjChiou,

雖然似乎Chiou在貴公司是大姓,還是不勞您_個人_破費啦。

至於您的主管,我只好主觀認定他欠我一次囉。
Posted by PowerOp at June 12,2006 10:27