December 28, 2003

[繁體中譯]OpenNMS Installation Guide

[2005/12/19]請注意,這篇網誌已經過時了,請到OpenNMS Project Documentation,Language選Trad. Chinese,就會看到我提交給官方的繁體中文安裝手冊,或者直接點選這裡。對這個主題有興趣,歡迎到我的新基地逛逛

原始網址http://www.opennms.org/users/docs/docs/html/install.html
譯者: Austin Tuan (ystuan 老鼠 hotmail 點 com) 歡迎來信,請於主旨欄加上[Linux]字樣,萬一被hotmail當作spam,我好撿回來 :)

OpenNMS 安裝指南

OpenNMS.org
2001 年出版
版本: 1.0.0
版權 (c) 1999, 2000, 2001, Oculan Corp.
www.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 源碼或文獻是相關的:

1 第一章
最低需求

1.1 最低需求

在安裝之前, 請花一點時間熟悉下列需求。接下來的章節將會深入討論這些相依性套件的設定。

OpenNMS 基本要求

資源 最低需求 可利用的資源
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_connectionsshared_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可執行檔的步驟。

  1. 以"root"身分登入。

  2. 從安裝光碟或網際網路取得安裝所需的RPM檔案。網際網路可由www.OpenNMS.org 下載最新的RPM檔案。

  3. 用底下的指令安裝

    	rpm -Uvh *.rpm
    					

3.4 從源碼安裝OpenNMS

在Linux系統安裝OpenNMS可以透過RPM或tar.gz。關於以RPM安裝的資訊請另外參閱快速起步指南。

底下是從源碼tar bundle編譯的步驟

  1. 以"root"身分登入。

  2. 解開源碼的壓縮檔

  3. 確定以下環境變數的值被設定為正確的路徑

    	export OPENNMS_HOME=/opt/OpenNMS
    	export JAVA_HOME=/opt/IBMJava2-13
    	export TOMCAT_HOME=/var/tomcat4
    					

  4. 您還需要新增~/.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
    					

  5. 如果您想要安裝在OpenNMS源碼樹下, dist/ 目錄之外的某處, 請從build.properties複製所有要改變的屬性到您的~/.opennms-global.properties檔案中來加以編輯。然後從源碼目錄, 執行以下命令:

    	./build.sh install
    					

  6. 您還需要複製或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).

  7. 執行安裝指令稿讓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+

Posted by ystuan at 10:58 PM | Comments (0)