OpenNMS · 4 min read · Oct 10, 2025
Alma Linux 8にOpenNMSをインストールして構成する

OpenNMSは、Javaで書かれた無料のオープンソースのネットワーク監視および管理プラットフォームです。これは自己ホスト型で、ユーザー、開発者、およびOpenNMSグループのコミュニティによって開発されています。OpenNMSを使用すると、パフォーマンス、トラフィック監視、プロビジョニング、サービス監視、イベント管理、チャートサポートなど、ローカルおよびリモートネットワーク上のすべてを監視できます。OpenNMSは、SNPMおよびJMXを使用してリモートホストの情報を収集します。
この記事では、Alma Linux 8にNginxを使用してOpenNMSをインストールする方法を示します。
前提条件
- Alma Linux 8を実行しているサーバー。
- サーバーIPにポイントされた有効なドメイン名。
- サーバーに設定されたルートパスワード。
Java JDKのインストール
OpenNMSはJavaベースのアプリケーションです。したがって、Java JDKをサーバーにインストールする必要があります。次のコマンドを実行してインストールできます:
dnf install java-11-openjdk -yJavaがインストールされたら、次のコマンドを使用してJavaのインストールを確認できます:
java --version次の出力が得られます:
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
Alma Linux 8にOpenNMSをインストール
デフォルトでは、OpenNMSはAlma Linuxのデフォルトリポジトリには含まれていません。したがって、OpenNMSの公式リポジトリをシステムに追加する必要があります。
次のコマンドを実行してOpenNMSリポジトリとGPGキーを追加できます:
dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm
rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY次に、次のコマンドを実行してOpenNMSをインストールします:
dnf install opennms -yこれにより、PostgreSQLサーバーもサーバーにインストールされます。
次に、OpenNMSのディレクトリに移動し、次のコマンドでPostgreSQLデータベースを初期化します:
cd /opt/opennms
postgresql-setup initdb最後に、次のコマンドでPostgreSQLサービスを開始し、有効にします:
systemctl start postgresql
systemctl enable postgresql次のコマンドでPostgreSQLのステータスを確認できます:
systemctl status postgresql次の出力が得られます:
? postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2022-01-15 13:34:47 UTC; 5s ago
Process: 7305 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS)
Main PID: 7307 (postmaster)
Tasks: 8 (limit: 11411)
Memory: 15.9M
CGroup: /system.slice/postgresql.service
??7307 /usr/bin/postmaster -D /var/lib/pgsql/data
??7309 postgres: logger process
??7311 postgres: checkpointer process
??7312 postgres: writer process
??7313 postgres: wal writer process
??7314 postgres: autovacuum launcher process
??7315 postgres: stats collector process
??7316 postgres: bgworker: logical replication launcher
Jan 15 13:34:47 almalinux8 systemd[1]: Starting PostgreSQL database server...
Jan 15 13:34:47 almalinux8 postmaster[7307]: 2022-01-15 13:34:47.618 UTC [7307] LOG: listening on IPv6 address "::1", port 5432
Jan 15 13:34:47 almalinux8 postmaster[7307]: 2022-01-15 13:34:47.618 UTC [7307] LOG: listening on IPv4 address "127.0.0.1", port 5432
OpenNMSのためのPostgreSQLの構成
次に、OpenNMS用のデータベースとユーザーを作成する必要があります。
最初に、次のコマンドでPostgreSQLにログインします:
su - postgres -c "psql -U postgres"次に、次のコマンドでPostgresパスワードを変更します:
alter user postgres with password 'mypassword';次に、次のコマンドでOpenNMS用のデータベースとユーザーを作成します:
createuser -P opennms
createdb -O opennms opennms次に、次のコマンドでPostgreSQLシェルから退出します:
\q次に、次のコマンドでPostgreSQL設定ファイルを編集します:
nano /var/lib/pgsql/data/pg_hba.conf次の行を見つけます:
host all all 127.0.0.1/32 ident
host all all ::1/128 ident
そして、それらを次の行に置き換えます:
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
最後に、次のコマンドでPostgreSQLサービスを再読み込みして構成変更を適用します:
systemctl reload postgresqlOpenNMSの構成
次に、OpenNMSデータソース構成ファイルを編集し、データベースを定義する必要があります:
nano /opt/opennms/etc/opennms-datasources.xml次の行をデータベースの資格情報に合わせて変更します:
ファイルを保存して閉じたら、次のコマンドを実行して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.13.0.8-4.el8_5.x86_64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java" stored in configuration file.
次に、次のコマンドを実行してデータベースを初期化し、システムライブラリを検出します:
/opt/opennms/bin/install -dis次の出力が得られます:
- Running pre-execution phase
Creating backup of /opt/opennms/etc/service-configuration.xml
Zipping /opt/opennms/etc/service-configuration.xml
- Running execution phase
Current configuration: 32 services.
A service entry named 'OpenNMS:Name=PerspectivePoller' already exists.
Final configuration: 32 services.
- Saving the execution state
- Running post-execution phase
Removing backup /opt/opennms/etc/service-configuration.xml.zip
Finished in 0 seconds
Upgrade completed successfully!
最後に、次のコマンドでOpenNMSサービスを開始し、有効にします:
systemctl start opennms
systemctl enable opennms次のコマンドでOpenNMSのステータスを確認できます:
systemctl status opennms次の出力が得られます:
? opennms.service - OpenNMS server
Loaded: loaded (/usr/lib/systemd/system/opennms.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2022-01-15 13:39:33 UTC; 6s ago
Process: 8638 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS)
Main PID: 9722 (java)
Tasks: 36 (limit: 11411)
Memory: 181.2M
CGroup: /system.slice/opennms.service
??9721 bash /etc/init.d/opennms -s start
??9722 /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,ja>
Jan 15 13:39:22 almalinux8 systemd[1]: Starting OpenNMS server...
Jan 15 13:39:32 almalinux8 systemd[1]: opennms.service: Can't open PID file /opt/opennms/logs/opennms.pid (yet?) after start: No such file or>
Jan 15 13:39:33 almalinux8 systemd[1]: opennms.service: Supervising process 9722 which is not our child. We'll most likely not notice when it>
Jan 15 13:39:33 almalinux8 systemd[1]: Started OpenNMS server.
この時点で、OpenNMSが起動し、ポート8980でリッスンしています。次のコマンドで確認できます:
ss -antpl | grep 8980次の出力が得られます:
LISTEN 0 50 *:8980 *:* users:(("java",pid=9722,fd=1031))
作業が完了したら、次のステップに進むことができます。
OpenNMSのためのNginxをリバースプロキシとして構成する
次に、Nginxをインストールし、OpenNMSのリバースプロキシとして構成する必要があります。そのためには、次のコマンドでNginxサーバーをインストールします:
dnf install nginx -yNginxがインストールされたら、Nginxの仮想ホスト構成ファイルを作成します:
nano /etc/nginx/conf.d/opennms.conf次の行を追加します:
upstream opennms {
server 127.0.0.1:8980;
}
server {
listen 80;
server_name opennms.example.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
proxy_pass http://opennms/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
ファイルを保存して閉じたら、次のコマンドでNginxの構成を検証します:
ginx -t次の出力が得られます:
ginx: the configuration file /etc/nginx/nginx.conf syntax is ok
ginx: configuration file /etc/nginx/nginx.conf test is successful
次に、次のコマンドでNginxサービスを開始し、システム再起動時に自動的に開始されるように設定します:
systemctl start nginx
systemctl enable nginx次のコマンドでNginxのステータスを確認できます:
systemctl status nginx次の出力が得られます:
? nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2022-01-15 13:44:05 UTC; 6s ago
Process: 13489 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 13488 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 13486 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 13491 (nginx)
Tasks: 2 (limit: 11411)
Memory: 3.7M
CGroup: /system.slice/nginx.service
??13491 nginx: master process /usr/sbin/nginx
??13492 nginx: worker process
Jan 15 13:44:05 almalinux8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 15 13:44:05 almalinux8 nginx[13488]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 15 13:44:05 almalinux8 nginx[13488]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 15 13:44:05 almalinux8 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jan 15 13:44:05 almalinux8 systemd[1]: Started The nginx HTTP and reverse proxy server.
ファイアウォールの構成
次に、ファイアウォールを通過するポート80を許可する必要があります。次のコマンドを実行して許可できます:
firebase-cmd --add-service=http --permanent次に、次のコマンドでファイアウォールを再読み込みして変更を適用します:
firebase-cmd --reload作業が完了したら、次のステップに進むことができます。
OpenNMS Webインターフェースにアクセス
今、ウェブブラウザを開き、URL http://opennms.example.comを使用してOpenNMSのWebインターフェースにアクセスします。OpenNMSのログイン画面が表示されます:

デフォルトの管理者ユーザー名とパスワードをadmin/adminとして入力し、ログインボタンをクリックします。次の画面にOpenNMSのダッシュボードが表示されます:

次に、admin => パスワードの変更ボタンをクリックして、デフォルトのパスワードを変更します。以下のように表示されます:

デフォルトのパスワードを変更し、送信ボタンをクリックします。次の画面が表示されます:

結論
おめでとうございます!Alma Linux 8にNginxを使用してOpenNMSを正常にインストールしました。これで、OpenNMSダッシュボードからリモートホストを追加し、中央の場所から監視を開始できます。質問があればお気軽にお尋ねください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。