OpenNMSは、世界中のエンタープライズネットワークの管理に使用される無料のオープンソースネットワーク監視およびネットワーク管理プラットフォームです。これはJavaに基づいており、中央の場所から何千ものデバイスを管理するように設計されています。ネットワーク内のサービスまたはノードを自動的に検出して監視する機能があります。
機能
- SNMP、JMX、WMI、NPRE、NSCLient ++、およびXMPをサポートします
- イベント駆動型アーキテクチャ
- デバイスとアプリケーションの監視をサポートします
- 類型の発見と経路の停止
- サービスモニターの構成と実行
- レイヤー2およびレイヤー3ネットワークトポロジをサポート
このチュートリアルでは、CentOS8サーバーにOpenNMSをインストールして構成する方法を示します。
- CentOS8を実行しているサーバー。
- ルートパスワードがサーバーに設定されます。
OpenNMSはJavaベースのアプリケーションです。したがって、システムにJavaをインストールする必要があります。次のコマンドを実行して、他の必要なパッケージと一緒にインストールできます。
dnf install java-11-openjdk-devel curl unzip -y
Javaをインストールした後、次のコマンドを使用してJavaのバージョンを確認できます。
java -version
次の出力が得られるはずです:
openjdk version "11.0.9" 2020-10-20 LTS OpenJDK Runtime Environment 18.9 (build 11.0.9+11-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11-LTS, mixed mode, sharing)
終了したら、次のステップに進むことができます。
OpenNMSをインストールする
デフォルトでは、OpenNMSはCentOS8のデフォルトリポジトリでは使用できません。そのため、OpenNMSリポジトリをシステムに追加する必要があります。
まず、次のコマンドでGPGキーを追加します。
rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
GPGキーが追加されたら、次のコマンドを実行してOpenNMSリポジトリを追加します。
dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm
次に、次のコマンドを実行してOpenNMSをインストールできます。
dnf install opennms -y
これにより、OpenNMS、PostgreSQL、およびその他のパッケージがサーバーにインストールされます。
PostgreSQLの構成
OpenNMSは、PostgreSQLをデータベースバックエンドとして使用します。次のコマンドを使用してPostgreSQLデータベースを初期化できます。
postgresql-setup --initdb --unit postgresql
次の出力が得られるはずです:
* Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
次に、PostgreSQLサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。
systemctl enable postgresql
systemctl start postgresql
次に、PostgreSQL用のデータベースとユーザーを作成する必要があります。
まず、次のコマンドを使用してPostgreSQLにログインします。
su - postgres
ログインしたら、次のコマンドでユーザーを作成します。
[[email protected] ~]$ createuser -P opennms
以下に示すように、パスワードを設定するように求められます。
Enter password for new role: Enter it again:
次に、次のコマンドを使用してデータベースを作成します。
[[email protected] ~]$ createdb -O opennms opennms
次に、次のコマンドを使用してPostgreSQLユーザーのパスワードを設定します。
[[email protected] ~]$ psql -c "ALTER USER postgres WITH PASSWORD 'password';"
次に、次のコマンドを使用してPostgreSQLシェルを終了します。
[[email protected] ~]$ exit;
次に、PostgreSQLのアクセスポリシーを変更する必要があります。ファイル/var/lib/pgsql/data/pg_hba.confを編集することでそれを行うことができます:
nano /var/lib/pgsql/data/pg_hba.conf
次の行を見つけます:
# IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident
そして、それらを次の行に置き換えました:
host all all 127.0.0.1/32 md5 host all all ::1/128 md5
ファイルを保存して閉じてから、PostgreSQLサービスを再起動して変更を適用します。
systemctl restart postgresql
次に、/ opt / opennms / etc/opennms-datasources.xmlファイルでデータベースを定義する必要があります。
nano /opt/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="password" />
終了したら、ファイルを保存して閉じます。
OpenNMSを初期化して開始します
次に、OpenNMSを初期化する必要があります。まず、次のコマンドを使用して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.9.11-0.el8_2.x86_64/bin/java". runjava: Value of "/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java" stored in configuration file.
次に、次のコマンドを実行してデータベースを初期化します。
/opt/opennms/bin/install -dis
次に、次のコマンドを使用して、OpenNMSがシステムの再起動時に開始できるようにします。
systemctl enable --now opennms
次の出力が得られるはずです:
Synchronizing state of opennms.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable opennms Created symlink /etc/systemd/system/multi-user.target.wants/opennms.service → /usr/lib/systemd/system/opennms.service.
これで、次のコマンドを使用してOpenNMSサービスのステータスを確認できます。
systemctl status opennms
次の出力が得られるはずです:
? opennms.service - OpenNMS server Loaded: loaded (/usr/lib/systemd/system/opennms.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2020-11-25 09:21:32 EST; 13s ago Process: 26880 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS) Main PID: 27928 (java) Tasks: 67 (limit: 12523) Memory: 555.6M CGroup: /system.slice/opennms.service ??27927 bash /etc/init.d/opennms -s start ??27928 /usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java> Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so. Attempting to load > Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so. Attempting to load > Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library.
この時点で、OpenNMSが起動し、ポート8980でリッスンしています。次のコマンドで確認できます。
ss -antpl | grep :8980
次の出力が得られるはずです:
LISTEN 0 50 *:8980 *:* users:(("java",pid=27928,fd=988))
終了したら、次のステップに進むことができます。
デフォルトでは、SELinuxはCentOS8サーバーで有効になっています。したがって、最初に無効にする必要があります。 / etc / selinux /configファイルを編集して無効にすることができます:
nano /etc/selinux/config
次の行を見つけます:
SELINUX=enforcing
そして、それを次の行に置き換えます:
SELINUX=permissive
ファイルを保存して閉じ、システムを再起動して変更を適用します。
次に、次のコマンドを使用して、firewalldを介してポート8980を許可します。
firewall-cmd --permanent --add-port=8980/tcp
次に、firewalldをリロードして変更を適用します:
firewall-cmd --reload
終了したら、次のステップに進むことができます。
OpenNMSWebインターフェイスにアクセス
次に、Webブラウザーを開き、URL http:// your-server-ip:8980 / opennmsを使用してOpenNMSWebインターフェースにアクセスします。 。 OpenNMSログインページにリダイレクトされます:
デフォルトの管理者ユーザー名をadminとして、パスワードをadminとして指定し、ログインをクリックします。 ボタン。次のページが表示されます:
オプトインをクリックします 匿名の使用統計をOpenNMSに送信します。次のページにOpenNMSダッシュボードが表示されます。
管理者=>パスワードの変更をクリックします デフォルトのパスワードを変更します。次のページが表示されます:
デフォルトのパスワードを変更し、送信をクリックします ボタン。次のページが表示されます:
+をクリックします アイコンをクリックして、新しいホストを追加します。次のページが表示されます:
新しい求人の名前を入力して、 OKをクリックします ボタン。次のページが表示されます:
リモートホストの詳細を入力し、プロビジョニングをクリックします ボタン。ホストが追加されると、次のページが表示されます。
次に、情報=>ノードをクリックします。 。次のページでリモートホストの詳細情報を取得する必要があります:
おめでとう! CentOS8サーバーにOpenNMSが正常にインストールされました。これで、無制限のネットワークホストとデバイスをOpenNMSに追加し、中央の場所から監視を開始できます。