OpenNMSは、無料のオープンソースであり、中央の場所からリモートデバイスを監視するために使用される最も強力なネットワーク監視およびネットワーク管理プラットフォームの1つです。プロビジョニング、サービスモニタリング、イベント管理、チャートサポートなど、多くの機能をサポートします。 OpenNMSはSNMPとJMXを使用し、リモートシステムから情報を収集します。 LinuxおよびWindowsオペレーティングシステムで実行され、監視を容易にするWebベースのインターフェイスを提供します。
このチュートリアルでは、Debian11にOpenNMSをインストールする方法を紹介します。
- Debian11を実行しているサーバー。
- サーバーIPで指定された有効なドメイン名。
- ルートパスワードはサーバーで構成されています。
Debian11にJavaをインストールする
OpenNMSはJavaベースのアプリケーションです。したがって、Javaをサーバーにインストールする必要があります。インストールされていない場合は、次のコマンドを実行してインストールできます。
apt-get install default-jdk -y
Javaがインストールされたら、以下のコマンドを使用してJavaのバージョンを確認します。
java --version
次の出力でJavaバージョンを取得します。
openjdk 11.0.13 2021-10-19 OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1) OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)
Debian11にOpenNMSをインストールする
デフォルトでは、OpenNMSはDebian11メインリポジトリに含まれていません。そのため、OpenNMS公式リポジトリをAPTに追加する必要があります。
まず、次のコマンドを使用して、必要なすべての依存関係をインストールします。
apt-get install curl gnupg2 wget -y
すべてのパッケージがインストールされたら、以下のコマンドを使用してOpenNMSリポジトリファイルを作成します。
nano /etc/apt/sources.list.d/opennms.list
次の行を追加します:
deb https://debian.opennms.org stable main deb-src https://debian.opennms.org stable main
ファイルを保存して閉じてから、次のコマンドでGPGキーをインポートします。
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -
次の出力が得られます:
Connecting to debian.opennms.org (debian.opennms.org)|3.214.84.83|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1335 (1.3K) Saving to: ‘STDOUT’ - 100%[=================================================================>] 1.30K --.-KB/s in 0s 2021-11-28 07:58:07 (16.0 MB/s) - written to stdout [1335/1335] OK
次に、リポジトリキャッシュを更新し、次のコマンドを使用してOpenNMSをインストールします。
apt-get update -y
apt-get install opennms -y
インストール中に次のエラーが発生します:
Failed to install iplike into the template1 or opennms databases. See /tmp/install_iplike.log for details. To skip this step and install manually, set the environment variable SKIP_IPLIKE_INSTALL before installing this package. To install iplike into your database, use the /usr/sbin/install_iplike.sh script. See `install_iplike.sh -h` for more details.
このエラーを解決するには、PostgreSQLでOpenNMSのデータベースとユーザーを作成する必要があります。
PostgreSQLでデータベースを作成する
OpenNMSのインストールプロセス中にPostgreSQLサーバーが自動的にインストールされます。
まず、次のコマンドを使用してPostgreSQLサービスを開始します。
systemctl start postgresql
次に、次のコマンドを使用してPostgreSQLインスタンスに接続します。
su - postgres
接続したら、OpenNMSのユーザーを作成し、次のコマンドを使用してパスワードを設定します。
createuser opennms
psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"
次に、OpenNMSのデータベースを作成し、postgresユーザーのパスワードを設定します。
createdb -O opennms opennms
psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"
次に、次のコマンドを使用してPostgreSQLシェルを終了します。
exit
終了したら、次のステップに進むことができます。
OpenNMSを構成する
次に、OpenNMSデータソースファイルを編集し、データベースの資格情報を定義する必要があります。
nano /usr/share/opennms/etc/opennms-datasources.xml
以下に示すように、データベースのクレデンシャルを定義します。
<jdbc-data-source name="opennms" database-name="opennms" class-name="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/opennms" user-name="opennms" password="opennms" /> <jdbc-data-source name="opennms-admin" database-name="template1" class-name="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/template1" user-name="postgres" password="securepassword" /> </datasource-configuration>
終了したらファイルを保存して閉じ、次のコマンドを実行してJava環境を検出します。
sudo -u opennms /usr/share/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-amd64/bin/java". runjava: Value of "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" stored in configuration file.
次に、次のコマンドを実行してOpenNMSのセットアップを完了します。
sudo -u opennms /usr/share/opennms/bin/install -dis
次の出力が得られます:
Finished in 0 seconds Processing RemotePollerServiceConfigMigratorOffline: Remove deprecated RemotePoller service entry from service-configuration.xml, see NMS-12684 - Running pre-execution phase Creating backup of /usr/share/opennms/etc/service-configuration.xml Zipping /usr/share/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 /usr/share/opennms/etc/service-configuration.xml.zip Finished in 0 seconds Upgrade completed successfully!
OpenNMSサービスを開始する
OpenNMSをセットアップした後、次のコマンドを使用してOpenNMSサービスを開始し、システムの再起動時に開始できるようにします。
systemctl start opennms
systemctl enable opennms
次のコマンドを使用して、OpenNMSのステータスを確認できます。
systemctl status opennms
次の出力が得られます:
? opennms.service - OpenNMS server Loaded: loaded (/lib/systemd/system/opennms.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2021-11-28 08:10:51 UTC; 16s ago Process: 22990 ExecStart=/usr/share/opennms/bin/opennms -s start (code=exited, status=0/SUCCESS) Main PID: 24106 (java) Tasks: 68 (limit: 4679) Memory: 559.2M CPU: 48.083s CGroup: /system.slice/opennms.service ??24105 bash /usr/share/opennms/bin/opennms -s start ??24106 /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java.desktop,java.in> Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so. Attempting to loa> Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library. Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so. Attempting to l> Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library. Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so. Attempting to loa> Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library. Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so. Attempting to l> Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library. Nov 28 08:11:07 debian11 opennms[24106]: Nov 28, 2021 8:11:07 AM org.hibernate.validator.internal.util.VersionNov 28 08:11:07 debian11 opennms[24106]: INFO: HV000001: Hibernate Validator 4.3.2.Final
この時点で、OpenNMSが起動し、ポート8980でリッスンします。次のコマンドで確認できます。
ss -antpl | grep 8980
次の出力が得られます:
LISTEN 0 50 *:8980 *:* users:(("java",pid=24106,fd=1046))
NginxをOpenNMSのリバースプロキシとして構成する
次に、OpenNMSのリバースプロキシとしてNginxをインストールして構成することをお勧めします。まず、次のコマンドを使用してNginxサーバーをインストールします。
apt-get install nginx -y
Nginxをインストールしたら、Nginx仮想ホスト構成ファイルを作成します。
nano /etc/nginx/conf.d/opennms.conf
次の構成を追加します:
server { listen 80; server_name opennms.example.com; 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://nms.hacc.edu/; proxy_pass http://server-ip:8980; } }
ファイルを保存して閉じ、構文構成エラーがないかNginxを確認します:
nginx -t
次の出力が得られます:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
次に、Nginxサービスを再起動して、変更を適用します。
systemctl restart nginx
Nginxの実行ステータスを確認するには、次のコマンドを実行します。
systemctl status nginx
次の出力が表示されます。
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-11-28 08:17:14 UTC; 6s ago Docs: man:nginx(8) Process: 25964 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 25965 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 25967 (nginx) Tasks: 3 (limit: 4679) Memory: 3.2M CPU: 53ms CGroup: /system.slice/nginx.service ??25967 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??25968 nginx: worker process ??25969 nginx: worker process Nov 28 08:17:14 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server... Nov 28 08:17:14 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.
次に、Webブラウザーを開き、URL http://opennms.example.comを使用してOpenNMSWebインターフェースにアクセスします。 。 OpenNMSログインページが表示されます:
管理者としてデフォルトのユーザー名とパスワードを入力し、ログインをクリックします ボタン。次の画面にOpenNMSダッシュボードが表示されます。
次に、管理者>パスワードの変更をクリックします。 以下に示すように、デフォルトの管理者パスワードを変更するには:
デフォルトのパスワードを変更し、送信をクリックします ボタン。次の画面が表示されます。
おめでとう!これで、Debian11サーバーにリバースプロキシとしてNginxを使用してOpenNMSが正常にインストールされました。これで、リモートデバイスをOpenNMSに追加し、Webブラウザからそれらの監視を開始できます。ご不明な点がございましたら、お気軽にお問い合わせください。