`
avery_leo
  • 浏览: 381541 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OpenNMS® 安裝指南

    博客分类:
  • JAVA
阅读更多

THIS DOCUMENT IS FOR OpeNNMS 1.2! OpenNMS 1.6 IS VERY DIFFERENT, AND THIS INFO MAY NOT APPLY.

目錄

前言
1. 概述
1.1. 關於OpenNMS
1.2. 如何運用這份文件
1.3. 最低需求
2. 安裝前的準備工作
2.1. 必要的套件:Java
2.1.1. 在Debian上安裝Java
2.1.2. 在其他系統上安裝Java
2.2. 必要的套件:Tomcat4
2.2.1. 在Debian Sid上修改Tomcat4
2.2.2. 在Fedora 2和3上安裝合適的Tomcat4
2.2.3. 在SuSE Linux Pro 9上安裝Tomcat4
2.2.4. 客製化Tomcat4
2.3. 必要的套件:RRDtool
2.4. 必要的套件:PostgreSQL
2.4.1. 客製化postgresql.conf檔案
2.4.2. 客製化pg_hba.conf檔案
2.4.3. 在Red Hat Linux 7上安裝PostgreSQL
2.4.4. 在Solaris上建立PostgreSQL資料庫
2.5. 必要的套件:curl
2.6. 非必要的套件:metamail
3. 安裝OpenNMS
3.1. 執行首次安裝
3.1.1. 安裝於Debian Linux
3.1.2. 安裝於以RPM為基礎的Linux發行版本
3.1.3. 安裝於Solaris
3.1.4. 安裝於Mac OS X
3.1.5. 從程式原始碼安裝
3.2. 幫裝好的舊版升級
3.2.1. OpenNMS相關資料之存放位置
3.2.2. 升級之前……請先備份!
3.3. 運行安裝程式(installer)
3.3.1. 為OpenNMS設定Java
3.3.2. 運行安裝程式(installer)來設定PostgreSQL資料庫
3.3.3. 運行安裝程式(installer)來設定網頁應用程式
4. 開始使用OpenNMS
4.1. 設定發掘(discovery)
4.2. 啟動PostgreSQL,Tomcat4和OpenNMS
4.3. 登入網頁應用程式
4.4. 將OpenNMS設為開機自動執行
4.4.1. 在Debian Linux上設定開機自動執行
4.4.2. 在RPM為基礎的Linux發行版本上設定開機自動執行
4.4.3. 在Solaris上設定開機自動執行
5. 編譯程式原始碼
5.1. 妳確定要這麼做嗎?
5.2. 安裝必須的套件
5.3. 下載程式原始碼
5.3.1. 下載釋出版本程式碼
5.3.2. 從CVS下載程式碼
5.4. 設定build.properties
5.5. 編譯OpenNMS
5.6. 安裝OpenNMS
6. OpenNMS安裝時的問題排除
6.1. 常見的安裝問題
6.1.1. 相依性(Dependency)問題
6.1.2. Error: "Started OpenNMS, but it has not finished starting up"(錯誤:"OpenNMS已經開始啟動,但是啟動沒有完成")
6.1.3. DHCP Poller Won't Start(DHCP輪詢器無法啟動)
6.1.4. The OpenNMS Web Application Will Not Start, or You Can't Log In(OpenNMS網頁應用程式無法啟動,或者妳無法登入)
6.1.5. Error: "runjava: Could not find an appropriate JRE"(錯誤:"runjava:無法找到合適的JRE")
6.1.6. Error: "The database server's error messages are not in English ..."(錯誤:"資料庫的錯誤訊息不是英文…")
6.1.7. Error: "Column X in new table has NOT NULL constraint ..."(錯誤:"新表格的X欄有NOT NULL限制")
6.1.8. Error: "One or more backup tables from a previous install still exists"(錯誤:"之前安裝時殘留一個以上的備份資料表")
6.1.9. Error: "Table X contains N rows (out of M) that violate new constraint Y"(錯誤:"資料表X(的M個資料列中)有N個資料列違反新的Y限制")
6.1.10. Error: "- adding iplike database function... <snip> org.postgresql.util.PSQLException: ERROR: could not access file '<snip>/lib/iplike.so': Permission denied"(錯誤:"加入iplike資料庫函式…<略> org.postgresql.util.PSQLException: 錯誤:無法存取檔案'<略>/lib/iplike.so':拒絕存取)
6.1.11. Error: "Exception in thread "main" org.postgresql.util.PSQLException: ERROR: relation "pg_user" does not exist" when running installer.(執行安裝程式時遇到錯誤:"在"main"執行緒發生例外 org.postgresql.util.PSQLException: 錯誤:"pg_user"關係不存在")
6.2. 到哪裡尋求技術支援
6.2.1. 發行摘要
6.2.2. OpenNMS網站
6.2.3. OpenNMS郵件論壇列表
6.2.4. 付費技術支援

那麼,妳該如何運用這份文件呢?它包含了下列章節:

這份安裝指南非常倚賴「套件」這個概念。現今大部分的作業系統和發行版本都擁有套件管理系統。一個套件會將屬於同一個應用程式的檔案都彙整進來(並且包含檔案變動,移除,更新等等的管理)。我們可藉此系統安裝和管理各種軟體。

請參閱最新的發行摘要以確認是否有支援妳的作業系統。目前OpenNMS支援Linux(的很多不同發行版本), Solaris和Mac OS X。

這份指南假定如果妳使用套件管理系統,妳就會一直使用它。這是因為 OpenNMS會試著用作業系統內建的套件管理系統來確認那些必須先安裝的套件是否裝好了。例如妳裝了Java,但不是用套件裝的,OpenNMS將無法確認妳的系統有裝Java,因此整個安裝會失敗。

讓我們再回到最初的問題「妳該如何運用這份文件」,請先瀏覽第二章,確定妳已經把必須的、作為先決條件的套件都適當地安裝、設定完畢了。用第三章來協助妳將那些套件裝進妳的作業系統,以及安裝OpenNMS。最後,用最後一章來協助妳修正各種可能遇到的錯誤。

OpenNMS主要是用Java開發的,雖然為了實作例如ICMP這類東西而用到一些 JNI來呼叫C語言程式碼。理所當然,妳需要安裝Java。

由於目前的程式碼有小部分倚賴一個Sun-only的函式庫 (HTTPS Monitor裡面的"com.sun.net.ssl.internal.www.protocol"),我們推薦妳使用Sun的SDK。使用IBM的 SDK應該也可以,只不過在輪詢器(poller)啟動的時候會在記錄檔產生一個錯誤訊息。

底下的說明是使用Sun所散佈的Java,不過有一些使用者採用Blackdown網站編譯的Sun Java,也獲得成功。

XXX Add something about 32-bit vs 64-bit for libjicmp and librrd.

將下面這行加入/etc/apt/sources.list然後執行 update,(也就是"apt-get update")。

版本代號是Woody的話,請加入:

 

deb http://debian.opennms.org/ debian/opennms stable

 

版本代號是Sid的話,請加入:

 

deb http://debian.opennms.org/ debian/opennms unstable

 

然後,取得版本適合的Java來加以安裝。因為授權的問題, OpenNMS套件不能包含Java SDK,妳必須在安裝OpenNMS之前,自己取得及安裝。妳有兩個選擇:

妳需要Sun的Java 2 Platform,標準版,1.4版以上。我們建議使用1.4.2版以上。妳可以從Sun的Java網站下載。依照步驟取得授權後,下載適合妳的作業系統的Java。如果妳準備使用RPM套件來安裝OpenNMS,請下載RPM套件版本的Java;不然,請下載".bin" 的檔案。請依照Sun的說明來安裝。

Tomcat是Apache 基金會之Jakarta專案的一部份,是一個Java servlet引擎。也就是說Tomcat是一個網頁伺服器,它用"servlets"(小的 Java程式)來產生HTML頁面。注意這和Java "applets"很不一樣--servlets在伺服器端執行,而不是下載到瀏覽器執行。只要servlet被編譯後,Tomcat就會暫存它,意味著首次次讀取一個特定頁面也許慢,但是接下來的存取就蠻快的。

Tomcat最新的版本是Tomcat5,不過OpenNMS因為使用Tomcat4的認證功能,不能使用Tomcat5。以後的版本會修正這個現況,不過現在妳必須使用Tomcat4。

Fedora Core 2內附的Tomcat4套件似乎不能穩定運行,就算不安裝OpenNMS也一樣。目前,我們建議使用OpenNMS FTP站所提供的tomcat4套件。妳需要安裝兩個套件,tomcat4-4.1.18-full.1jpp.noarch.rpmtomcat4-webapps-4.1.18-full.1jpp.noarch.rpm

某些版本的核心有一個bug會讓Java程序甚至整個核心掛掉。這個問題紀錄在Red Hat bug #121902。請確保妳的核心版本號至少是2.6.6-422。

我們要修改Tomcat的一些設定。安裝程式(installer)會負責大部分的修改,但是有幾項妳必須手動修改。底下是妳必須手動修改的兩項Tomcat設定:

很多Linux發行版本都有設定檔tomcat4.conf,妳可以在這裡修改設定參數。在Red Hat和Fedora系列的Linux版本,這個檔案放在/etc/tomcat4/目錄下。裡面的內容看起來像這樣:

 

# tomcat /etc/rc.d script example configuration file
# Use with version 1.07 of the scripts or later

# Use Jpackage utils if present
if [ -x /usr/bin/java-functions ]; then
. /usr/bin/java-functions
set_jvm
fi

# Source Java system configuration if exist
if [ -r /etc/java/java.conf ]; then
. /etc/java/java.conf
fi

# you could also override JAVA_HOME here
# Where your java installation lives
# JAVA_HOME="/usr/java/jdk"
# JAVA_HOME="/opt/IBMJava2-131"

# You can pass some parameters to java
# here if you wish to
#JAVACMD="$JAVA_HOME/bin/java -Xminf0.1 -Xmaxf0.3"

# Where your tomcat installation lives
# That change from previous RPM where TOMCAT_HOME 
# used to be /var/tomcat.
# Now /var/tomcat will be the base for webapps only
CATALINA_HOME="/var/tomcat4"
JASPER_HOME="/var/tomcat4"
CATALINA_TMPDIR="/var/tomcat4/temp"

# What user should run tomcat
TOMCAT_USER="tomcat"

# You can change your tomcat locale here
#LANG=en_US

# If you wish to further customize your tomcat environment,
# put your own definitions here
# (i.e. LD_LIBRARY_PATH for some jdbc drivers)
# Just do not forget to export them 

 

在這個檔案裡,妳可以分別藉由修改JAVA_HOME變數來指向Java安裝位置;修改TOMCAT_USER變數來設定執行Tomcat的帳號。妳可以用一行有關 JAVA_HOME變數的設定指向妳安裝好的Java,例如:

 

JAVA_HOME="/usr/java/j2sdk1.4.2_04/"

 

要改變執行Tomcat的帳號,妳可以這樣設定:

 

TOMCAT_USER="root"

 

如果妳使用其他的Linux發行版本或者別的作業系統(例如: Solaris,Mac OS X)而找不到tomcat4.conf這個檔案,妳必須找出該系統上相對應的修改參數方法。歡迎妳將細節回報給OpenNMS bug資料庫(分類請選enhancement bug),或者email到opennms-install郵件論壇,以便我們加入這份文件。

如果妳選擇不要用root 帳號來執行Tomcat,請做下列變更,讓執行Tomcat的帳號可以讀寫OpenNMS相關設定檔。這個步驟包括將"tomcat" 和"root" 兩個帳號加入"tomcat4" 群組,然後變更目錄權限,讓"tomcat4" 群組可以寫入OpenNMS "etc" 和"logs" 目錄。這步驟必須在OpenNMS軟體安裝之後

第一項變更完成後Tomcat就可以啟動,但是不做第二項變更的話在 OpenNMS記錄檔會出現錯誤訊息,而且網頁介面提供的管理指令也無法執行,因為Tomcat無法寫入設定檔。

MRTG,這個可能是第一個被廣泛使用的開放原始碼網管工具,它的起源就是RRDtool

RRDtool提供"round robin"資料庫,用來快速、節省空間地儲存時間序列(time-series)量測數據。OpenNMS將效能相關的數據儲存在用RRDtool產生的RRD檔案。

我們不需要對RRDtool做特別的設定。只要它是以套件安裝, OpenNMS套件應該可以找到它,並且用適當的指令完成設定。目前已知可以使用RRDtool 1.0.33以上任何的"1.0"系列版本。

XXX add a comment about 32-bit vs. 64-bit stuff for the iplike.so module

OpenNMS使用PostgreSQL(又稱"Postgres")這個關聯式資料庫來儲存各種資訊,例如網路設備、事件、告警和故障。

在安裝OpenNMS之前,要先準備兩件跟資料庫有關的事項。首先, OpenNMS必須能夠以TCP/IP方式連結到資料庫(即使兩者都在同一台機器);其次,在安裝過程中要能夠新增資料庫。

OpenNMS需要PostgreSQL版本7.2以上。如果你使用 PostgreSQL 7.4之前的版本,伺服器的錯誤訊息必須是英文('C' locale)。尤其參數lc_messages 必須是'C'。相關設定在PostgreSQL data目錄的postgresql.conf檔案裡,如果有修改的話,請重新啟動資料庫。data目錄的所在位置,請參閱底下關於pg_hba.conf的小節。

妳至少應該安裝這個套件:

  • postgresql-server

請注意,Red Hat Enterprise Linux和CentOS把PostgreSQL套件稱為"rhdb",意思是"Red Hat DataBase";而舊版的SuSE則稱做"postgres"。

如果妳使用最近版本的Mandrake(版本9以上),妳還需要:

  • postgresql-pl

一旦妳安裝了Postgres,妳需要修改兩個Postgres設定檔:postgresql.confpg_hba.conf。Postgres 首次啟動會產生這些檔案,因此如果妳剛才安裝的時候沒有啟動它,請現在啟動它。通常,啟動指令稿會放在/etc/init.d

找出Postgres的"data"目錄。通常應該是 /var/lib/pgsql/data。我們要修改的兩個檔案應該就在那個目錄下。

注意

妳必須使用root帳號來執行這一章提到的指令。

請遵循「首次安裝」或者「升級」該節的指示,然後遵循「運行安裝程式 (installer)」一節的步驟。如果在過程中遇到任何錯誤,請參考這份指南的錯誤排除章節。

如果妳是首次安裝,請遵循本節中有關妳的作業系統的部分。如果妳要替一套已經裝好的 OpenNMS升級,請看下一節。

從SourceForge網站上OpenNMS的Files下載適合妳的Linux發行版本的套件。

 

# rpm -i opennms-1.2.0-1_<distribution>.<platform>.rpm
# rpm -i opennms-webapp-1.2.0-1_<distribution>.<platform>.rpm

# rpm -i opennms-docs-1.2.0-1_<distribution>.<platform>.rpm

 

從SourceForge網站上OpenNMS的Files下載適合妳的Solaris版本的套件。

 

# cd /usr/local
# gzip -d opennms-1.2.0-1-sol<version>-sparc-local.gz

# pkgadd -d `pwd`/opennms-1.2.0-1-sol<version>-sparc-local

 

XXX this section could use some more love, too.

幫舊版的OpenNMS升級至目前的版本,通常只要安裝適合妳的(作業系統)發行版本之套件即可。

如果是RPM為基礎的發行版本,只要輸入指令"rpm -Uvh [套件名稱]"即可。

此外,OpenNMS的安裝程式(installer)可能會試著去修改資料庫。請記得依照本章後面的指示以執行安裝程式(installer)。這些變動應該會順利完成,但是,就算是最周全的計畫都有可能出錯。為了以防萬一,在升級之前請依照下面的細項指示來備份妳的PostgreSQL資料庫。

相关推荐

Global site tag (gtag.js) - Google Analytics