OpenNMSインストール · 2 min read · Nov 01, 2025

Ubuntu 22.04にOpenNMS監視ソリューションをインストールする方法

OpeNNMSは、無料でオープンソースのネットワーク監視およびネットワーク管理ツールです。これは、ローカルネットワークとリモートネットワークのすべてを視覚化および監視するエンタープライズグレードのネットワーク監視プラットフォームです。OpenNMSは、ネットワーク監視および管理のための完全なオープンソースソリューションであり、AGPLv3ライセンスの下で公開されています。

OpenNMSは、分散型および階層型システムを介して数万のネットワークを監視することを可能にするスケーラブルなネットワーク監視プラットフォームです。また、OpenNMSは、コアビジネスやサードパーティの拡張機能と簡単に統合できる柔軟な監視プラットフォームです。

OpenNMSには、以下の複数のコンポーネントがあります:

  1. OpenNMS Horizon - 3つの主要コンポーネントのバンドル:Core(Horizonの主要コンポーネント)、Minion(リモート分散監視用)、およびSentinel(スケーラビリティのため)。
  2. Helm - OpenNMS用のカスタマイズされたダッシュボード。
  3. 学習可能な相関のためのアーキテクチャ(ALEC)(アラームトリアージ)。
  4. プロビジョニング統合サーバー(PRIS)(抽出データ統合)。

このガイドでは、PostgreSQLデータベースサーバーとNginxリバースプロキシを使用して、Ubuntu 22.04サーバーにOpenNMS監視ソリューションをインストールする方法を示します。また、このガイドでは、Java OpenJDKのインストール、PostgreSQLデータベースサーバーの基本設定、およびNginxウェブサーバーの設定も示します。

前提条件

まず、次の要件が必要です。このガイドを完了するために:

  • Ubuntu 22.04サーバー - この例では、ホスト名が‘opennms-server’のUbuntuサーバーを使用し、メモリは4GBです。
  • sudo/root管理者権限を持つ非rootユーザー。
  • OpenNMSを実行するために使用されるドメイン名またはローカルドメイン。

Java OpenJDKのインストール

OPneNMS監視ソリューションは、主にJavaで記述された監視ツールです。この執筆時点で、OpenNMSの最新バージョンは最低でもJava 11をサポートしています。デフォルトのUbuntu 22.04リポジトリは、APTを介して簡単にインストールできるJava OpenJDK 11を提供します。

Javaをインストールする前に、次のaptコマンドを実行してパッケージインデックスを更新およびリフレッシュします。

sudo apt update

次に、以下のaptコマンドを使用してJava OpenJDK 11をインストールします。Ubuntu 22.04システムのデフォルトJavaバージョンはJava OpenJDK 11であり、OpenNMSのインストールに適しています。

sudo apt install default-jdk

プロンプトが表示されたら、yを入力して確認し、ENTERを押します。Java OpenJDKのインストールが始まります。

install java

Java OpenJDKがインストールされたら、以下のコマンドを実行してインストールされたJavaのバージョンを確認します。UbuntuシステムにJava OpenJDK 1.11がインストールされているはずです。

java -version

Java OpenJDKがインストールされたので、PostgreSQLデータベースのインストールに進みます。

PostgreSQLサーバーのインストールと設定

PostgreSQLは、高性能のRDMS(リレーショナルデータベース管理システム)です。OpenNMSは、データベースバックエンドとしてPostgreSQLのみをサポートしています。この執筆時点で、OpenNMSはPostgreSQL v10.x-14.xをサポートしています。

これから、UbuntuサーバーにPostgreSQLデータベースv14をインストールして設定します。デフォルトで、Ubuntuリポジトリは複数のバージョンのPostgreSQLを提供しており、OpenNMSのデプロイメントにはPostgreSQL 14.xをインストールします。

以下のaptコマンドを実行してPostgreSQL 14をインストールします。

sudo apt install postgresql-14

確認のプロンプトが表示されたら、yを入力してENTERを押して続行します。

