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 -y

Javaがインストールされたら、次のコマンドを使用して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 postgresql

OpenNMSの構成

次に、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 -y

Nginxがインストールされたら、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ダッシュボードからリモートホストを追加し、中央の場所から監視を開始できます。質問があればお気軽にお尋ねください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。