自由軟體社群的朋友們,應該知道致力於理念傳播的洪朝貴老師。今天在搜尋資料的時候意外發現,他已經離開朝陽科技大學了。
從這份朝陽科技大學94學年度第一學期教師異動一覽表可以看到,洪老師去了樹德科技大學。
他自己的網頁也證實了這一點。
2005年的LinuxWorld Conference & Expo目前正在米國舊金山舉行。之前這篇新聞稿列出了Product Excellence Award各個類別進入決選的名單,其中OpenNMS被列在「最佳系統管理工具」:
Best Systems Management Tools
• Userful: DiscoverStation 4.0
• The OpenNMS Project: OpenNMS
• IBM: Tivoli Intelligent Orchestrator
• Novell: Novell ZENworks 7 Linux Management
嗯,有IBM Tivoli和Novell ZENworks,應該算是競爭激烈吧…
剛剛從OpenNMS的Blog和Wiki得知,最後的得獎者是OpenNMS!
LinuxWorld的新聞稿我還找不到,找到了再貼上來:)
Copyright © 2004-2005 The OpenNMS Group, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts and with no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/copyleft/fdl.html
目錄
目前OpenNMS的贊助企業是The OpenNMS Group,它們也擁有OpenNMS的商標。
Original code base for OpenNMS version 1.0.0 Copyright © 1999-2001 Oculan Corporation.
Mapping code Copyright © 2003 Networked Knowledge Systems, Inc.
ScriptD code Copyright © 2003 Tavve Software Company.
請參閱最新的發行摘要以 確認是否有支援妳的作業系統。目前OpenNMS支援Linux(的很多不同發行版本), Solaris和Mac OS X。
這份指南假定如果妳使用套件管理系統,妳就會一直使用它。這是因為 OpenNMS會試著用作業系統內建的套件管理系統來確認那些必須先安裝的套件是否裝好了。例如妳裝了Java,但不是用套件裝的,OpenNMS將無法 確認妳的系統有裝Java,因此整個安裝會失敗。
讓我們再回到最初的問題「妳該如何運用這份文件」,請先瀏覽第二章, 確定妳已經把必須的、作為先決條件的套件都適當地安裝、設定完畢了。用第三章來協助妳將那些套件裝進妳的作業系統,以及安裝OpenNMS。最後,用最後 一章來協助妳修正各種可能遇到的錯誤。
OpenNMS主要是用Java開發的,雖然為了實作例如ICMP這類 東西而用到一些 JNI來呼叫C語言程式 碼。理所當然,妳需要安裝Java。
底下的說明是使用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")。
deb http://debian.opennms.org/ debian/opennms stable
deb http://debian.opennms.org/ debian/opennms unstable
然後,取得版本適合的Java來加以安裝。因為授權的問題, OpenNMS套件不能包 含Java SDK,妳必須在安裝OpenNMS之前,自己取得及安裝。妳有兩個選擇:
使用sun-jdk1.4-installer
套
件及編譯指令稿(build script),從Sun那邊下載j2sdk然後編譯妳自己的j2sdk1.4套件(推薦)。
為了妳正要製作的j2sdk1.4
套
件,必須先有套件java-common
;
因為前者編譯產生後是執行dpkg
來
安裝,不像一般執行apt
安
裝會自動載入必須的套件,因此我們要先手動安裝後者:
#
apt-get install java-common
#
apt-get install sun-jdk1.4-installer
從Sun下載Java 1.4
SDK。我們建議使用1.4.2以上的版本。確定妳選了非RPM的套件(也就是".bin
"
套件)。
#
build-sun-jdk14 ./j2sdk-1_4_2_05-linux-i586.bin
#
dpkg -i j2sdk-1_4_2_05-linux-i586.deb
其中j2sdk-1_4_2_05-linux-i586.deb
是剛才執行build-sun-jdk14
產
生的Debian套件。
取得並安裝妳自選版本的Java,然後藉由安裝java-virtual-machine
這
個meta-package來滿足OpenNMS的套件相依性。
#
apt-get install java-virtual-machine
妳需要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.rpm
和tomcat4-webapps-4.1.18-full.1jpp.noarch.rpm
。
某些版本的核心有一個bug會讓Java程序甚至整個核心掛掉。這個 問題紀錄在Red Hat bug #121902。 請確保妳的核心版本號至少是2.6.6-422。
SuSE 9內附Tomcat 5,無法和OpenNMS搭配。(如果有的話)請移除已經安裝的Tomcat 5套件,然後從舊版的SuSE中取得Tomcat 4來安裝。SuSE 8.1所附的Tomcat 4似乎運行良好。請到SuSE的FTP站下 載。
我們要修改Tomcat的一些設定。安裝程式(installer)會 負責大部分的修 改,但是有幾項妳必須手 動修改。底下是妳必須手動修改的兩項Tomcat設定:
# 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="/usr/java/j2sdk1.4.2_04/"
TOMCAT_USER="root"
第一項變更完成後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.conf
和pg_hba.conf
。Postgres
首次啟動會產生這些檔案,因此如果妳剛才安裝的時候沒有啟
動它,請現在啟動它。通常,啟動指令稿會放在/etc/init.d
。
找出Postgres的"data"目錄。通常應該是 /var/lib/pgsql/data。我們要修改的兩個檔案應該就在那個目錄下。
妳必須使用root帳號來執行這一章提到的指令。
請遵循「首次安裝」或者「升級」該節的指示,然後遵循「運行安裝程式 (installer)」一節的步驟。如果在過程中遇到任何錯誤,請參考這份指 南的錯誤排除章節。
如果妳是首次安裝,請遵循本節中有關妳的作業系統的部分。如果妳要替一 套已經裝好的 OpenNMS升級,請看下 一節。
如果妳已經遵照前面章節指定好了apt套件庫, 請執行此指令:
#
apt-get install opennms
#
apt-get install opennms-doc opennms-contrib
妳也可以從SourceForge網站上OpenNMS的Files下 載適合妳的Debian版本的套件。
從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
[套件名稱]
"即可。
#
/etc/init.d/postgres start#
/etc/init.d/tomcat4 start#
$OPENNMS_HOME/bin/opennms start
如果妳的作業系統沒有PostgreSQL或Tomcat4的啟動指令 稿,妳可以執行 類似底下的指令:
#
sudo -u postgres /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data start#
/usr/local/tomcat/bin/startup.sh
Solaris內建的tar
無
法正確地將OpenNMS程式碼解壓縮。它會(幾乎)無聲無息地執行失敗,妳只會得到一個不完整的OpenNMS程式碼目錄。妳必須要在Solaris上
使用GNU tar。
從SourceForge網站上OpenNMS的Files下
載最新的程式碼釋出版本的opennms-source
套件。
它的檔案名稱會看起來像opennms-source-1.2.0-1.tar.gz
。
妳解壓縮之後,切換到opennms-1.2.0-1/source
目
錄,接著進行下一節(譯註:5.4節)
OpenNMS的程式碼存放在SourceForge.net的CVS。 細節請參閱OpenNMS 的CVS頁面,或者直接使用這些指令立刻開始下載。
使用(匿名帳號)空白密碼登入CVS伺服器:
$
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/opennms login
將OpenNMS的程式碼check out(這樣會fetch HEAD
,
最bleeding-edge的版本):
$
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/opennms co opennms
這樣妳要的程式碼都在這個叫做opennms
的
目錄。切換到這個目錄然後進行下一節。
底下的章節是一些建議,用於排除常見的安裝問題。如果妳的問題不在其 中,請參閱「到哪 裡找救兵」的章節。
為了管理程式碼,使用套件來安裝OpenNMS是最簡單的方法。開發團
隊作了各種努力
來確保OpenNMS所倚
賴的套件都被設定成必須,在安裝OpenNMS前一定要先安裝它們。這些套件應該可以在妳的作業系統的安裝光碟中找到。至於一些像是metamail
這
種比較不常見的套件,妳可以到OpenNMS的FTP站
台的/pub/dependencies
目
錄去找。除此之外,例如Ibiblio或
是FreshRPMs也
是值得去找找的站
台。
OpenNMS其實包含兩個主要應用程式:它本身,以及網頁式使用者介 面 (webUI)。其中webUI是用 Tomcat做的,有可能Tomcat正常運行而OpenNMS程式本身停了,或者反之。
在妳繼續下面步驟之前,先讀讀這份指南關於不同作業系統要注意的部分。 有一些常見的 Tomcat問題在那邊有提 到。
<!-- Example Server Configuration File -->
<Server ...
...
...
<Host ... >
....
<Context path="/opennms" docBase="opennms" debug="0" reloadable="true">
<Logger classname="org.opennms.web.log.Log4JLogger" homeDir="/opt/OpenNMS"/>
<Realm className="org.opennms.web.authenticate.OpenNMSTomcatRealm" homeDir="/opt/OpenNMS"/>
</Context >
</Host >
...
</Server >
PostgreSQL伺服器無法存取檔案iplike.so。這有可能是檔案本身的權限問題,執行PostgreSQL的使用者無法存 取它,也可能是iplike.so上層目錄(們)的權限問題。
就算用root身份來執行安裝程式(installer)也可能遇到這個問題;因為無法存取iplike.so的不是OpenNMS也 不是安裝程式 (installer),而是PostgreSQL資料庫。安裝程式(installer)要求 PostgreSQL資料庫載入iplike.so,而PostgreSQL資料庫伺服器通常不是以root的權限執行,因此跟其他一般使用者一樣,要遵 照檔案系統的存取控制。這問題通常發生在把OpenNMS安裝到root或其他使用者的家目錄,而這個家目錄的權限設定成不開放給其他使用者,只能讓使用 者本身存取。
這個錯誤顯示資料庫沒有正確地建立。由於安裝程式(installer)指令稿負責建立資料庫,妳可能會認為這是OpenNMS出了問 題,其實這是 Red Hat 4(以及CentOS 4)之中的SELinux 功能的問題。基本上來說,指令postgres init_db無法寫入/dev/null,而當它執行失敗的時候沒有顯示一個比較有意義的錯誤訊息。
要避免這個問題,請執行底下的指令:
stop postgres
rm -rf /var/lib/pgsql/data
/usr/sbin/setenforce 0
start postgres
注意,步驟二會刪除之前任何妳對postgresql設定檔的修改,妳必須重做那些修改。
OpenNMS是一個由社群提供技術支援的軟體專案。當妳尋求協助的時 候,請將這點謹記在心,因為大家對這個專案的付出並沒有金錢回報(除非妳是透過付費技術支援合約來求助)。
OpenNMS的主站台是 個Wiki。作為一個社群的專案,那邊有很多有用的建議和資訊。特別一提,我們建議妳在發電郵到郵件論壇問問題之前,先找找上面提到的發行摘要,FAQ,bug資料庫以及Google。 妳也許可以在舊 的FAQ找到一些有用的資訊,不過請記住這些資訊可能過期了。
信件不多,有限制(moderated)的郵件論壇,用來發佈 OpenNMS的公告。這個論壇的所有文章會複製一份到opennms-discuss論 壇。
信件量頗高,是所有對CVS檔案庫 (repositories)的更動。有限制(Moderated)。只有CVS更新會張貼在這裡(不包含討論)。
這是OpenNMS的主要討論區。互動蠻友善的。基本上什麼都 可以談,不過我們建議如果是跟安裝有關的事宜請移駕opennms-install。
這個論壇最適合OpenNMS的新手了。這裡主要針對安裝過程 的問題(這份很棒的文件應該都幫妳解決了,對吧?),不過也歡迎各種「新手上路」的問題。
到底網路管理該不該使用地圖就跟墮胎或槍枝管制一樣有爭議 (笑)。不過的確有人貢獻了一個小的地圖系統給OpenNMS,不過還需要很多改進。我們可以在這兒討論。
如果妳正在考慮,或者已經將OpenNMS實際上線運作,妳可能會對付 費技術支援有興趣。OpenNMS Group維護OpenNMS專案,我們也提供技術支援,教育訓練、諮詢服務以及客製化開發。
當某個網站有了經費,辦了活動,大張旗鼓地來推廣Linux的時候,我們可不可以要求它…
至少不要把網頁標題列的Taiwan都拼錯?
可以前往Agilent Syndicated News去訂閱,可以訂閱全部,或者是分項。
嗯,我為什麼要提這家公司呢?
因為我是員工^^