install postgresql

PostgreSQLパッケージがインストールされたら、以下のsystemctlコマンドを実行してPostgreSQLサービスを確認し、サービスが実行中で有効になっていることを確認します。

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

PostgreSQLサービスが有効であり、起動時に自動的に実行されることがわかります。また、PostgreSQLサービスの状態は実行中です。

verify postgresql

PostgreSQLデータベースが実行中になったので、OpenNMS用のデータベースとユーザーの作成に進みます。また、デフォルトのPostgreSQLユーザー’postgres‘のパスワードも設定します。

以下のコマンドを実行して、新しいPostgreSQLユーザー’opennms’を作成します。パスワードのプロンプトが表示されたら、’ opennms ‘ユーザーの新しいパスワードを入力し、繰り返します。

sudo -u postgres createuser -P opennms

次に、以下のコマンドを使用して、所有者’opennms‘の新しいデータベース’database ‘opennms‘を作成します。

sudo -u postgres createdb -O opennms opennms

最後に、以下のコマンドを使用して’postgres‘ユーザーのパスワードを変更します。新しい強力なパスワードに変更してください。

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '5up3rp4ssw0rd';"

Java OpenJDKとPostgreSQLがインストールされたので、OpenNMSのインストールを開始します。

OpenNMSのインストールと設定

Java OpenJDKとPostgreSQLデータベースをインストールし、OpenNMS用の新しいデータベースとユーザーを作成し、PostgreSQLの’default’ユーザーのパスワードを設定しました。次に、OpenNMSのインストールと設定を開始します。

このセクションでは、公式のOpenNMSリポジトリを介してOpenNMSをインストールします。その後、PostgreSQLデータベースでOpenNMSを設定し、Java環境を設定し、データベーススキーマを初期化し、システムライブラリを検出し、OpenNMSが特権ポートで実行できるようにします。

まず、以下のコマンドを実行してOpenNMS GPGキーとリポジトリを追加します。

sudo apt-key adv --fetch-keys https://debian.opennms.org/OPENNMS-GPG-KEY  
sudo add-apt-repository -s 'deb https://debian.opennms.org stable main'

プロンプトが表示されたら、ENTERを押してOpenNMSリポジトリを確認し、追加します。

add repo

次に、以下のaptコマンドを使用してOpenNMSパッケージを追加のRパッケージと共にインストールします。

sudo apt install opennms r-recommended

確認のプロンプトが表示されたら、yを入力してENTERを押して続行します。

install opennms

次に、以下のaptコマンドを実行してOpenNMSパッケージの自動更新を無効にします。OpenNMSは新しいバージョンにアップグレードする際に手動の手順と設定が必要なため、エラーを防ぐために手動でアップグレードする必要があります。

sudo apt-mark hold libopennms-java \  
libopennmsdeps-java \  
opennms-common \  
opennms-db

disable auto update

OpenNMSがインストールされたので、以下のコマンドを使用してOpenNMSのインストールディレクトリ’ /usr/share/opennms ‘を確認できます。また、OpenNMSに関連する変更はすべて’ /usr/share/opennms ‘ディレクトリ内のファイルに適用する必要があります。

sudo apt install tree -y  
sudo tree /usr/share/opennms -L 1

OpenNMSパッケージのディレクトリとファイルのリストが表示されます。

opennms list files

次に、OpenNMSのデータベース設定を行います。以下のnanoエディタコマンドを使用してファイル’ /usr/share/opennms/etc/opennms-datasources.xml ‘を開きます。’sudo -u opennms command.. ‘は、rootユーザーではなく’opennms’ユーザーとしてコマンドを実行していることを示します。

sudo -u opennms nano /usr/share/opennms/etc/opennms-datasources.xml

‘jdbc-data-source’の’ opennms ‘は、’ opennms ‘データベースとユーザーの詳細を使用する必要があります。また、’ opennms-admin ‘には、’ postgres ‘ PostgreSQL管理ユーザーを使用する必要があります。

  
  

