GNU/Linux >> Linux の 問題 >  >> Debian

Debian11にOpenNMSHorizo​​nネットワーク監視システムをインストールする方法

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.Version 
Nov 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.
OpenNMSダッシュボードにアクセス

次に、Webブラウザーを開き、URL http://opennms.example.comを使用してOpenNMSWebインターフェースにアクセスします。 。 OpenNMSログインページが表示されます:

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

次に、管理者>パスワードの変更をクリックします。 以下に示すように、デフォルトの管理者パスワードを変更するには:

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

結論

おめでとう!これで、Debian11サーバーにリバースプロキシとしてNginxを使用してOpenNMSが正常にインストールされました。これで、リモートデバイスをOpenNMSに追加し、Webブラウザからそれらの監視を開始できます。ご不明な点がございましたら、お気軽にお問い合わせください。


Debian
  1. Debian9にCactiSNMP監視ツールをインストールする方法

  2. Debian10にGradleをインストールする方法

  3. Debian10にAnyDeskをインストールする方法

  1. Debian9にNagios4.3.xモニタリングツールをインストールする方法

  2. Debian9にObserviumNetworkMonitoringをインストールします

  3. Debian9.2にIcinga2モニタリングツールをインストールする方法

  1. Nextcloud15をDebian9にインストールする方法

  2. Debian10にNtopngネットワークモニターをインストールする方法

  3. Debian10にIcinga2モニタリングソフトウェアをインストールする方法