Icinga2は、PHPおよびC ++で記述された、無料のオープンソースのクロスプラットフォーム監視ツールです。 ネットワークリソースを監視し、停止、大規模で複雑な環境を通知し、レポート用のパフォーマンスデータを生成できます。 Icingaはスケーラブルで拡張可能です。
Icingaの機能には、SMTP、POP3、HTTP、NNTP、ping、CPU負荷、ディスク使用量、スイッチ、ルーターなどの監視が含まれます。
Icingaスタックはで構成されています Icinga2 -どの監視サーバーと Icinga Web 2 -監視を続けるためのWebインターフェイスです。
このチュートリアルでは、 Icinga2をインストールします の上 Ubuntu 20.04 LTS。 また、Icinga Web2インターフェイスを構成します。
ステップ1:LAMPスタックをインストールする
IcingaはWebサーバー上で実行され、ブラウザーからアクセスされます。 したがって、最初のステップはLAMPスタックをインストールすることです。 LAMPはの頭字語です Linux Apache MariaDB / MySQLおよび PHP。 Apache Webサーバーです。 MariaDB データベースサーバーであり、 PHP 人気のあるサーバーサイドスクリプト言語です。
さぁ、始めよう。 まず、パッケージリストを更新します。
$ sudo apt update
インストールするには Apache Webサーバーで、次のコマンドを実行します。
$ sudo apt install apache2
一度 Apache がインストールされている場合は、起動時に自動的に起動できるようにします。
$ sudo systemctl enable apache2
次に開始 Apache デーモン。
$ sudo systemctl start apache2
Webサーバーが実行されていることを確認するには、次のコマンドを実行します。
$ sudo systemctl status apache2
次に、MariaDBデータベースサーバーとクライアントをインストールします。
$ sudo apt install mariadb-server mariadb-client
インストールが完了したら、MariaDBが起動時に開始できるようにします。
$ sudo systemctl enable mariadb
次に、MariaDBデーモンを起動します。
$ sudo systemctl start mariadb
もう一度、MariaDBのステータスを確認します
$ sudo systemctl status mariadb

データベースサーバーを強化するには、スクリプトを実行します
$ sudo mysql_secure_installation
必ずrootパスワードでデータベースサーバーを保護してください。

そして、データベースサーバーを保護するための残りのプロンプトに対して「はい」と答えます。

次に、LAMPスタックの残りのコンポーネントであるPHPをインストールします。 ただし、最初に、表示されている依存関係をインストールします。
$ sudo apt install software-properties-common
次に、最新バージョンのPHP(現在はPHP 8.0)を提供するOndeJリポジトリーを追加します。 IcingaにはPHP7.3以降のバージョンが必要であるため、必要なバージョン範囲内に十分収まっています。
$ sudo add-apt-repository ppa:ondrej/php
リポジトリが追加されたら、PHPとIcingaのインストールに必要な依存関係をインストールします
$ sudo apt install php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-cli php-mysql php8.0-common php8.0-opcache php-gmp php-imagick
次に、インストールされているPHPのバージョンを確認します。
$ php -v

いくつかの変更が必要です。 php.iniファイルを編集します。
$ sudo vim /etc/php/8.0/apache2/php.ini
必ずdate.timezoneパラメーターを設定し、cgi.fix_pathinfoパラメーターを0に設定してください。
date.timezone = Africa/Kolkata
cgi.fix_pathinfo=0
Save 変更して終了します。
ステップ2:Icinga2リポジトリを追加する
次のステップは、UbuntuにIcinga2をインストールすることです。 ただし、IcingaのリポジトリはUbuntuリポジトリでホストされていないため、リポジトリを手動でローカルに追加する必要があります。
まず、IcingaのGPGキーを追加します
$ curl https://packages.icinga.com/icinga.key | apt-key add -
次に、Icingaのリポジトリファイルを作成します /etc/apt/sources.list.d ディレクトリ。
$ sudo vim /etc/apt/sources.list.d/icinga-focal.list
次に、次の行を追加して、UbuntuがIcingaをダウンロードする場所を定義します。
deb https://packages.icinga.com/ubuntu icinga-focal main
deb-src https://packages.icinga.com/ubuntu icinga-focal main
Save 構成ファイルを終了します。
ステップ3:Icinga2をインストールする
まず、パッケージリストとリポジトリを最初に更新します。
$ sudo apt update
それで Icinga2をインストールします プラグインを監視します。
$ sudo apt install icinga2 monitoring-plugins
インストールしたら、Icinga監視ツールを有効にします。
$ sudo systemctl enable icinga2
その後、サービスを開始します。
$ sudo systemctl start icinga2
次に、Icingaの実行ステータスを確認します。
$ sudo systemctl status icinga2

Icingaは期待どおりに実行されており、これは正しい方向に向かっていることを示す良い兆候です。
ステップ4:Icinga2 IDOMySQLモジュールをインストールします
Icingaデータ出力(IDO)機能は、すべての構成およびステータス情報をデータベースにエクスポートします。 IDOデータベースは、Icinga Web2によってデータバックエンドとして使用されます。
Icinga IDOデータベースモジュールをインストールするには、次のコマンドを実行します。
$ sudo apt install icinga2-ido-mysql
インストールが進行中で、途中でこのポップアップが表示され、Icinga2のido-mysql機能を有効にするように求められます。 「はい」オプションを選択し、Enterキーを押します。