ファイルを保存し、編集が完了したらエディタを終了します。

次に、以下のコマンドを実行してシステム上のJava環境を検出し、’ /usr/share/opennms/etc/java.conf ‘の設定ファイルに永続的に保存します。

sudo -u opennms /usr/share/opennms/bin/runjava -s

setup opennms

その後、以下のコマンドを実行してデータベースを初期化し、OpenNMSのシステムライブラリを検出します。OpenNMSのライブラリは、ファイル’ /opt/opennms/etc/libraries.properties ‘にリストされます。

sudo -u opennms /usr/share/opennms/bin/install -dis

opennsm installer

次に、以下のsystemctlコマンドを使用してOpenNMSサービスファイルを編集します。システム上のデフォルトのEDITORが表示されるはずです。

sudo systemctl edit --full opennms.service

次の設定を’ [Service] ‘セクションに追加します。これにより、OpenNMSサービスが特権ポート(ポート1-1024)で実行およびバインドできるようになります。

[Service]  
...  
AmbientCapabilities=CAP_NET_RAW CAP_NET_BIND_SERVICE

ファイルを保存し、編集が完了したらエディタを終了します。

OpenNMSサービスファイルを変更した後、以下のコマンドを実行してsystemdマネージャーをリロードし、OpenNMSサービスを再起動および有効化します。

sudo systemctl daemon-reload  
sudo systemctl restart opennms  
sudo systemctl enable opennms

新しい設定でOpenNMSサービスが起動しているので、以下のsystemctlコマンドを使用してOpenNMSサービスを確認します。

sudo systemctl is-enabled opennms  
sudo systemctl status opennms

出力 - OpenNMSサービスは有効であり、システム起動時に自動的に実行されます。また、OpenNMSサービスは現在実行中です。

check opennms

この時点で、OpenNMSのインストールと設定が完了しました。しかし、NginxリバースプロキシでOpenNMSを実行します。NginxをOpenNMSのリバースプロキシとして設定する方法を学ぶために読み続けてください。

OpenNMSのリバースプロキシとしてのNginxのインストール

デフォルトのポート’8980’でOpenNMSが実行されているので、次にNginxをOpenNMSのリバースプロキシとしてインストールして設定します。

以下のaptコマンドを実行して、システムにNginxパッケージをインストールします。

sudo apt install nginx

プロンプトが表示されたらyを入力し、ENTERを押して続行します。インストールが始まります。

install nginx

次に、以下のsystemctlコマンドを使用してNginxサービスを確認します。

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

Nginxサービスが有効であり、起動時に自動的に実行されることがわかります。また、Nginxサービスはインストールが完了した後に自動的に開始されます。

check nginx

Nginxがインストールされたら、以下のnanoエディタコマンドを使用して新しいNginxサーバーブロック’ /etc/nginx/sites-available/opennms.conf ‘を作成します。

sudo nano /etc/nginx/sites-available/opennms.conf

ファイルに次の設定を追加します。ドメイン名を自分のドメインに変更してください。

server {  
    listen 80;  
    server_name opennms.howtoforge.local;  
    access_log /var/log/nginx/opennms.access.log;  
    error_log /var/log/nginx/opennms.error.log;  
  
    location / {  
        proxy_set_header Host $http_host;  
        proxy_set_header X-Forwarded-Host $host;  
        proxy_set_header X-Forwarded-Server $host;  
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
        proxy_set_header X-OpenNMS-Server-URL https://opennms.howtoforge.local/;  
        proxy_pass http://localhost:8980;  
    }  
  
}

ファイルを保存し、編集が完了したらエディタを終了します。

次に、’ opennms.conf ‘サーバーブロックを有効にし、Nginxの設定を確認して正しい設定が行われていることを確認します。

sudo ln -s /etc/nginx/sites-available/opennms.conf /etc/nginx/sites-enabled/  
sudo nginx -t

test successful - syntax ok ‘のような出力メッセージが表示されると、Nginxの設定が正しいことを意味します。

