Ubuntu20.04にIcinga2をインストールする方法

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

Apache2のステータスを確認する

次に、MariaDBデータベースサーバーとクライアントをインストールします。

$ sudo apt install mariadb-server mariadb-client

インストールが完了したら、MariaDBが起動時に開始できるようにします。

$ sudo systemctl enable mariadb

次に、MariaDBデーモンを起動します。

$ sudo systemctl start mariadb

もう一度、MariaDBのステータスを確認します

$ sudo systemctl status mariadb

開始を有効にして、MariaDBのステータスを確認します開始を有効にして、MariaDBのステータスを確認します

データベースサーバーを強化するには、スクリプトを実行します

$ sudo mysql_secure_installation

必ずrootパスワードでデータベースサーバーを保護してください。

MariaDBデータベースサーバーを強化するMariaDBデータベースサーバーを強化する

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

MariaDBデータベースサーバーを強化する安全なMariaDBデータベースサーバー

次に、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のバージョンを確認するPHPのバージョンを確認する

いくつかの変更が必要です。 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のステータスを確認するIcingaのステータスを確認する

Icingaは期待どおりに実行されており、これは正しい方向に向かっていることを示す良い兆候です。

ステップ4:Icinga2 IDOMySQLモジュールをインストールします

Icingaデータ出力(IDO)機能は、すべての構成およびステータス情報をデータベースにエクスポートします。 IDOデータベースは、Icinga Web2によってデータバックエンドとして使用されます。

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

$ sudo apt install icinga2-ido-mysql

インストールが進行中で、途中でこのポップアップが表示され、Icinga2のido-mysql機能を有効にするように求められます。 「はい」オプションを選択し、Enterキーを押します。

Icinga 2ido-mysql機能を有効にするかどうかを選択しますIcinga 2ido-mysql機能を有効にするかどうかを選択します

icinga2-ido-mysqlモジュールには、データベースをインストールして構成し、使用できるようにする必要があります。 MariaDBデータベースサーバーでデータベースを手動で構成するため、データベースを自動的に作成するかどうかを確認するメッセージが表示されたら、[‘]を選択します。番号‘そしてENTERを押します。

icinga-ido-mysqlデータベースの作成をキャンセルするには、[いいえ]を選択しますicinga-ido-mysqlデータベースの作成をキャンセルするには、[いいえ]を選択します

次のステップは、icinga2-ido-mysqlモジュールのデータベースを手動で作成することです。

MariaDBシェルにログインします。

$ sudo mysql -u root -p

提供されているコマンドを実行して、データベース、データベースユーザーを作成し、ユーザーにすべての権限を付与します。

> CREATE DATABASE icinga2db; >すべてをicinga2db。*に付与します。’icinga2user ‘@’ localhost ‘は’ P @ssword ‘によって識別されます。 >フラッシュ特権; >終了;

データベースが配置されたら、示されているコマンドを使用してIcinga2IDOスキーマをインポートします。 プロンプトが表示されたら、rootパスワードを入力し、Enterキーを押します。

IDO-mysql-schemaをインポートしますIDO-mysql-schemaをインポートします

ステップ5:IDOMySQLモジュールを有効にする

IDOパッケージには、ido-mysql.confという構成ファイルが付属しています。 このファイルにアクセスして、データベース接続の詳細を変更する必要があります。

したがって、構成ファイルにアクセスします。

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

前の手順で指定したものを使用して、ユーザー、パスワード、ホスト、およびデータベースのデータベースの詳細を編集し、変更を保存します

ido_mysqlのデータベースの詳細ido_mysqlのデータベースの詳細

その後、ido-mysqlモジュールを有効にします。

$ sudo icinga2 feature enable ido-mysql

ido-mysqlモジュールを有効にする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

このトークンをコピーしてどこかに貼り付けます。

IcingaCLIを使用してトークンを生成するIcingaCLIを使用してトークンを生成する

画面をクリアしたり、トークンを忘れたりしても、心配しないでください。 次のコマンドを実行することで、他の時点で表示できます。

$ sudo icingacli setup token show

ステップ7:ブラウザーでIcinga Web2をセットアップする

Icinga2 Webインストーラーにアクセスするには、次のアドレスを参照してください。

https://server-ip/icingaweb2/setup

ウェルカムページが表示されます。 作成したトークンを貼り付けて、「次へ」を押します。

Icinga Web2ウィザードへようこそIcinga Web2ウィザードへようこそ

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

Icinga2モジュールを選択しますIcinga2モジュールを選択します

完了したら、をクリックします ‘次‘ ボタン。

優先モジュールを選択し、[次へ]をクリックします優先モジュールを選択し、[次へ]をクリックします

次のページには、有効になっているすべてのPHPモジュールが表示されます。 必要なモジュールをインストールしたので、エラーや警告は表示されません。

Icinga対応のPHPモジュールIcinga対応のPHPモジュール

下にスクロールして[次へ]ボタンをクリックするだけです。

[次へ]をクリックしますPHPモジュールはIcingaWeb2を満たしました[次へ]をクリックしますPHPモジュールはIcingaWeb2を満たしました

認証タイプとして、「」を選択します。データベース‘そして’をクリックします‘。

認証タイプIcingaWeb2を選択します認証タイプIcingaWeb2を選択します

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

Enter  Icingaのデータベースの詳細 Enter Icingaのデータベースの詳細

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

データベース構成を検証するデータベース構成を検証する

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

Icinga構成が正常に検証されましたIcinga構成が正常に検証されました

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

Icinga認証バックエンドIcinga認証バックエンド

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

Icingaの管理者ユーザーを作成するIcingaの管理者ユーザーを作成する

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

デフォルトのアプリケーション構成の詳細を受け入れます。デフォルトのアプリケーション構成の詳細を受け入れます。

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

Icinga2Web設定を確認するIcinga2Web設定を確認する

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

Icinga2の監視モジュールの構成Icinga2の監視モジュールの構成

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

IDOリソースを監視して、Icinga2のデータベースの詳細を入力しますIDOリソースを監視して、Icinga2のデータベースの詳細を入力します

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

モジュール構成を検証するモジュール構成を検証する

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

モジュール構成が正常に検証されました。モジュール構成が正常に検証されました

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

Icingaコマンドトランスポート

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

Icingaモニタリングセキュリティ

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

すべてのモジュール構成設定を確認しますすべてのモジュール構成設定を確認します

すべてがよさそうなら。[完了]ボタンをクリックします。それ以外の場合は、戻っていくつかの設定を編集します。

[完了]をクリックして、Icingaのインストールを完了します[完了]をクリックして、Icingaのインストールを完了します

Icinga Web2が正常にセットアップされたことを確認するメッセージが表示されます。 ログインするには、[Icinga Web2にログイン]ボタンのリンクをクリックします。

Icinga Web2が正常に作成されましたIcinga Web2が正常に作成されました

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

Icingaログイン画面

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

結論

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