該存儲庫已棄用。我們已經將構建代碼移至OpenNMS存儲庫中。現在,發布和構建工作流是我們CI/CD工作流程的一部分集成的。
我們將使用Horizon 25存檔該存儲庫,並且將不再維護此存儲庫。
bleeding OpenJDK 1124.1.0 ,使用OpenJDK 11的地平線的最後穩定版本11 該存儲庫作為Docker圖像提供了地平線的快照。該圖像提供了Horizon Core監視服務和Web應用程序。
建議使用docker-compose使用官方的PostgreSQL圖像來構建服務堆棧。如果您已經運行了PostgreSQL數據庫,則可以在.opennms.env和.postgres.env環境文件中提供數據庫配置,否則將創建用戶和數據庫。
默認情況下,數據使用本地捲驅動程序以以下數據在Docker主機上持續存在:
# PostgreSQL database
psql.data :
driver : local
# OpenNMS Horizon RRD files, logs and generated PDF reports
opennms.data :
driver : local
# OpenNMS Horizon configuration files
opennms.etc :
driver : local需要手動編輯OpenNMS Horizon配置文件,您可以通過提供etc-overlay目錄來添加自己的配置文件。在啟動時,文件覆蓋默認配置。
- ./etc-overlay:/opt/opennms-etc-overlay如果您希望在特定目錄中的Docker主機上使用OpenNMS Horizon配置,則可以使用以下配置安裝一個目錄:
volumes :
- ./myHorizonConfig:/opt/opennms/etc如果目錄為空,則將使用/opt/opennms/share/etc-pristine初始化默認的原始配置。
重要:注意可以通過文件系統上堅持使用的Web UI更改的配置,例如users.xml , groups.xml , surveillance-categories.xml , snmp-config.xml等。
git clone https://github.com/opennms-forge/docker-horizon-core-web.git
cd docker-horizon-core-web
docker-compose up -dWeb應用程序已在TCP端口8980上公開。您可以使用默認用戶管理員使用密碼管理員登錄。請立即將默認密碼更改為安全密碼。
為了獲得所有可用容器選項的幫助,只需運行:
docker run --rm opennms/horizon-core-web可以很容易地添加Java選項來控制JVM進行性能調整或調試的行為。環境變量JAVA_OPTS通過Java命令傳遞,可用於擴展或覆蓋JVM選項。
重要的是:在docker-entrypoint.sh和opennms.conf中的docker-entrypoint.sh和java選項中,給出更多控制java二進制命令。 Java過程具有PID 1和
在環境文件中使用:
env_file :
- .java.env
cat .java.env
JAVA_OPTS=-XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintFlagsFinal用於Docker-Compose服務環境定義:
opennms :
container_name : opennms.core.web
image : opennms/horizon-core-web:latest
environment :
- JAVA_OPTS=-XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintFlagsFinal 為了控制和隔離流程的資源使用情況,使用了內核特徵cgroup(對照組) 。通過Java的組合,關於最大堆尺寸和限制容器的內存使用情況還有一些其他事情。
默認情況下,JVM人體工程學計算基於Docker主機內存的最大堆大小,而不是通過帶有Cgroups的內存設置。
為了確保JVM計算最大堆大小正確,您有兩個選擇:
-Xmx手動設置正確的最大堆大小JAVA_OPTS=-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap從Java SE 8U131開始,JVM與Docker CPU透明地限制了Docker-ware。如果未指定-XX:ParallelGCThreads或-XX:CICompilerCount ,則JVM將應用Docker CPU限制,因為數字CPU併計算GC和JIT編譯器線程的數量,就像在裸機上運行一樣。
入口點腳本用於控制起始行為:
-f: Apply overlay configuration if exist and just start OpenNMS Horizon
-h: Show help
-i: If necessary initialize database, create pristine configuration, do an upgrade and apply the overlay config but do * not * start OpenNMS Horizon
-s: Same as -i but start OpenNMS Horizon, this should be your default
-n: Initialize Newts on Cassandra and the PostgreSQL database, do * not * start OpenNMS Horizon
-c: Same as -n but start OpenNMS Horizon, this should be your default when you want to use Newts on Cassandra
-t: Just test you configuration如果要執行更新,請創建A /opt/opennms/etc/do-upgrade文件。從-i或-s開始,將運行一次install -dis命令以更新配置和數據庫架構。
所有進行升級或啟動OpenNMS Horizon的選項驗證配置是否有效並通過配置測試。
如果您只想在OpenNMS之外維護自定義配置文件,則可以使用ETC-Roverlay目錄。此目錄中的所有文件僅複製到運行容器中的/opt/openNMS/等。您只能在這樣的本地目錄上安裝:
volumes :
- ./etc-overlay:/opt/opennms-etc-overlay 如果您只想維護Jetty應用程序容器的自定義配置文件,則可以使用Jetty-Roverlay目錄。此目錄中的所有文件僅複製到運行容器中的/Opt/OpenNMS/Jetty-Webapps/OpenNMS/Web-Inf中。您只能在這樣的本地目錄上安裝:
volumes :
- ./jetty-overlay:/opt/opennms-jetty-webinf-overlay 為了覆蓋任意配置文件/目錄結構,您可以使用OpenNMS-Overlay目錄。此目錄的內容在運行容器中復製到/opt/openNMS/。您只能在這樣的本地目錄上安裝:
volumes :
- ./opennms-overlay:/opt/opennms-overlay 此圖像允許測試配置文件,如果它們是有效的XML,並且可以將其加載到啟動時。它會在啟動時自動執行,但也可以將其作為單個Shot命令執行。
使用以下方式獲取配置測試儀的使用輸出
docker run --rm opennms/horizon-core-web:latest -t一些示例如何使用此圖像使用Config Tester:
測試所有配置文件:
docker run --rm opennms/horizon-core-web:latest -t -a
僅測試具有詳細輸出的特定配置文件-v :
docker run --rm opennms/horizon-core-web:latest -t -v snmp-config.xml
帶有ETC-Roverlay目錄的測試配置文件:
docker run --rm -v $(pwd)/etc-overlay:/opt/opennms-etc-overlay opennms/horizon-core-web:latest -t -v snmp-config.xml
POSTGRES_HOST :PostgreSQL數據庫主機,默認值: databasePOSTGRES_PORT :訪問postgresql數據庫的端口,默認值: 5432POSTGRES_USER :PostgreSQL管理員用戶,默認: postgresPOSTGRES_PASSWORD :PostgreSQL管理員密碼,默認值: postgresOPENNMS_DBNAME :OpenNMS Horizon的數據庫名稱,默認值: opennmsOPENNMS_DBUSER :用戶訪問OpenNMS Horizon數據庫,默認值: opennmsOPENNMS_DBPASS :OpenNMS Horizon數據庫用戶的密碼,默認值: opennmsOPENNMS_KARAF_SSH_HOST :KARAF SSH端口的偵聽地址,默認值: 0.0.0.0OPENNMS_KARAF_SSH_PORT :KARAF的SSH端口,默認值: 8101使用Cassandra群集:
${OPENNMS_CASSANDRA_HOSTNAMES}${OPENNMS_CASSANDRA_KEYSPACE}${OPENNMS_CASSANDRA_PORT} :Cassandra Port,默認值: 9042${OPENNMS_CASSANDRA_USERNAME} :用戶名訪問Cassandra${OPENNMS_CASSANDRA_PASSWORD} :密碼訪問Cassandra 默認情況下, OpenNMS Horizon映像將使用RRDTOOL進行性能數據存儲。但是,也可以使用NEWTS時間序列架構配置OpenNMS Horizon在Cassandra上運行。
配置選項可以在“環境變量”部分中找到。提供了opennms-cassandra-helm.yml其中說明瞭如何在同一台機器上使用一個小單個Cassandra節點運行OpenNMS Horizon 。
MIRROR_HOST :帶RPM軟件包的服務器,默認值: yum.opennms.orgOPENNMS_VERSION :OpenNMS Horizon RPM文件的版本,默認值: stable