Ubuntu 20.04/22.04にIcinga2監視ツールをインストールする方法
Icinga2 は、ネットワーク リソースを監視し、障害や停止が発生した場合にアラートや通知を送信する、無料のオープンソースの強力な監視ツールです。また、パフォーマンス データの生成やレポートの作成に役立つメトリックをネットワーク リソースから収集します。
Icinga2 は拡張性に優れており、さまざまな場所にわたる小規模から大規模の複雑なネットワークを監視できます。このガイドでは、Icinga2 監視ツールを Ubuntu 20.04 および Ubuntu 22.04 にインストールする方法を説明します。
ステップ 1: Apache、MariaDB、および PHP をインストールする
まず、Apache、MariaDB、およびPHPを、最終セットアップ時に必要となる追加のPHPモジュールとともにインストールします。ウェブブラウザ上のIcinga2 。
sudo apt install apache2 mariadb-server mariadb-client mariadb-common php 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
インストールしたら、すべてのサービスが実行されていることを確認します。その場合は、次のコマンドを実行します。
sudo systemctl start {apache2,mariadb}
sudo systemctl enable {apache2,mariadb}
sudo systemctl status {apache2,mariadb}
次に、mysql_secure_installation スクリプトを使用して、データベースの root アカウントのパスワードを設定し、匿名ユーザーを削除し、リモートでの root ログインを禁止し、テスト データベースを削除する必要があります。
sudo mysql_secure_installation
PHP モジュールを配置したら、PHP で実行されるアプリケーションのデフォルト設定ファイルである php.ini ファイルを変更する必要があります。
好みのエディタを使用してファイルを開きます。ここ。 nano コマンドライン エディタを使用しています。
sudo nano /etc/php/8.1/apache2/php.ini [On Ubuntu 22.04]
sudo nano /etc/php/7.4/apache2/php.ini [On Ubuntu 20.04]
次のパラメータに次の変更を加えます。
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
パラメータについては、現在のタイムゾーンを反映するように設定してください。 PHP でサポートされているタイムゾーンのリストは次のとおりです。
加えた変更を適用するには、Apache Webサーバーを再起動するだけです。
sudo systemctl restart apache2
ステップ 2: Icinga2 を Ubuntu にインストールする
PHP の設定が完了したら、Icinga2 のインストールに進みます。ただし、Icinga2 リポジトリはUbuntu 20.04 リポジトリでは提供されません。そのため、リポジトリをシステムに手動で追加する必要があります。
したがって、curl コマンドを使用してGPG キーを追加することから始めます。
curl https://packages.icinga.com/icinga.key | apt-key add -
次にIcinga2のリポジトリファイルを作成します。
sudo vim /etc/apt/sources.list.d/icinga-focal.list
以下のエントリを追加します。
deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main
ファイルを保存して終了します。
リポジトリの使用を開始するには、次のようにパッケージ リストを更新します。
sudo apt update
次に、Icinga2 と監視プラグインをインストールします。
sudo apt install icinga2 monitoring-plugins
インストールが完了したら、Icinga2 サービスを有効にして開始します。
sudo systemctl enable icinga2
sudo systemctl start icinga2
Icinga2 サービスが実行されていることを確認するには、次のコマンドを実行します。
sudo systemctl status icinga2
出力は、Icinga2 デーモンが実行中であることを示しており、準備完了です。
ステップ 3: Icinga2 IDO モジュールをインストールする
Icinga2 データ出力 (IDO) は、すべての構成情報とステータス情報をデータベースにエクスポートします。 IDO データベースは、Icinga Web 2 によってデータ バックエンドとして使用されます。
モジュールをインストールするには、次のコマンドを実行します
sudo apt install icinga2-ido-mysql -y
途中で端末にポップアップが表示されます。 Icinga2 のido-mysql 機能を有効にするには、「はい」を選択してENTERを押します。
icinga2-ido-mysql パッケージには、データベースがインストールされ、設定されている必要があります。これはdbconfig-commonで処理できますが、データベースは自分で作成します。したがって、「いいえ」を選択してこのオプションを拒否してください。
次に、MariaDB データベース サーバーにログインします。
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 スキーマをインポートします。データベース サーバーの root パスワードを入力する必要があります。
sudo mysql -u root -p icinga_ido_db < /usr/share/icinga2-ido-mysql/schema/mysql.sql
ステップ 4: Icinga2 IDO モジュールを有効にする
icinga2-ido-mysql データベースと Icinga Web 2 の通信を有効にするには、さらに一歩進んでデフォルトの設定ファイルを変更する必要があります。
icinga2-ido-mysql 構成ファイルを開きます。
sudo vim /etc/icinga2/features-available/ido-mysql.conf
次のエントリを編集し、ステップ 3 で指定したicinga2-ido-mysql データベースの詳細と一致するように設定します。
変更を保存して終了します。
次に、icinga2-ido-mysql 機能を有効にします。
sudo icinga2 feature enable ido-mysql
変更を有効にするには、Icinga2 を再起動します。
sudo systemctl restart icinga2
ステップ 5: IcingaWeb2 のインストールとセットアップ
インストールして設定する最後のコンポーネントは IcingaWeb 2 です。これは、Icinga2 のフロントエンドとして機能する、高速かつ強力で拡張可能な PHP フレームワークです。
したがって、IcingaWeb2 と Icinga CLI をインストールし、コマンドを実行します。
sudo apt install icingaweb2 icingacli -y
Icinga Web 2 用に指定される 2 番目のデータベース スキーマを作成する必要があります。
もう一度、データベース サーバーにログインします。
sudo mysql -u root -p
次に、Icingaweb2 のデータベースとデータベース ユーザーを作成し、データベース上のすべての権限をデータベース ユーザーに付与します。
> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO 'icingaweb2user'@'localhost' IDENTIFIED BY 'P@ssword';
> FLUSH PRIVILEGES;
> EXIT;
その後、以下のコマンドを使用してセットアップトークンを作成します。セットアップ トークンは、ブラウザ上で Icinga2 をセットアップする際の認証時に使用されます。
sudo icingacli setup token create
トークンを紛失または忘れた場合は、次のコマンドを実行してトークンを表示できます。
sudo icingacli setup token show
ステップ 6: Ubuntu で IcingaWeb2 のインストールを完了する
すべての設定が完了したら、Web ブラウザでのIcinga2 のセットアップを完了します。したがって、ブラウザを起動して、表示された URL にアクセスしてください。
http://server-ip/icingaweb2/setup
これにより、図に示すように「ようこそ」ページが表示されます。作成したセットアップ トークンを覚えていますか?コピーしてテキスト フィールドに貼り付け、[次へ] をクリックします。
「モジュール」ページでは、「モニタリング」モジュールがデフォルトで有効になっています。ただし、好みのモジュールを自由に有効にすることができます。
次に、下にスクロールして [次へ] をクリックします。
次のステップでは、すべてのPHP モジュールとライブラリがインストールされており、ディレクトリのアクセス許可が正しいことを確認します。
次に、下にスクロールして [次へ] をクリックします。
[認証] ページで、認証タイプとして [データベース] を選択し、[次へ] をクリックします。
[データベース リソース] セクションに、ステップ 5 で指定したように IcingaWeb2 のデータベースの詳細を入力します。
次に、下にスクロールして [設定の検証] をクリックしてデータベースの詳細を検証します。
すべてがうまくいけば、データベース構成は正常に検証されます。検証が成功したら、下にスクロールして [次へ] をクリックします。
次のステップでは、[次へ] をクリックしてデフォルトを受け入れます。
[アプリケーション構成] セクションで、[次へ] をクリックしてデフォルトを受け入れます。
次のステップでは、時間をかけてIcinga Web 2 のすべての変更を確認します。すべての構成が正しいことを確認し、戻って必要な修正を行ってください。
すべて問題がなければ、下にスクロールして [次へ] をクリックします。
Icinga2 Web セットアップの最後のセクションでは、監視モジュールの構成が必要になります。 [次へ] をクリックします。
次に、ステップ 3 で指定したように、Icinga2 IDO モジュールのデータベースの詳細を入力します。
次に、下にスクロールして [設定の検証] をクリックします。
もう一度言いますが、データベースの詳細の検証は成功するはずです。エラーが発生した場合は、戻ってすべての詳細が正しいことを確認してください。
次のステップに進むには、下にスクロールして [次へ] をクリックします。
[コマンド トランスポート] セクションで、トランスポート タイプとして [ローカル コマンド ファイル] を選択し、[次へ] をクリックします。
[セキュリティの監視] セクションで、[次へ] をクリックしてデフォルトのままにします。
監視モジュールのすべての変更を確認します。何かが場違いに見える場合は、戻って必要な修正を行ってください。
次に、下にスクロールして [完了] をクリックします。
この時点で、Icinga Web 2 は正常にセットアップされており、以下に示すように、その旨の通知が表示されるはずです。 Icinga2 ダッシュボードにログインするには、[Icinga Web 2 にログイン] をクリックします。
これにより、図に示すようにログイン ページが表示されます。管理者アカウントの詳細を入力し、ENTER を押してログインします。
そしてIcinga2 ダッシュボードが表示されます。既存の問題は、その重大度とともに表示されます。たとえば、ダッシュボードには、アップグレードの準備ができている 28 個のパッケージが通知されます。
これを確認するには、ターミナルに戻って次のコマンドを実行します。
sudo apt list --upgradable
パッケージをアップグレードするには、次のコマンドを実行するだけです。
sudo apt upgrade -y
そしてこれで問題は解決します。ダッシュボードから、問題が表示されていないことがわかります。
このガイドでは、Icinga2 監視ツールをUbuntuにインストールする方法を説明しました。確かに、インストールには非常に時間がかかり、細部にまで注意を払う必要があります。それでも、後者の手順に従えば、すべて問題なく動作するはずです。