CentOS / RHEL7にOpenNMSネットワーク監視ツールをインストールします


OpenNMS(またはOpenNMS Horizon)は、Javaを使用して構築された、無料でオープンソースのスケーラブルで拡張可能な、高度に構成可能なクロスプラットフォームのネットワーク監視およびネットワーク管理プラットフォームです。これは、現在世界中の通信およびエンタープライズネットワークの管理に使用されているエンタープライズグレードのネットワークサービス管理プラットフォームです。

  • Supports service assurance.
  • It supports device and application monitoring.
  • It’s built on an event-driven architecture.
  • Supports the collection of performance metrics from industry standard agents via SNMP, JMX, WMI, NRPE, NSClient++ and XMP simply through configuration.
  • Allows for easy integration to extend service polling and performance data collection frameworks.
  • Supports topology discovery based on SNMP information from industry standards such as LLDP, CDP and Bridge-MIB discovery.
  • A provisioning system to discover your network and applications through manual, detected, or ReST API driven interfaces.
  1. Operating System: Red Hat Enterprise Linux 7 or CentOS 7.
  2. Minimal Hardware: 2 CPU, 2 GB RAM, 20 GB disk

この記事では、RHELおよびCentOS7.xリリースに最新のOpenNMSHorizonネットワークサービス監視ソフトウェアをインストールしてセットアップする方法について説明します。

ステップ1:JavaのインストールとJAVA_HOMEの設定

OpenNMSHorizonには少なくともJava8以降のバージョンが必要であるため、最初のステップはJavaとその環境をシステムにインストールすることです。次のyumコマンドを使用して、最新のOpenJDK Java11バージョンをインストールします。

# yum install java-11-openjdk

Javaをインストールしたら、次のコマンドを使用して、システム上のJavaのバージョンを確認できます。

# java -version

次に、/ etc/profileファイルに次の行を追加して、起動時にすべてのユーザーのJava環境変数を設定します。

export JAVA_HOME=/usr/lib/jvm/java-11

ステップ2:OpenNMSHorizonをインストールする

OpenNMS Horizonをインストールするには、yumリポジトリとインポートGPGキーを追加します。

# yum -y install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm
# rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY

次に、opennmsメタパッケージを、jicmp6やjicmp、opennms-core、opennms-webapp-jetty、postgresql、postgresql-libsなどのすべての組み込み依存関係とともにインストールします。

# yum -y install opennms

opennmsメタパッケージをインストールしたら、次のコマンドを使用して/opt/opennms で確認できます。

# cd /opt/opennms
# tree -L 1
.
└── opennms
   ├── bin
   ├── contrib
   ├── data
   ├── deploy
   ├── etc
   ├── jetty-webapps
   ├── lib
   ├── logs -> /var/log/opennms
   ├── share -> /var/opennms
   └── system

ステップ3:PostgreSQLを初期化してセットアップする

次に、PostgreSQLデータベースを初期化する必要があります。

# postgresql-setup initdb

次に、今のところPostgreSQLサービスを開始し、システムの起動時に自動起動できるようにして、そのステータスを確認します。

# systemctl start postgresql
# systemctl enable postgresql
# systemctl status postgresql

次に、postgresユーザーアカウントに切り替えてPostgreSQLへのアクセスを作成し、次にpostgresシェルにアクセスして、パスワードを使用してopennmsデータベースユーザーを作成し、次のようにユーザーopennmsが所有するopennmsデータベースを作成します。

# su - postgres
$ createuser -P opennms
$ createdb -O opennms opennms

Postgresスーパーユーザーのパスワードを設定します。

$ psql -c "ALTER USER postgres WITH PASSWORD 'admin123';"
$ exit

次に、 /var/lib/pgsql/data/pg_hba.conf 構成ファイルでPostgreSQLのアクセスポリシーを変更する必要があります。

# vi /var/lib/pgsql/data/pg_hba.conf

次の行を見つけて、認証方法を md5 に変更し、OpenNMSHorizonがMD5ハッシュパスワードを使用してローカルネットワーク経由でデータベースにアクセスできるようにします。

host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

PostgreSQLの構成変更を適用します。

# systemctl reload postgresql

次に、OpenNMSHorizonでデータベースアクセスを構成する必要があります。 /opt/opennms/etc/opennms-datasources.xml構成ファイルを開いて、上記で作成したPostgreSQLデータベースにアクセスするための資格情報を設定します。

# vim /opt/opennms/etc/opennms-datasources.xml 

次に、PostgreSQLデータベースにアクセスするための資格情報を設定します。

<jdbc-data-source name="opennms"
                    database-name="opennms"
                    class-name="org.postgresql.Driver"
                    url="jdbc:postgresql://localhost:5432/opennms"
                    user-name="opennms"
                    password="your-passwd-here" />

<jdbc-data-source name="opennms-admin"
                    database-name="template1"
                    class-name="org.postgresql.Driver"
                    url="jdbc:postgresql://localhost:5432/template1"
                    user-name="postgres"
                    password="your-db-admin-pass-here" />

ステップ4:OpenNMSHorizonを初期化して開始します

この時点で、JavaのデフォルトバージョンをOpenNMSHorizonと統合する必要があります。次のコマンドを実行してJava環境を検出し、/ opt/opennms/etc /java.conf構成ファイルに保持します。

# /opt/opennms/bin/runjava -s

次に、OpenNMSインストーラーを実行します。これにより、データベースが初期化され、/ opt/opennms/etc /libraries.propertiesに保持されているシステムライブラリが検出されます。

# /opt/opennms/bin/install -dis

次に、systemdを介してOpenNMSホライズンサービスをしばらくの間開始し、システムの起動時に自動開始できるようにして、ステータスを確認します。

# systemctl start opennms
# systemctl enable opennms
# systemctl status opennms

システムでファイアウォールが実行されている場合、OpenNMS Webコンソールにアクセスする前に、実行する必要のある重要なことが1つあります。ファイアウォールのインターフェイスポート8980を介して、リモートコンピュータからOpenNMSWebコンソールへのアクセスを許可します。

# firewall-cmd --permanent --add-port=8980/tcp
# firewall-cmd --reload

ステップ5:OpenNMSWebコンソールにアクセスしてログインする

次に、ブラウザを開き、次のURLのいずれかを入力してWebコンソールにアクセスします。

http://SERVER_IP:8980/opennms
OR 
http://FDQN-OF-YOUR-SERVER:8980/opennms

ログインインターフェイスが表示されると、デフォルトのログインユーザー名はadminで、パスワードはadminです。

ログイン後、デフォルトの管理ダッシュボードが表示されます。 OpenNMS Webアプリへの安全なアクセスを確保するには、デフォルトの管理者パスワードを変更する必要があります。 「管理者→パスワードの変更」のメインナビゲーションメニューに移動し、「ユーザーアカウントセルフサービス」で「パスワードの変更」をクリックします。

古いパスワードを入力し、新しいパスワードを設定して確認し、[送信]をクリックします。その後、ログアウトして新しいパスワードでログインし、より安全なセッションを使用します。

最後になりましたが、OpenNMS管理者ガイドを使用して、WebコンソールからOpenNMS Horizonをセットアップ、構成、および保守するためのいくつかの手順を学ぶ必要があります。

OpenNMSは、無料で完全にオープンソースのエンタープライズグレードのネットワークサービス管理プラットフォームです。スケーラブルで拡張可能で、高度に構成可能です。この記事では、CentOSおよびRHEL 7にOpenNMSをインストールする方法について説明しました。共有する質問やコメントがありましたら、以下のフィードバックフォームを使用してください。