icinga2-ido-mysqlモジュールには、データベースをインストールして構成し、使用できるようにする必要があります。 MariaDBデータベースサーバーでデータベースを手動で構成するため、データベースを自動的に作成するかどうかを確認するメッセージが表示されたら、[‘]を選択します。番号‘そしてENTERを押します。
![icinga-ido-mysqlデータベースの作成をキャンセルするには、[いいえ]を選択します](https://dtnqes.com/images/9/Select-No-database-will-be-configured-1024x379.png)
次のステップは、icinga2-ido-mysqlモジュールのデータベースを手動で作成することです。
MariaDBシェルにログインします。
$ sudo mysql -u root -p
提供されているコマンドを実行して、データベース、データベースユーザーを作成し、ユーザーにすべての権限を付与します。
> CREATE DATABASE icinga2db; >すべてをicinga2db。*に付与します。’icinga2user ‘@’ localhost ‘は’ P @ssword ‘によって識別されます。 >フラッシュ特権; >終了;
データベースが配置されたら、示されているコマンドを使用してIcinga2IDOスキーマをインポートします。 プロンプトが表示されたら、rootパスワードを入力し、Enterキーを押します。

ステップ5:IDOMySQLモジュールを有効にする
IDOパッケージには、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:Icinga Web2をインストールしてセットアップする
次のステップは、Icinga Web2パッケージをインストールすることです。 これは、Icingaにきちんとした直感的なIUを提供する、アプリケーション向けの強力で拡張可能なPHPフレームワークです。
インストールするには Icinga Web 2 Icinga2クライアントとPHPモジュールとともに、次のコマンドを実行します。
$ sudo apt install icingaweb2 icingacli libapache2-mod-php
インストールしたら、次のようにIcinga Web2のデータベースを作成します。
$ sudo mysql -u root -p
データベースとデータベースユーザーを定義し、特権を割り当てて変更を保存します。
> CREATE DATABASE icingaweb2; > icingaweb2。*にすべてを付与します。’icingaweb2user ‘@’ localhost ‘は’ P @ssword ‘によって識別されます。 >フラッシュ特権; >終了;
次のステップでは、Icinga2Webウィザードインストーラーを使用してIcinga2をセットアップします。 これにはトークンが必要であるため、Icingaクライアントを使用してトークンを生成します。
$ sudo icingacli setup token create
このトークンをコピーしてどこかに貼り付けます。

画面をクリアしたり、トークンを忘れたりしても、心配しないでください。 次のコマンドを実行することで、他の時点で表示できます。
$ sudo icingacli setup token show
ステップ7:ブラウザーでIcinga Web2をセットアップする
Icinga2 Webインストーラーにアクセスするには、次のアドレスを参照してください。
https://server-ip/icingaweb2/setup
ウェルカムページが表示されます。 作成したトークンを貼り付けて、「次へ」を押します。

次のページでは、アクティブ化できるすべてのモジュールを示します。 デフォルトでは、「監視」が選択されていますが、今のところこれで十分です。 他の人を自由にアクティブにしてください。

完了したら、をクリックします ‘次‘ ボタン。
![優先モジュールを選択し、[次へ]をクリックします](https://dtnqes.com/images/9/Next.png)
次のページには、有効になっているすべてのPHPモジュールが表示されます。 必要なモジュールをインストールしたので、エラーや警告は表示されません。

下にスクロールして[次へ]ボタンをクリックするだけです。
![[次へ]をクリックしますPHPモジュールはIcingaWeb2を満たしました](https://dtnqes.com/images/9/click-Next.png)
認証タイプとして、「」を選択します。データベース‘そして’をクリックします次‘。

次に、ステップ4でIcinga用に作成したデータベースの詳細を入力します。

下部にあるをクリックします ‘構成を検証する‘提供されたデータベースの詳細が正しいかどうかを確認します。

すべてが計画どおりに進んだ場合、構成が正常に検証されたという通知が表示されます。

次のステップでは、[次へ]をクリックして、認証バックエンドタイプとしてデフォルトで選択されているIcingaweb2を受け入れます。

次に、Icinga WebGUIへのログインに使用する管理者ユーザーを作成します。

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

この時点で、Icinga2は正常に構成されています。 行ったすべての設定を確認します。 すべて問題がなければ、下にスクロールして[次へ]ボタンをクリックします。

次の手順では、監視モジュールを構成する必要があります。 これは、強力なフィルタリング機能を提供し、イベントを追跡するのに役立つコアモジュールです。 したがって、[次へ]ボタンをクリックします。

「IDOリソースの監視」ステップで、ステップ6で作成したIcinga2Webのデータベースの詳細を入力します。

一番下までスクロールして、[‘]をクリックします構成を検証する‘設定がOKかどうかを確認します。

すべての設定に問題がない場合は、構成が正常に検証されたことを確認する必要があります。

コマンドトランスポートの場合は、[ローカルコマンドファイル]を選択し、[次へ]をクリックします。

セキュリティの監視の場合は、[次へ]を押してデフォルトを受け入れます。

最後に、すべてのモジュール構成設定を確認します。

すべてがよさそうなら。[完了]ボタンをクリックします。それ以外の場合は、戻っていくつかの設定を編集します。
![[完了]をクリックして、Icingaのインストールを完了します](https://dtnqes.com/images/9/FInish.png)
Icinga Web2が正常にセットアップされたことを確認するメッセージが表示されます。 ログインするには、[Icinga Web2にログイン]ボタンのリンクをクリックします。

これにより、ログイン画面が表示されます。 Icingaのログイン資格情報を入力し、[ログイン]ボタンを押します。

ログインすると、ダッシュボードが提供されます。

結論
このチュートリアルでは、Ubuntu20.04にIcinga2とIcingaWeb2をインストールする方法を学びました。 読んでくれてありがとう、下のコメントセクションであなたの提案を教えてください。