このリポジトリは非推奨です。ビルドコードをOpenNMSリポジトリに移動しました。パブリッシュおよびビルドワークフローは、CI/CDワークフローの一部として統合されています。
このリポジトリをHorizon 25でアーカイブし、このリポジトリを維持しなくなります。
bleeding 、Horizon 24の毎日の出血エッジバージョンOpenJDK 11を使用24.1.0 、OpenJDK 11を使用したHorizonの最後の安定したリリースこのリポジトリは、Docker画像としてHorizonのスナップショットを提供します。この画像は、Horizon Core Monitoring Servicesと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構成ファイルを手動で編集する必要があります。ET etc-overlayディレクトリを提供して、独自の構成ファイルを追加できます。起動時に、ファイルはデフォルトの構成を上書きします。
- ./etc-overlay:/opt/opennms-etc-overlay特定のディレクトリのDockerホストにHorizon構成を開いておきたい場合は、このような構成でディレクトリをマウントできます。
volumes :
- ./myHorizonConfig:/opt/opennms/etcディレクトリが空の場合、 /opt/opennms/share/etc-pristineからのデフォルトのプリスチン構成で初期化されます。
重要:ファイルシステムsnmp-config.xml持続groups.xml Web UIを介して変更できる構成surveillance-categories.xml注意してくださいusers.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パフォーマンスの調整やデバッグのためにJVMの動作を制御するためにJavaオプションを追加することができます。環境変数JAVA_OPTSはJavaコマンドに渡され、JVMオプションを拡張または上書きするために使用できます。
重要: opennms.confのdocker-entrypoint.shおよびjavaオプションでjavaバイナリコマンドをネイティブに制御することは評価されません。 JavaプロセスにはPID 1およびがあります
環境ファイルで使用:
env_file :
- .java.env
cat .java.env
JAVA_OPTS=-XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintFlagsFinalDocker-Compose Service環境定義で使用:
opennms :
container_name : opennms.core.web
image : opennms/horizon-core-web:latest
environment :
- JAVA_OPTS=-XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintFlagsFinal プロセスのリソース使用量を制御および分離するために、カーネル機能cgroup(コントロールグループ)が使用されます。 Javaの組み合わせにより、最大のヒープサイズとコンテナのメモリ使用量を制限することに関して、いくつかの追加のことがあります。
デフォルトでは、JVM Ergonomicsは、 cgroupsを使用したメモリセットではなく、Dockerホストメモリに基づいて最大ヒープサイズを計算します。
JVMが最大ヒープサイズを正しく計算することを確認するには、2つのオプションがあります。
-Xmxで正しい最大ヒープサイズを手動で設定して、上記のセクションを参照してくださいJavaオプションを設定しますJAVA_OPTS=-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap Java SE 8U131の時点で、JVMはDocker-Awareで、Docker CPU制限が透過的に制限されています。 -XX:ParallelGCThreadsまたは-XX:CICompilerCountが指定されていない場合、JVMはdocker 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コマンドが1回実行され、構成とデータベーススキーマが更新されます。
アップグレードまたは開始するすべてのオプションは、構成が有効であるかどうかを確認し、構成テストに合格します。
OpenNMS以外でカスタム構成ファイルを保持したい場合は、ETC-Overlayディレクトリを使用できます。このディレクトリ内のすべてのファイルは、実行中のコンテナ内の/opt/opennms/etcにコピーされます。このようなローカルディレクトリをマウントできます。
volumes :
- ./etc-overlay:/opt/opennms-etc-overlay Jettyアプリケーションコンテナのカスタム構成ファイルを保持するだけの場合は、Jetty-Overlayディレクトリを使用できます。このディレクトリ内のすべてのファイルは、実行中のコンテナの/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であり、起動時にロードできる場合、構成ファイルをテストできます。起動時に自動的に実行されますが、単一ショットコマンドとして実行することもできます。
config testerの使用出力を取得します。
docker run --rm opennms/horizon-core-web:latest -tいくつかの例この画像でconfig testerを使用する方法:
すべての構成ファイルをテストします:
docker run --rm opennms/horizon-core-web:latest -t -a
verbose出力を使用した特定の構成ファイルのみをテスト-v :
docker run --rm opennms/horizon-core-web:latest -t -v snmp-config.xml
ETC-Overlayディレクトリを使用して構成ファイルをテストします。
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 admin user、default: 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ポート、デフォルト: 8101Cassandraクラスターの使用:
${OPENNMS_CASSANDRA_HOSTNAMES} :cassandraクラスターのホスト名またはIPアドレス、コンマ分離リストも受け入れます${OPENNMS_CASSANDRA_KEYSPACE} :パフォーマンスデータを持続するためのスペースを名前、デフォルト: newts${OPENNMS_CASSANDRA_PORT} :cassandraポート、デフォルト: 9042${OPENNMS_CASSANDRA_USERNAME} :ユーザー名Cassandraへのアクセス${OPENNMS_CASSANDRA_PASSWORD} :Cassandraへのパスワードアクセスデフォルトでは、 OpenNMS HorizonイメージはRrdToolを使用してパフォーマンスデータストレージを使用して実行されます。ただし、 OpenNMS Horizonは、 Newts時系列スキーマを使用してCassandraで実行するように構成することもできます。
構成オプションは、環境変数セクションにあります。 opennms-cassandra-helm.ymlが提供されています。これは、同じマシンに小さな単一のCassandraノードを使用してOpenNMS Horizonを実行する方法を示しています。
MIRROR_HOST :RPMパッケージを備えたサーバー、デフォルト: yum.opennms.orgOPENNMS_VERSION :opennms horizon rpmファイルのバージョン、デフォルト: stable