資策會網工班 79 期 SuSE Linux Lab OpenNMS 指導老師 : 彭學勤 楊宏文 學生 : 鍾家銘
Topology :
前言 :
以目前企業對網路的依賴,在網路的使用上將會面對更多安
全及管理上的問題。對管理者而言,如何有效的管理監控企
業內部的資訊設備,將是對管理者的一大挑戰。因此,有效
的運用網路管理軟體,對每個管理人員來說是非常重要的課
題。這將會減輕工作上的負擔,並且更快速的找到解決問題
的方法。
為何需要 OpenNMS ?
由於企業內部的網路可能遭受不肖人士或駭客的危害,企業
相關網管人員必須更加注意網路安全及管理的重要性。
基於管理網路及監控網路安全的需求,所以我們選擇了
OpenNMS 作為管理企業網路的幫手,透過這套系統我們可
以更加有效的幫助我們管理我們的網路。
OpenNMS 簡介 :
OpenNMS是全世界第一個企業級的Open Source網管系
統,擁有強大的管理功能。它具備跨平台特性,支援
Linux,Solaris,Mac OS X,Microsoft Windows 等作業系統。
可以用來監控網路流量及網路服務(HTTP、DNS、SSH),是
使用JAVA語言所開發而成的。
OpenNMS具備節點自動發現, 服務監控, 效能評估, 事件
管理與通知等功能。系統藉由輪詢動作(polling)來取得所
有網路設備的服務狀態。
OpenNMS 流程圖 :
網管人員可使用 Clinet 端的電腦透過 INTERNET,連線到
Server 端的主機,操作 OpenNMS 並設定管理者所需要監
控的網路設備及伺服器的位址,完成後再選擇所要監控的節
點產生報表及圖表,回傳至 Clinet 端的電腦中顯示出,於
OpenNMS 的首頁會顯示出節點目前的狀態。
安裝套件 :
jdk-1_5_0_22-linux-i586-rpm.bin
postgresql-8.1.4
postgresql-lib-8.1.4
postgresql-server-8.1.4
postgresql-pl-8.1.4
tomcat5-5.0.30-27.2
tomcat5-webapps-5.0.30-27.2
tomcat5-admin-webapps-5.0.30-27.2
opennms-1.2.9-1_suse10.i586.rpm
opennms-docs-1.2.9-1_suse10.i586.rpm
opennms-webapp-1.2.9-1_suse10.i586.rpm
建置流程 :
安裝 OpenNMS 相依的 Java 套件
OpenNMS 主要是用 Java 開發的,需要安裝 Java
1.將 jdk 套件變更為可執行權限
>chmod +x jdk-1_5_0_22-linux-i586-rpm.bin
2.執行安裝動作
>./jdk jdk-1_5_0_22-linux-i586-rpm.bin
讀完接著輸入 yes 進行安裝
3.設定 java 環境變數
>vi /etc/profile
於最後面加上
JAVA_HOME="/usr/java/jdk1.5.0_22"
PATH="$PATH:/usr/java/jdk1.5.0_22/bin"
OPENNMS_HOME="/opt/OpenNMS"
export JAVA_HOME PATH OPENNMS_HOME
4.重讀環境變數
>source /etc/profile
5.分別輸入 jar,java,javac,javah 指令檢查是否 java 能
正常運作。(如正常會出現指令資訊)
6.檢查 JAVA_HOME、PATH 變數
>echo $JAVA_HOME
/usr/java/jdk1.5.0_22
>echo $PATH
最後會顯示/usr/java/jdk1.5.0_22/bin
7.安裝 postgresql 套件
OpenNMS 使用 PostgreSQL(又稱"Postgres")這個關聯
式資料庫來儲存各種資訊,例如網路設備、事件、告警和故
障。
PostgreSQL 資料庫套件。
>yast -i postgresql postgresql-lib postgresql-server
postgresql-pl
啟動 postgresql
>service postgresql start
8.修改 pg_hba.conf 只有本機使用者才可以存取該資料庫所
有資料
>vi /var/lib/pgsql/data/pg_hba.conf
在最底下修改
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
9. 設定 PostgreSQL
>vi /var/lib/pgsql/data/postgresql.conf
49 行拿掉註解
listen_addresses = `localhost' 只聆聽本機端
max_connections = 256
shared_buffers = 1024
10.重新啟動 postgresql 服務
>service postgresql restart
11.安裝 Tomcat5
Tomcat 是 Apache 基金會之 Jakarta 專案的一部份,是一
個 Java servlet 引擎。也就是說 Tomcat 是一個網頁伺服器,
它用來產生 HTML 頁面。
>yast -i tomcat5 tomcat5-webapps
tomcat5-admin-webapps
12.開啟 Tomcat 服務
>service tomcat5 start
13.安裝 opennms 主程式
>rpm -ivh opennms-1.2.9-1_suse10.i586.rpm
>rpm -ivh opennms-docs-1.2.9-1_suse10.i586.rpm
>rpm -ivh opennms-webapp-1.2.9-1_suse10.i586.rpm --nodeps
(--nodeps 為忽略相依性)
14.設定 OpenNMS 連結到 Java
>$OPENNMS_HOME/bin/runjava –s
15.初始化 OpenNMS 與 Database
>$OPENNMS_HOME/bin/install –disU
出現 Installer completed successfully! 表示成功。
16.重新啟動 postgresql
>service postgresql restart
17.讓 opennms 可使用 tomcat 函式庫
>/opt/OpenNMS/bin/install -y -w
/srv/www/tomcat5/base/conf/Catalina/localhost -W
/srv/www/tomcat5/base/server/lib
出現 Installer completed successfully! 表示成功。
18.編輯所要監看的 IP 區間範圍
<discovery-configuration threads="1"
packets-per-second="1"
initial-sleep-time="300000" restart-sleep-time="86400000"
retries="3" timeout="800">
<include-range retries="2" timeout="3000">
<begin>10.120.0.1</begin>
<end>10.120.100.254</end>
</include-range>
<include-url>file:/opt/OpenNMS/etc/include</include-url>
</discovery-configuration>
19.啟動OpenNMS
>opennms start
20.設定開機啟動
>chkconfig postgresql on
>chkconfig tomcat5 on
>chkconfig opennms on
進入OpenNMS管理頁面 :
在瀏覽器中輸入 http://localhost:8080/opennms
此時輸入預設的管理者帳號:admin 密碼:admin
選取上方選單List Nodes可看見被監看的節點。
點選任一節點則可以檢視節點的資訊及狀態。
Outages 選單是用來檢視有問題的節點紀錄。
View current outages 是列出目前有問題的節點。
View all outages 是列出所有發生過問題的節點紀錄。
Events 選單可以檢視每個節點發生的事件紀錄。
心得 :
這次的Linux Lab,不像MSLab那樣需要和組員有較多的配
合,主要是比較花時間在個人的survey上面。網路上能查詢
到的資源也相當多,在加上學長留下的資源也是能找到很多
協助。但是比較細節的部分比較不好survey,設定上也較不
容易理解,可能也因為我個人能力不足,所以在遇到一些狀
況無法解決的時候,無法有效的找到問題點。這次mail
notification並沒有成功做出來,雖然已設定條件及mail,
javamail的conf檔也有設定,但是卻無法收到信,這點很可
惜,還需要再加油。OpenNMS探勘的ip範圍一開始設定太
大,導致要花費較長的時間才能掃描到所有的節點,這點經
過老師的提點之後做了驗證。
參考資料 : Cool Solutions: OpenNMS on openSUSE 10.x
http://www.novell.com/coolsolutions/feature/19058.html
酷!學園 - Opennms 1.6.1安裝
http://phorum.study-area.org/index.php?topic=54567.0
帝國反抗君 - PowerOp:貼!在CentOS 4環境快速將OpenNMS 1.2.7升級至1.2.8 - 樂多日誌
http://blog.roodo.com/ystuan/archives/1801049.html
OpenNMS Email Notification
http://experiencesharing.wordpress.com/2008/08/25/opennms-email-notification/