原始網址http://www.opennms.org/users/docs/docs/html/install.html
譯者: Austin Tuan (ystuan 老鼠 hotmail 點 com) 歡迎來信,請於主旨欄加上[Linux]字樣,萬一被hotmail當作spam,我好撿回來 :)
OpenNMS 安裝指南 |
OpenNMS.org |
序言 |
誌謝和版權 |
版權
以下版權與OpenNMS 源碼或文獻是相關的:
Copyright (c) 1999-2001 Oculan Corp. All rights reserved.
Copyright (c) 1996-2001 PostgresSQL, Inc.
Copyright (c) 1994 Regents of California, Inc.
Copyright (c) 1994-2001 Sun Microsystems, Inc
Copyright (c) 1994-2001 IBM Corporation
Copyright (c) 2001 Microsoft Corporation
Copyright (c) 2001 Netscape
Copyright (c) 2001 Red Hat, Inc.
Copyright (c) 1999-2001 ExoLab Group
Copyright (c) 1999-2001 Apache Software Foundation
Copyright (c) 1998-2001 The Mozilla Organization
有用的資訊鏈結
以下URLs 與OpenNMS 源碼或文獻是相關的:
OpenNMS.org - OpenNMS 網站
apache.org - Xerces, XML4J 等的官方網站
Sun - JAVA 的官方網站
W3C 組織 - XSLFO 和 XML 的官方網站
PostgreSQL - PostgreSQL 的官方網站
1 第一章 |
最低需求 |
1.1 最低需求
在安裝之前, 請花一點時間熟悉下列需求。接下來的章節將會深入討論這些相依性套件的設定。
資源 | 最低需求 | 可利用的資源 |
---|---|---|
OpenNMS 安裝套件 | 版本0.9.0 或更高 | www.OpenNMS.org |
Linux | Redhat 6.2以上, Mandrake 7.2以上, 其他版本可能也可運行 | www.linux.org |
PostgreSQL | 版本7.1或更高 | www.postgresql.org |
TomCat | 版本4.0或更高 | jakarta.apache.org |
RRDTool | 版本1.0.28或更高 | rrdtool.eu.org |
Perl 模組 | DBI, DBD::Pg | www.cpan.org |
JAVA Virtual Machine (JVM) | 版本1.4 或更高 | java.sun.com |
磁碟空間 | /opt下15MB, /var/log下最多100MB(若開啟預設偵錯模式則可能超過), /var/opennms下每個SNMP設施8MB | |
記憶體 | 192 MB (建議至少256MB) |
2 第二章 |
套件相依性設定 |
如果您計劃使用網路安裝程式(web installer)安裝OpenNMS及其相依性套件的RPM檔案, 您可以跳到第三章。如果有任何相依性套件已經被您安裝運行, 請您務必閱讀這個章節。多數較新的系統內核均符合要求, 而其他一切在您系統上運行OpenNMS所需的套件, 安裝程式應該都能順利將它們升級。
2.1 Linux核心2.2或更早的版本
由於OpenNMS使用大量的JAVA執行緒, 您可能需要重新編譯Linux核心來因應。在源碼目錄下, 將標頭檔 include/linux/tasks.h內的 NR_Tasks 設為4000。多數商業發行套件所附的核心不需要修改, 就能因應。底下是在重新編譯核心時, 標頭檔task.h應做的修改。
#define NR_TASKS 4000您可在Kernel-HOWTO找到關於編譯新核心的更多資訊。
2.2 PostgreSQL 設定
為了讓OpenNMS能夠連結到資料庫, PostgreSQL運行時必須將TCP/IP listener啟動(因為Java並不支援UNIX domain sockets)。 以PostgreSQL 7.1(此文件寫作時的版本)來說, 改一個簡單的設定檔就可達成此目的, 另外我們還建議修改一些有關效能的選項。
首先, 啟動PostgreSQL, 確定資料庫已經初始化了:
/etc/init.d/postgresql start然後, 編輯/var/lib/pgsql/data/postgresql.conf, 增加以下數行:
tcpip_socket = true max_connections = 256 shared_buffers = 1024注意到 max_connections 和 shared_buffers 是推薦而非必須的。由於OpenNMS會大量運用執行緒(heavily threaded), 非常容易超出PostgreSQL預設的32個連入連線。 如果這個問題發生, OpenNMS的許多部分可能無法正常運行。
做了這些變動以後, 下次您啟動PostgreSQL時, 新設定就會生效。
請注意如果您是從源碼編譯OpenNMS 以及/或者 PostgreSQL , 除了執行一般的"make install"之外, 您還應該執行"make install-all-headers" 否則您無法編譯OpenNMS的postgresql extensions。
2.3 TomCat
OpenNMS的指令稿install.pl假設tomcat是安裝在/var/tomcat4。如果這不是您的Tomcat 4 所在目錄, 您需要編輯$OPENNMS_HOME/bin/install.pl指令稿, 靠近開頭的$serverxml那一行。
2.4 RRDTool
如果您計劃從源碼編譯OpenNMS, 請確認安裝RRDTool時包括它的共享函式庫(shared libraries)。有關的資訊在rrdtool源碼目錄下的README。基本上包括以下步驟
sh configure --enable-shared make make install
2.5 CPAN
為了從源碼編譯, 還需要安裝CPAN函式庫DBI和DBD:Pg。以下指令應該可以安裝這些函式庫
perl -MCPAN -e shell install DBI install DBD::Pg
2.6 JAVA
由於tomcat在解析JSP網頁時, 需要使用JDK來動態地將Java源碼編譯成bytecode; 因此就算只是要運行OpenNMS, 仍然需要JDK套件。為了讓OpenNMS能正常運行, 環境變數JAVA_HOME應該設定為/usr/java/j2sdk1.4.0或您機器上JDK的安裝目錄。
3 第三章 |
安裝 |
3.1 目錄結構
安裝時, OpenNMS 預設為以下目錄:
檔案 | 目錄 |
---|---|
OpenNMS 可執行檔 | /opt/OpenNMS/bin |
OpenNMS 設定檔 | /opt/OpenNMS/etc/ |
SQL 函式庫 | /opt/OpenNMS/lib |
開機指令稿 | /etc/init.d/opennms |
資料庫 | /var/lib/pgsql (SNMP效能資料則放在/var/opennms) |
3.2 從install.opennms.org透過網路安裝OpenNMS
在一個被支援的RPM平台上安裝或升級OpenNMS, 請以root的身分執行:
lynx -source http://install.opennms.org | sh這個指令會安裝最新的版本。如果您想要指定安裝stable或unstable版本, 請在URL後面加上 /stable 或 /unstable 。
3.3 從RPM安裝OpenNMS
底下是由RPM安裝OpenNMS可執行檔的步驟。
以"root"身分登入。
從安裝光碟或網際網路取得安裝所需的RPM檔案。網際網路可由www.OpenNMS.org 下載最新的RPM檔案。
用底下的指令安裝
rpm -Uvh *.rpm
3.4 從源碼安裝OpenNMS
在Linux系統安裝OpenNMS可以透過RPM或tar.gz。關於以RPM安裝的資訊請另外參閱快速起步指南。
底下是從源碼tar bundle編譯的步驟
以"root"身分登入。
解開源碼的壓縮檔
確定以下環境變數的值被設定為正確的路徑
export OPENNMS_HOME=/opt/OpenNMS export JAVA_HOME=/opt/IBMJava2-13 export TOMCAT_HOME=/var/tomcat4
您還需要新增~/.opennms-global.properties檔案, 讓OpenNMS知道函式庫和includes的位置。檔案內容應該看起來像底下所述。(請注意如果PostgreSQL和RRDTool被安裝在標準路徑, 像/usr 或/usr/local, 這些在編譯時將自動地設定。)
compile.include=-I/usr/local/pgsql/include -I/usr/include -I. -I/usr/local/rrdtool-1.0.33/include compile.lib=-L/usr/local/pgsql/lib -L/usr/local/rrdtool-1.0.33/lib
如果您想要安裝在OpenNMS源碼樹下, dist/ 目錄之外的某處, 請從build.properties複製所有要改變的屬性到您的~/.opennms-global.properties檔案中來加以編輯。然後從源碼目錄, 執行以下命令:
./build.sh install
您還需要複製或symlink數個檔案到tomcat目錄下, 讓Web UI的某些部份能夠順利運行。
ln -s $OPENNMS_HOME/lib/castor-*.jar \ $OPENNMS_HOME/lib/jdbc2_0-stdext.jar \ $OPENNMS_HOME/lib/log4j.jar \ $OPENNMS_HOME/lib/opennms_*.jar \ $TOMCAT_HOME/server/lib/ ln -s /opt/jbossmq/client/jboss-j2ee.jar \ /opt/jbossmq/client/jboss-client.jar \ $TOMCAT_HOME/webapps/opennms/WEB-INF/lib/(假設您把OpenNMS webapp安裝在 $TOMCAT_HOME/webapps/opennms/ directory).
執行安裝指令稿讓OpenNMS新增資料庫
$OPENNMS_HOME/bin/install.pl $OPENNMS_HOME/etc/create.sql
4 第四章 |
設定OpenNMS |
這一章描述一些設定文件, 以及它們與OpenNMS之系統功能、運行效能、介面外觀的關係。某些任務也許需要修改幾個文件來達到想要的效果。我們建議, 除了指定監測ip位址之外, 如果您還想要做任何設定, 您應該仔細閱讀這一章。這個章節所提到的設定文件除非另外註明, 應該都在$OPENNMS_HOME/etc下。本文提供了一些例子, 還有更多可在前述的設定文件內找到。
4.1 設定OpenNMS
在這一節我們定義接受輪詢的網路位址和被監控的網路服務。
4.1.1 增加網路位址
首要之務是指定要發掘(discover)和輪詢(poll)的網路位址範圍。做法是在discovery-configuration.xml和poller-configuration.xml檔案中新增網路位址範圍。底下是這些檔案的一小段。我們用192.168.0.0/24網段為例。
在discovery-configuration.xml中: <include-range retries="2" timeout="3000"> <begin>192.168.0.1</begin> <end>192.168.0.254</end> </include-range> --- 在poller-configuration.xml中: <include-range begin="192.168.0.1" end="192.168.0.254"/>除了使用<include-range>之外, 還可以用其他方式增加網路位址, 例如用<include-url>來指定一個純文字檔(一行一個網路位址, 不可有註解或空白行)。或者用<specific>指定排除某些網路位址。請看底下範例。
在discovery-configuration.xml中: <include-url>file:/opt/OpenNMS/etc/include</include-url> --- 在poller-configuration.xml中: <specific>0.0.0.0</specific> <include-url>file:/opt/OpenNMS/etc/include</include-url>在網路設備開始或停止被監控時, OpenNMS會寫入例子中URL所指的檔案(/opt/OpenNMS/etc/include)。
注意:在輸入資料庫時, 您可以指定哪些設備要被預設成"managed"。如果您這麼做, 請確定在capsd-configuration.xml中, 您將受控節點(managed nodes)的網路管理政策設為"managed"。預設對所有non-local, 有效的網路位址均為"managed"。
4.1.2 指定服務
一旦決定了希望監測的網路位址, 接著您可能會關心您想要監測的服務類型。服務必須設定在poller-configuration.xml 和capsd-configuration.xml 。有許多服務已經預設好了。
在packages中設定參數時, 您可以覆蓋(override)一些預設值。底下的例子我們設定飛碟偵測協定(UFO Detection Protocol)於TCP port 4, 並且自行指定逾時、重試、輪詢間隔等等時間參數。
capsd-configuration.xml: <protocol-plugin protocol="UFODP" class-name="org.opennms.netmgt.capsd.TcpPlugin" scan="on" user-defined="false"> <property key="banner" value="*"/> <property key="port" value="4"/> <property key="timeout" value="3000"/> <property key="retry" value="3"/> </protocol-plugin> --- poller-configuration.xml: <service name="UFODP" interval="300000" user-defined="false" status="on"> <parameter key="banner" value="*"/> <parameter key="port" value="4"/> <parameter key="timeout" value="3000"/> </service>
4.2 設定概觀(view)
您可以修改views.xml和viewsdisplay.xml來設定概觀(view)。在views.xml內您可以定義特定的服務該屬於哪個類別, 並且定義網頁上顯示的(服務)中斷資訊之臨界值。下面的例子中我們為飛碟探測器創造了一個類別, 也為我們的網際網路連線設了一個。
<category> <label><![CDATA[SETI Servers]]></label> <normal>99</normal> <warning>97</warning> <service>UFO Detectors</service> <rule><![CDATA[isUFODP]]></rule> </category> <category> <label><![CDATA[Internet Connectivity]]></label> <normal>99</normal> <warning>97</warning> <service>ICMP</service> <rule><![CDATA[ipaddr IPLIKE 12.0.0.1]]></rule> </category>至於在viewsdisplay.xml中, 您能更動網頁主控台概觀(main web console view)之呈現方式。在大多情況下, 您不需要改變預設的概觀。
<view> <view-name>WebConsoleView</view-name> <section> <section-name><![CDATA[Category]]></section-name> <category><![CDATA[SETI Servers]]></category> <category><![CDATA[Internet Connectivity]]></category> </section> </view>
5 第五章 |
監看網路 |
5.1 啟動 OpenNMS
確定您記得啟動需要的相依套件
/etc/init.d/service postgresql start
那些相依套件啟動後, 您可以啟動OpenNMS
/etc/init.d/service opennms start 或 /opt/OpenNMS/bin/opennms.sh start
您也要確定tomcat伺服器正常運作
/etc/init.d/service tomcat4 start
您可以用下列指令檢查OpenNMS的狀態
# /opt/OpenNMS/bin/opennms.sh status OpenNMS.Poller : running OpenNMS.Eventd : running OpenNMS.OutageManager : running OpenNMS.Discovery : running OpenNMS.Actiond : running OpenNMS.Capsd : running OpenNMS.Dhcpd : running OpenNMS.Notifd : running OpenNMS.RTCViewCategoryManager : running OpenNMS.Trapd : running如果有任何問題或服務沒有正確地啟動, 您可以檢查紀錄檔來獲得更多資訊。若使用RPM安裝, 記錄檔在/var/log/opennms/
注意: 如果您需要停止目前的OpenNMS 程序, 您可使用以下命令的其中一個。
/opt/OpenNMS/bin/opennms.sh stop /opt/OpenNMS/bin/opennms.sh kill
5.2 監看網路
當一切開始運作, 您可在您的瀏覽器輸入以下網址。
http://127.0.0.1:8080/opennms/
login: admin/admin
在登入以後您將被帶到OpenNMS監看您的網路的主畫面。多數瀏覽器均可正常執行, 但是只有下列是正式地受到支援...Netscape 6+, Mozilla 0.8+, and IE 5.5+