setuo nginx

新しいサーバーブロック設定を適用するために、Nginxサービスを再起動します。

sudo systemctl restart nginx

NginxがOpenNMSのリバースプロキシとして実行されているので、次にUFWファイアウォールの設定を行い、いくつかのサービス用のポートを開きます。

UFWファイアウォールの設定

Nginxリバースプロキシを設定した後、OpenNMSサーバーでUFWを設定します。UFWを有効にした状態でOpenNMS監視ツールを実行するため、OpenNMSで使用されるいくつかのポートを追加する必要があります。

以下のaptコマンドを実行して、システムにUFWをインストールします。

sudo apt install ufw -y

UFWがインストールされたら、以下のコマンドを実行してOpenSSHサービスを追加します。その後、UFWサービスを開始して有効にします。

sudo ufw allow OpenSSH  
sudo ufw enable

プロンプトが表示されたらyを入力して確認し、ENTERを押して続行します。これでUFWが実行中になり、有効になり、システム起動時に自動的に実行されます。

setup ufw ssh

次に、Nginxウェブサーバーへのトラフィックを許可する新しいルールを追加します。

sudo ufw allow "Nginx Full"

ufw nginx

その後、以下のnanoエディタコマンドを使用してファイル’ /etc/ufw/before.rules ‘を開きます。

sudo nano /etc/ufw/before.rules

filterセクションの前に次の設定を追加します。これにより、NATが有効になり、*62/udpから10162/udpへのトラフィックが再ルーティング/転送されます。

*nat  
:PREROUTING ACCEPT [0:0]  
-A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 10162  
COMMIT

ファイルを保存し、編集が完了したらエディタを終了します。

次に、62/udpから10162/udpへの両方のポートを許可する新しいルールを追加します。

sudo ufw allow in 162/udp  
sudo ufw allow in 10162/udp

UFWをリロードして変更を適用し、以下のコマンドでUFWの状態を確認します。

sudo ufw reload  
sudo ufw status

ceck ufw

これまでのところ、PostgreSQLデータベースやNginxウェブサーバーなどのパッケージ依存関係を持つOpenNMSのインストールと設定が完了しました。また、UFWも設定しました。最終ステップとして、ウェブブラウザを介してOpenNMSのインストールにアクセスし、OpenNMSの管理ユーザーを設定します。

OpenNMS監視ツールへのアクセス

ウェブブラウザを開き、OpenNMSインストールのドメイン名(例:http://opennms.howtoforge.local)にアクセスします。OpenNMS監視ツールのログインページが表示されるはずです。

デフォルトのユーザー/パスワード’ admin/admin ‘を入力し、’ Log In ‘をクリックします。

opennms login

次に、OpenNMS管理ダッシュボードが表示されます。

opennms dashboard

デフォルトのユーザー/パスワード’ admin/admin ‘でOpenNMSにログインした後、OpenNMSインストールのデフォルトのユーザー名とパスワードを変更します。

上部メニューバーで、メニュー’ Admin ‘をクリックし、‘Change Password ‘を選択します。

古いパスワード’admin’を入力し、新しいOpenNMSパスワードを入力して繰り返します。次に、’ Submit ‘をクリックして適用します。

schange password

これでOpenNMSの設定が完了しました。

結論

これで、Ubuntu 22.04サーバーにインストールされた高スケーラブルでカスタマイズ可能な監視ツールOpenNMSを持っています。また、PostgreSQLデータベースサーバーがインストールされ、NginxウェブサーバーがOpenNMSのリバースプロキシとして設定されています。OpenNMSが完全に設定されたので、SNMPプロトコルを介して監視するために新しいホストを追加したり、OpenNMS Minionを介して分散監視を設定したり、Sentinelを介してOpenNMSをスケールさせたり、Helmを介してダッシュボードをカスタマイズしたりできます。

大規模なデプロイメントでOpenNMSを実行したい場合は、公式ドキュメントを確認してください。

Share: X/Twitter LinkedIn

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

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