CentOS 7 跟前面的版本差很多, 所以安裝起來也有點差異. 現在連 OpenNMS 1.7 的安裝方式也不太一樣了, 概略描述如下:

 

1. 安裝 CentOS 7

我沒特別去研究如何安裝, 只是按照直覺選擇 Server with GUI --> Development Tools, 然後設定一下該設定的 (網路, 語系, 時間, 硬碟), 就一路給他裝下去了.

 

2. 安裝與設定 PostgreSQL

這次我改從PostgreSQL官網安裝最新版的PostgreSQL (9.4), 步驟如下:

安裝相關RPM

yum -y localinstall http://yum.postgresql.org/9.4/redhat/rhel-latest-x86_64/pgdg-centos94-9.4-2.noarch.rpm

yum -y install postgresql94 postgresql94-server postgresql94-contrib postgresql94-jdbc  postgresql94-libs pgadmin3_94 --disablerepo=* --enablerepo=pgdg94

啟動PostgreSQL

/usr/pgsql-9.4/bin/postgresql94-setup initdb

systemctl enable postgresql-9.4

systemctl start postgresql-9.4

修改設定 (postgresql.conf)

vi /var/lib/pgsql/9.4/data/postgresql.conf

將 #listen_addresses = 'localhost' 改為 listen_addresses = 'localhost' (把 # 拿掉就可以)

編輯設定 (pg_hba.conf)

vi /var/lib/pgsql/9.4/data/pg_hba.conf

將 host all all 127.0.0.1/32 ident 改為 host all all 127.0.0.1/32 md5 (把 ident 改為 md5)
將 host all all ::1/128 ident 改為 host all all ::1/128 md5 (把 ident 改為 md5)

重新載入 PostgreSQL 參數

systemctl reload postgresql-9.4

建立OpenNMS資料庫

su - postgres
createuser -P opennms
Enter password for new role: <輸入 postgresql 使用者 opennms 的密碼>
Enter it again: <再輸入一次密碼>
createdb -O opennms opennms
psql -c "ALTER USER opennms WITH SUPERUSER;"
exit

3. 安裝與設定 JDK

在 OpenNMS 1.7, 官網已經要求使用 1.8, 所以我就使用 Java JDK 1.8 Update 66 來安裝了

下載 jdk 1.8

請從 http://www.oracle.com/technetwork/java/javase/downloads/index.html 下載 (例如 jdk-8u72-linux-x64.rpm)

安裝 jdk

rpm -ivh jdk-8u72-linux-x64.rpm

設定環境變數 for sh

cat << EOF > /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/default
export PATH=\$JAVA_HOME/bin:\$PATH
EOF

設定環境變數 for csh

cat << EOF > /etc/profile.d/java.csh
set JAVA_HOME=/usr/java/default
set PATH=\$JAVA_HOME/bin:\$PATH
EOF

讓環境變數生效

. /etc/profile.d/java.sh

 

4. 設定 Firewall

firewall-cmd --permanent --add-port=8980/tcp

firewall-cmd --reload

 

5. 安裝與設定 OpenNMS

安裝 OpenNMS 的 yum repositories

yum -y localinstall http://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm
rpm --import http://yum.opennms.org/OPENNMS-GPG-KEY

下載與安裝 OpenNMS

yum -y --skip-broken install opennms grafana-opennms-plugin mib2opennms mib2opennms-debuginfo opennms-core opennms-docs opennms-plugin-ticketer-centric opennms-remote-poller mib2events opennms-jmx-config-generator opennms-ncs opennms-plugins opennms-plugin-* opennms-webapp-jetty rrdtool jrrd2 epel-release R 

PS: 順便安裝rrdtool, jrrd2, 以及 R

關閉 opennms 透過 yum 更新

修改 /etc/yum.repos.d/opennms-repo-stable-rhel7.repo, 在 [opennms-repo-stable-common] 與 [opennms-repo-stable-rhel7] 兩段裡面都加上

enabled=0

設定 OpenNMS 資料庫連線

vi /opt/opennms/etc/opennms-datasources.xml

將以下

<jdbc-data-source name="opennms"
    database-name="opennms"
    class-name="org.postgresql.Driver"
    url="jdbc:postgresql://localhost:5432/opennms"
    user-name="opennms"
    password="opennms" />

<jdbc-data-source name="opennms-admin"
    database-name="template1"
    class-name="org.postgresql.Driver"
    url="jdbc:postgresql://localhost:5432/template1"
    user-name="postgres"
    password="" />

改為

<jdbc-data-source name="opennms"
    database-name="opennms"
    class-name="org.postgresql.Driver"
    url="jdbc:postgresql://localhost:5432/opennms"
    user-name="opennms"
    password="postgresql 使用者 opennms 的密碼" />

<jdbc-data-source name="opennms-admin"
    database-name="template1"
    class-name="org.postgresql.Driver"
    url="jdbc:postgresql://localhost:5432/template1"
    user-name="opennms"
    password="postgresql 使用者 opennms 的密碼" />

設定 OpenNMS

/opt/opennms/bin/runjava -s (或/opt/opennms/bin/runjava -S /usr/java/latest/bin/java)

/opt/opennms/bin/install -dis

移除資料庫使用者 Admin 權限

su - postgres
psql -c "ALTER ROLE opennms NOSUPERUSER;"
psql -c "ALTER ROLE opennms NOCREATEDB;"
exit

啟動 OpenNMS

systemctl enable opennms

systemctl start opennms
 

6. 連線

請以瀏覽器連線到 http://<你的CentOS>:8980/opennms, 以帳號 admin 密碼 admin 登入即可第一次啟動可能會耗時數分鐘, 請耐心等待.

7. 設定 rrdtool

vi /opt/opennms/etc/rrd-configuration.properties

將以下三行的 # 拿掉

#org.opennms.rrd.strategyClass=org.opennms.netmgt.rrd.rrdtool.MultithreadedJniRrdStrategy
#org.opennms.rrd.interfaceJar=/usr/share/java/jrrd2.jar
#opennms.library.jrrd2=/usr/lib64/libjrrd2.so

成為

org.opennms.rrd.strategyClass=org.opennms.netmgt.rrd.rrdtool.MultithreadedJniRrdStrategy
org.opennms.rrd.interfaceJar=/usr/share/java/jrrd2.jar
opennms.library.jrrd2=/usr/lib64/libjrrd2.so

重啟 OpenNMS

systemctl restart opennms
 
A. 參考文件

arrow
arrow
    全站熱搜

    Egg Chang 發表在 痞客邦 留言(2) 人氣()