ウェブサイト検索

Debian 11 に Icinga 2 監視ソフトウェアをインストールする方法


このチュートリアルは、これらの OS バージョン用に存在します

  • Debian 11 (ブルズアイ)
  • Debian 9 (ストレッチ)

このページでは

  1. 前提条件
  2. LAMP サーバーをインストールする
  3. Icinga2 をインストールする
  4. Icinga Web 2 のインストールと構成
  5. Icinga2 Web インターフェイスへのアクセス
  6. 結論

Icinga2 は無料のオープンソースであり、最も人気のあるネットワーク監視ツールの 1 つです。 PHP と C++ で書かれており、ネットワーク リソースの監視、停止の通知、レポート用のパフォーマンス データの生成を行うことができます。 SMTP、POP3、HTTP、NNTP、ping、CPU 負荷、ディスク使用率、スイッチ、ルーターなど、さまざまなプロトコルを監視できます。 Icinga2 と Icinga Web 2 の 2 つのスタックで構成されています。Icinga2 は監視サーバーとして使用され、Icinga Web 2 は監視を維持するための Web インターフェイスです。

この記事では、Icinga2 監視サーバーを Debian 11 にインストールする方法を紹介します。

前提条件

  • Debian 11 を実行するサーバー。
  • サーバー上で root パスワードが構成されている。

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 パッケージは Debian 11 デフォルト リポジトリに含まれています。次のコマンドを使用してインストールできます。

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

インストール中に、Icinga 2s ido-mysql 機能を有効にするよう求められます。

[はい] を選択し、Enter キーを押します。 Icinga2 用のデータベースを作成するよう求められます。

[はい] を選択し、Enter キーを押します。 Icinga2 アプリケーションのパスワードを設定するよう求められます。

パスワードを入力し、Enter キーを押してインストールを終了します。

これにより、icinga2 という名前のデータベースとユーザーが作成され、パスワードが設定されます。

注: icinga2 データベース、ユーザー、およびパスワードを覚えておいてください。これは、Web ベースのインストール中に必要になります。次に、次のコマンドで ido-mysql モジュールを有効にします。

icinga2 feature enable ido-mysql

最後に、Icinga2 サービスを再起動して変更を適用します。

systemctl restart icinga2

Icinga Web 2 のインストールと構成

Icinga Web 2 は、Icinga2 を監視するための Web インターフェイスを提供します。次のコマンドでインストールできます。

apt-get install icingaweb2 icingacli -y

インストールが完了したら、Icinga Web 2 用のデータベースとユーザーを作成する必要があります。

まず、次のコマンドで 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

Icinga2 Web インターフェイスへのアクセス

ここで、Web ブラウザを開き、URL http://your-server-ip/icingaweb2/setup を使用して Icinga2 Web インストール ウィザードにアクセスします。次のページが表示されます。

シークレット トークンを入力し、[次へ] ボタンをクリックします。次のページが表示されます。

監視を選択し、[次へ] ボタンをクリックします。次のページが表示されます。

すべての PHP 拡張機能がインストールされていることを確認してから、[次へ] ボタンをクリックします。次のページが表示されます。

認証タイプを選択し、[次へ] ボタンをクリックします。次のページが表示されます。

Icinga2 Web データベースの資格情報を入力し、[次へ] ボタンをクリックします。次のページが表示されます。

バックエンド名を選択し、[次へ] ボタンをクリックします。次のページが表示されます。

管理者ユーザーを指定し、[次へ] ボタンをクリックします。次のページが表示されます。

[次へ] ボタンをクリックします。次のページが表示されます。

すべての設定を確認し、[次へ] ボタンをクリックします。次のページにリダイレクトされます。

[次へ] ボタンをクリックします。次のページが表示されます。

バックエンド名を選択し、[次へ] ボタンをクリックします。次のページが表示されます。

Icinga IDO データベースの資格情報を入力し、[次へ] ボタンをクリックします。次のページが表示されます。

好みのオプションを選択し、[次へ] ボタンをクリックします。次のページが表示されます。

監視セキュリティを選択し、[次へ] ボタンをクリックします。次のページが表示されます。

構成を確認し、[完了] ボタンをクリックします。次のページが表示されます。

[Icinga Web 2 にログイン] をクリックします。次のページが表示されます。

管理者のユーザー名とパスワードを入力し、[ログイン] ボタンをクリックします。次のページが表示されます。

結論

おめでとう! Debian 11 に Icinga2 監視サーバーを正常にインストールして構成しました。これで、リモート ホストを追加して、Icinga Web 2 ダッシュボードから監視を開始できます。

関連記事: