Debian に Icinga2 監視ツールをインストールする方法


もともと Nagios 監視ツールのフォークとして作成された Icinga は、インフラストラクチャ全体を監視し、デバイスの可用性とパフォーマンスに関するフィードバックを提供する無料のオープンソース インフラストラクチャ監視およびアラート ソリューションです。

また、さまざまなメトリックを収集、保存、視覚化することもできます。次に、収集されたデータと入力されたビジュアライゼーションを使用してレポートを作成できます。

また、Icinga は、問題が発生した場合にアラートまたは通知を送信するため、問題に迅速に対応し、可能な限り短い時間でサービスを復元できます。

このガイドでは、Debian 11/10 への Icinga2 監視ツールのインストールについて説明します。

Icinga2 を正常にインストールするには、LAMP スタックがインストールされていることを確認してください。 Debian 10/11 に LAMP をインストールする方法については、既にガイドがあります。 LAMP のすべてのコンポーネントを配置したら、次の手順に進みます。

ステップ 1: Debian に PHP モジュールをインストールする

インストールをスムーズに進めるには、いくつかの追加の PHP モジュールが必要です。したがって、端末で次のコマンドを実行してインストールします。

$ sudo apt install php-gd php-mbstring php-mysqlnd php-curl php-xml php-cli php-soap php-intl php-xmlrpc php-zip  php-common php-opcache php-gmp php-imagick php-pgsql  -y

次に、PHP ini ファイルを編集します。

$ sudo 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

date.timezone パラメータについては、現在のタイム ゾーンを反映するように設定します。サポートされているタイムゾーンのリストは次のとおりです。

変更を保存してファイルを終了し、Apache を再起動して変更を適用します。

$ sudo systemctl restart apache2

ステップ 2: Debian に Icinga2 をインストールする

Icinga2 と関連する監視プラグインをインストールするには、まずパッケージ リストを更新します。

$ sudo apt update -y

次に、次のコマンドを実行します。

$ sudo apt install icinga2 monitoring-plugins -y

インストールが完了したら、起動時に Icinga2 を起動して有効にします。

$ sudo systemctl start icinga2
$ sudo systemctl enable icinga2

次のようにして、Icinga2 が実行されていることを確認できます。

$ sudo systemctl status icinga2

出力から、Icinga2 デーモンが実行されていることがわかります。これは素晴らしいことです。

ステップ 3: Icinga2 IDO MySQL モジュールをインストールする

Icinga IDO (Icinga Data Output) は、すべての構成およびステータス情報を IDO データベースにエクスポートする重要な機能です。 IDO データベースはバックエンドにあり、Icinga Web 2 を提供します。

Icinga IDO MySQL モジュールをインストールするには、次のコマンドを実行します。

$ sudo apt install icinga2-ido-mysql -y

これにより、icinga2-ido-mysql モジュールを構成するためのいくつかのプロンプトが表示されます。 icinga2-ido-mysql 機能を有効にするように求められたら、「はい」を選択して ENTER を押します。

Icinga-ido-mysql モジュールを使用するには、データベースをインストールして構成する必要があります。通常、これは、データベース管理を簡素化するツールである dbconfig-common を使用して処理できます。

簡単にするために、[はい] を選択して ENTER を押すことで、dbconfig-common を使用して icinga2-ido-mysql のデータベースを自動的に構成するように選択します。

次に、icinga2-ido-mysql がデータベース サーバーに接続するためのパスワードを入力し、確認します。

ステップ 4: Icinga-IDO MySQL モジュール用のデータベースを作成する

次に、icinga2-ido-mysql 監視モジュール用のデータベースを手動で作成する必要があります。

そのため、MySQL プロンプトにログインします。

$ sudo mysql -u root -p

icinga2-ido-mysql のデータベースとデータベース ユーザーを作成し、データベースのデータベース ユーザーにすべての権限を付与します。

データベースとデータベース ユーザーには任意の名前を自由に使用してください。

> CREATE DATABASE icinga_ido_db;
> GRANT ALL ON icinga_ido_db.* TO 'icinga_ido_user'@'localhost' IDENTIFIED BY 'Password321';
> FLUSH PRIVILEGES;
> EXIT;

次に、次のように Icinga2 IDO スキーマをインポートします。プロンプトが表示されたら、MySQL ルート パスワードを入力します。

$ sudo mysql -u root -p icinga_ido_db < /usr/share/icinga2-ido-mysql/schema/mysql.sql

ステップ 5: Icinga-IDO MySQL モジュールを有効にする

IDO MySQL パッケージには、ido-mysql.conf と呼ばれるデフォルトの構成ファイルがあります。作成したばかりのデータベースに接続できるように、いくつかの変更を加える必要があります。

そのため、構成ファイルを開きます。

$ sudo vim /etc/icinga2/features-available/ido-mysql.conf

スクロールしてこのセクションに移動し、データベースの詳細を入力します。

変更を保存して、構成ファイルを終了します。次に、次のように ido-mysql モジュールを有効にします。

$ sudo icinga2 feature enable ido-mysql

変更を適用するには、Icinga2 を再起動します。

$ sudo systemctl restart icinga2

ステップ 6: Debian に IcingaWeb2 をインストールする

次に、Icinga 用のシンプルで直感的で応答性の高い Web インターフェイスである IcingaWeb2 をインストールして構成します。

最初に、次のように Icinga CLI とともに IcingaWeb2 をインストールします。

$ sudo apt install icingaweb2 icingacli -y

インストールが完了したら、Icinga Web 2 用のデータベースを作成します。

$ sudo mysql -u root -p

次に、Icingaweb2 のデータベースとデータベース ユーザーを作成し、データベースのデータベース ユーザーにすべての権限を付与します。

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO 'icingaweb2user'@'localhost' IDENTIFIED BY '[email protected]';
> FLUSH PRIVILEGES;
> EXIT;

次に、Web ブラウザーでセットアップを完了する際の認証に使用するシークレット トークンを作成します。

$ sudo icingacli setup token create

ブラウザで Icinga2 のセットアップを完了するときに必要になるため、トークンを書き留めて安全な場所に貼り付けます。

ステップ 7: IcingaWeb2 のインストールを完了する

Icinga のインストールの最後のステップは、ブラウザーでのセットアップを完了することです。ブラウザを起動して、表示されている URL にアクセスします。

http://server-ip/icingaweb2/setup

これにより、前の手順で生成したセキュリティ トークンで認証する必要があるこのページに移動します。セキュリティ トークンを貼り付けて、[次へ] をクリックします。

次のステップでは、有効化できるすべてのモジュールが表示されます。監視モジュールはデフォルトで有効になっています。必要に応じて、追加のモジュールを有効にすることができます。

次のページは基本的に、有効にする必要があるすべての php モジュールのチェックリストです。必要なすべての php モジュールがインストールされていて、エラーが表示されていないことを確認してください。次に、下にスクロールして [次へ] をクリックし、次のステップに進みます。

認証のために、「データベース」を選択し、「次へ」をクリックします。

次のステップでは、ステップ 6 で指定した IcingaWeb2 のデータベースの詳細を入力します。

下にスクロールして、[構成の検証] をクリックします。

詳細が正しければ、すべてがうまくいったという通知を受け取るはずです。下にスクロールして「次へ」をクリックします。

次のステップでは、[次へ] をクリックしてデフォルト設定を受け入れ、インストールを続行します。

次に、Icinga2 WebUI へのログインに使用するユーザーの管理者アカウントを構成します。

次のステップでは、[次へ] をクリックして、デフォルトのアプリケーション構成の詳細を受け入れます。

この段階で、Icinga Web 2 は正常に構成されました。構成の詳細を確認し、すべてが正しく設定されていることを確認します。次に、下にスクロールして「次へ」をクリックします。

次のセクションでは、Icinga Web 2 用の Icinga 監視モジュールの構成について説明します。これは、堅牢なフィルタリング機能を備えたステータスおよびレポート ビューを提供するコア モジュールです。

開始するには、[次へ] をクリックします。

監視バックエンド タイプとして「IDO」を選択し、「次へ」をクリックします。

次に、手順 4 で指定したように、icinga-ido-mysql 監視モジュールのデータベースの詳細を指定します。

一番下までスクロールして、[構成の検証] をクリックします。接続の詳細が正しい場合は、構成が正常に検証されたという通知を受け取る必要があります。

次のステップに進むには、下にスクロールして [次へ] をクリックします。 [コマンド トランスポート] セクションで、[トランスポート タイプ] として [ローカル コマンド ファイル] を選択します。 [次へ] をクリックします。

[セキュリティの監視] セクションで、[次へ] を押してデフォルトを受け入れます。

監視モジュールのすべての構成の詳細を確認し、すべてが正しいことを確認します。次に、下にスクロールして「完了」をクリックします。

Icinga Web 2 が正常にセットアップされたという通知を受け取るはずです。 WebUI にログインするには、[Icinga Web 2 にログイン] ボタンをクリックします。

図のようなログインページが表示されます。 Icinga 管理者の資格情報を入力し、[ログイン] ボタンをクリックします。

これにより、図のように Icinga ダッシュボードが表示されます。既存の問題があれば表示されます。たとえば、アップグレードが保留中のパッケージが 6 つあることがわかります。

これを確認するために、ターミナルに向かい、アップグレードが保留中のパッケージを一覧表示します。

$ sudo apt list --upgradable

出力から、実際に 6 つのパッケージがアップグレードされていることが確認できます。これらのパッケージをアップグレードするには、次を実行します。

$ sudo apt upgrade -y

これで今日のガイドは終わりです。お気づきのように、インストールにはかなりの時間がかかり、細部にまで注意を払う必要があります。それでも、後者への手順を注意深く実行すれば、すべてがうまくいくはずです.

このガイドでは、Icinga2 監視ツールを Debian 11/10 にインストールする方法を説明しました。