如何在CentOS8上安裝OpenNMS網絡監視工具
如何在CentOS8上安裝OpenNMS網絡監視工具
OpenNMS是一個免費的開源網絡監視和網絡管理平台,用於管理全球的企業網絡。它基於Java,旨在從一個中央位置管理數千個設備。它具有自動檢測和監視網絡中的服務或節點的能力。
特性
- 支持SNMP,JMX,WMI,NPRE,NSCLient ++和XMP
- 事件驅動架構
- 支持設備和應用程序監視
- 發現類型並停止路徑
- 配置和運行服務監視器
- 支持第2層和第3層網絡拓撲
本教程顯示了如何在CentOS 8服務器上安裝和配置OpenNMS。
先決條件
- 運行CentOS的服務器8。
- 根密碼是在服務器上設置的。
入門
OpenNMS是基於Java的應用程序。因此,您需要在系統上安裝Java。您可以運行以下命令來將其與其他必需的軟件包一起安裝。
dnf install java-11-openjdk-devel curl unzip -y
安裝Java之後,可以使用以下命令檢查Java版本:
java -version
您應該獲得以下輸出:
openjdk version "11.0.9" 2020-10-20 LTS OpenJDK Runtime Environment 18.9 (build 11.0.9+11-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11-LTS, mixed mode, sharing)
完成後,您可以繼續下一步。
安裝OpenNMS
默認情況下,CentOS 8默認存儲庫中不提供OpenNMS。因此,您需要將OpenNMS存儲庫添加到系統中。
首先,使用以下命令添加GPG密鑰。
rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
添加GPG密鑰後,運行以下命令以添加OpenNMS存儲庫。
dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm
然後,您可以通過運行以下命令來運行OpenNMS:
dnf install opennms -y
這將在您的服務器上安裝OpenNMS,PostgreSQL和其他軟件包。
配置PostgreSQL
OpenNMS使用PostgreSQL作為數據庫後端。您可以使用以下命令初始化PostgreSQL數據庫:
postgresql-setup --initdb --unit postgresql
您應該獲得以下輸出:
* Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
然後啟動PostgreSQL服務,以便可以使用以下命令在系統重新啟動時啟動它:
systemctl enable postgresqlsystemctl start postgresql
接下來,您需要為PostgreSQL創建數據庫和用戶。
首先,使用以下命令登錄到PostgreSQL:
su - postgres
登錄後,使用以下命令創建用戶:
[[email protected] ~]$ createuser -P opennms
系統將提示您設置密碼,如下所示。
Enter password for new role: Enter it again:
然後使用以下命令創建數據庫:
[[email protected] ~]$ createdb -O opennms opennms
然後使用以下命令為PostgreSQL用戶設置密碼。
[[email protected] ~]$ psql -c "ALTER USER postgres WITH PASSWORD 'password';"
然後使用以下命令退出PostgreSQL shell:
[[email protected] ~]$ exit;
接下來,您需要更改PostgreSQL訪問策略。您可以通過編輯文件/var/lib/pgsql/data/pg_hba.conf來實現。
nano /var/lib/pgsql/data/pg_hba.conf
找到下一行。
# IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident
並將其替換為以下行:廣告
host all all 127.0.0.1/32 md5 host all all ::1/128 md5
保存並關閉文件,然後重新啟動PostgreSQL服務以應用您的更改。
systemctl restart postgresql
接下來,您需要在/opt/opennms/etc/opennms-datasources.xml文件中定義數據庫。
nano /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="password" />
完成後,保存文件並關閉它。
初始化並啟動OpenNMS
接下來,您需要初始化OpenNMS。首先,使用以下命令添加Java設置:
/opt/opennms/bin/runjava -s
您應該獲得以下輸出:
runjava: Looking for an appropriate JVM... runjava: Checking for an appropriate JVM in JAVA_HOME... runjava: Skipping... JAVA_HOME not set. runjava: Checking JVM in the PATH: "/etc/alternatives/java"... runjava: Did not find an appropriate JVM in the PATH: "/etc/alternatives/java" runjava: Searching for a good JVM... runjava: Found a good JVM in "/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java". runjava: Value of "/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java" stored in configuration file.
然後運行以下命令來初始化數據庫:
/opt/opennms/bin/install -dis
然後使用以下命令允許OpenNMS在系統重新啟動時啟動。
systemctl enable --now opennms
您應該獲得以下輸出:
Synchronizing state of opennms.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable opennms Created symlink /etc/systemd/system/multi-user.target.wants/opennms.service → /usr/lib/systemd/system/opennms.service.
現在,您可以使用以下命令檢查OpenNMS服務的狀態: 廣告
systemctl status opennms
您應該獲得以下輸出:
? opennms.service - OpenNMS server Loaded: loaded (/usr/lib/systemd/system/opennms.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2020-11-25 09:21:32 EST; 13s ago Process: 26880 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS) Main PID: 27928 (java) Tasks: 67 (limit: 12523) Memory: 555.6M CGroup: /system.slice/opennms.service ??27927 bash /etc/init.d/opennms -s start ??27928 /usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java> Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so. Attempting to load > Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so. Attempting to load > Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library.
此時,OpenNMS已啟動並在端口8980上偵聽。您可以使用以下命令進行檢查。
ss -antpl | grep :8980
您應該獲得以下輸出:
LISTEN 0 50 *:8980 *:* users:(("java",pid=27928,fd=988))
完成後,您可以繼續下一步。
配置SELinux和防火牆
默認情況下,在CentOS 8服務器上啟用SELinux。因此,必須首先禁用它。 您可以通過編輯/ etc / selinux / config文件來禁用它。
nano /etc/selinux/config
找到下一行。
SELINUX=enforcing
然後將其替換為下一行。
SELINUX=permissive
保存並關閉文件,然後重新啟動系統以應用更改。
然後使用以下命令通過防火牆d允許端口8980:
firewall-cmd --permanent --add-port=8980/tcp
然後重新加載防火牆以應用您的更改。
firewall-cmd --reload
完成後,您可以繼續下一步。
訪問OpenNMS Web界面
然後打開Web瀏覽器,並使用URL訪問OpenNMS Web界面。 http://您的服務器IP:8980 / opennms.. 您將被重定向到OpenNMS登錄頁面。
指定默認的admin用戶名admin和密碼admin,然後單擊。 登錄 按鈕。顯示下一頁。
請點擊 選擇參加 將匿名使用情況統計信息發送到OpenNMS。 OpenNMS儀錶板顯示在下一頁上。
請點擊 管理員=>更改密碼 更改默認密碼。顯示下一頁。
更改默認密碼,然後單擊 參加 按鈕。顯示下一頁。
請點擊 + 單擊該圖標以添加新主機。顯示下一頁:廣告
輸入新工作的名稱,然後單擊 好 按鈕。顯示下一頁。
輸入遠程主機的詳細信息,然後單擊 供應 按鈕。添加主機後,將顯示下一頁。
然後點擊 信息=>節點..您需要在下一頁上獲取有關遠程主機的更多信息。
結論
恭喜!您已在CentOS 8服務器上成功安裝了OpenNMS。現在,您可以向OpenNMS添加無限的網絡主機和設備,並從中央位置開始監視。