Icinga2は、無料のオープンソースであり、最も人気のあるネットワーク監視ツールの1つです。 PHPおよびC++で記述されており、ネットワークリソースを監視し、停止を通知し、レポート用のパフォーマンスデータを生成できます。 SMTP、POP3、HTTP、NNTP、ping、CPU負荷、ディスク使用量、スイッチ、ルーターなど、さまざまなプロトコルを監視できます。 Icinga2とIcingaWeb2の2つのスタックで構成されています。Icinga2は監視サーバーとして使用され、IcingaWeb2は監視を継続するためのWebインターフェイスです。
この記事では、Debian11にIcinga2監視サーバーをインストールする方法を紹介します。
- Debian11を実行しているサーバー。
- ルートパスワードはサーバーで構成されています。
LAMPサーバーをインストールする
まず、Apache Webサーバー、MariaDB、PHP、およびその他の必要な拡張機能をサーバーにインストールする必要があります。次のコマンドですべてをインストールできます:
apt-get install apache2 mariadb-server php libapache2-mod-php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-cli php-mysql php-common php-opcache php-pgsql php-gmp php-imagick -y
すべてのパッケージがインストールされたら、php.iniファイルを編集し、いくつかの設定を変更します。
nano /etc/php/7.4/apache2/php.ini
次の行を変更します:
memory_limit = 256M post_max_size = 64M upload_max_filesize = 100M max_execution_time = 300 default_charset = "UTF-8" date.timezone = "Asia/Kolkata" cgi.fix_pathinfo=0
ファイルを保存して閉じてから、Apacheサービスを再起動して変更を適用します。
systemctl restart apache2
次に、MariaDBルートパスワードを設定し、インストールを保護する必要があります。次のスクリプトを実行することでそれを行うことができます:
mysql_secure_installation
以下に示すように、すべての質問に答えてください。
Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] Y Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Icinga2をインストール
デフォルトでは、Icinga2パッケージはDebian11デフォルトリポジトリに含まれています。次のコマンドを使用してインストールできます:
apt-get install icinga2 monitoring-plugins -y
すべてのパッケージがインストールされたら、Icinga2を起動し、システムの再起動時に起動できるようにします。
systemctl start icinga2
systemctl enable icinga2
Icinga2のステータスを確認するには、次のコマンドを実行します。
systemctl status icinga2
サンプル出力:
? icinga2.service - Icinga host/service/network monitoring system Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-10-03 13:40:11 UTC; 27s ago Docs: https://icinga.com/docs/icinga2/latest/ Process: 20727 ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2 (code=exited, status=0/SUCCESS) Main PID: 20734 (icinga2) Tasks: 15 (limit: 2341) Memory: 12.7M CPU: 1.769s CGroup: /system.slice/icinga2.service ??20734 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e ??20748 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e ??20751 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e ??21621 /usr/lib/nagios/plugins/check_ping -6 -H ::1 -c 200,15% -w 100,5% ??21622 /bin/ping -6 -n -U -w 10 -c 5 ::1 Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 1 Endpoint. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 1 FileLogger. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 235 CheckCommands. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ScriptGlobal: Dumping variables to file '/var/cache/icinga2/i> Oct 03 13:40:11 debian11 systemd[1]: Started Icinga host/service/network monitoring system. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Triggering Start signal for config items Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/FileLogger: 'main-log' started. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/NotificationComponent: 'notification' started. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/CheckerComponent: 'checker' started. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Activated all objects.
次に、Icinga2用のMySQLプラグインをインストールする必要があります。次のコマンドを使用してインストールできます:
apt-get install icinga2-ido-mysql -y
インストール中に、Icinga2のido-mysql機能を有効にするように求められます。
はいを選択します Enterを押します 。 Icinga2のデータベースを作成するように求められます。
はいを選択します Enterを押します 。 Icinga2アプリケーションのパスワードを設定するように求められます:
パスワードを入力してEnterを押します インストールを完了します。
これにより、 icinga2という名前のデータベースとユーザーが作成されます パスワードを設定します。
注 :icinga2データベース、ユーザー、パスワードを覚えておいてください。 Webベースのインストール中に必要になります。次に、次のコマンドを使用してido-mysqlモジュールを有効にします。
icinga2 feature enable ido-mysql
最後に、Icinga2サービスを再起動して、変更を適用します。
systemctl restart icinga2
IcingaWeb2のインストールと構成
Icinga Web 2は、Icinga2を監視するためのWebインターフェイスを提供します。次のコマンドでインストールできます:
apt-get install icingaweb2 icingacli -y
インストールが完了したら、IcingaWeb2のデータベースとユーザーを作成する必要があります。
まず、次のコマンドを使用してMariaDBにログインします。
mysql -u root -p
ログインしたら、次のコマンドを使用してデータベースとユーザーを作成します。
MariaDB [(none)]> CREATE DATABASE icingaweb2;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON icingaweb2.* TO 'icingaweb2'@'localhost' IDENTIFIED BY 'password';
次に、特権をフラッシュし、次のコマンドでMariaDBを終了します。
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
次に、次のコマンドを使用してシークレットトークンを生成します。
icingacli setup token create
次の出力が得られるはずです:
The newly generated setup token is: 73bb878b50a35df8
Icinga2Webインターフェイスにアクセス
次に、Webブラウザーを開き、URL http:// your-server-ip / icingaweb2 / setupを使用してIcinga2Webインストールウィザードにアクセスします。 。次のページが表示されます:
シークレットトークンを入力して、次へをクリックします ボタン。次のページが表示されます:
モニタリングを選択し、次へをクリックします ボタン。次のページが表示されます:
すべてのPHP拡張機能がインストールされていることを確認してから、次へをクリックします。 ボタン。次のページが表示されます:
認証タイプを選択し、次へをクリックします ボタン。次のページが表示されます:
Icinga2 Webデータベースのクレデンシャルを入力し、次へをクリックします ボタン。次のページが表示されます:
バックエンド名を選択し、次へをクリックします ボタン。次のページが表示されます:
管理者ユーザーを指定して、次へをクリックします ボタン。次のページが表示されます:
次へをクリックします ボタン。次のページが表示されます:
すべての設定を確認し、次へをクリックします ボタン。次のページにリダイレクトされます:
次へをクリックします ボタン。次のページが表示されます:
バックエンド名を選択し、次へをクリックします ボタン。次のページが表示されます:
Icinga IDOデータベースのクレデンシャルを入力し、次へをクリックします ボタン。次のページが表示されます:
好みのオプションを選択して、次へをクリックします ボタン。次のページが表示されます:
監視セキュリティを選択し、次へをクリックします ボタン。次のページが表示されます:
構成を確認し、完了をクリックします ボタン。次のページが表示されます:
IcingaWeb2へのログインをクリックします 。次のページが表示されます:
管理者のユーザー名とパスワードを入力し、ログインをクリックします ボタン。次のページが表示されます:
おめでとう!これで、Debian 11にIcinga2監視サーバーが正常にインストールおよび構成されました。これで、リモートホストを追加し、IcingaWeb2ダッシュボードから監視を開始できます。