ウェブサイト検索

RHEL、Rocky、AlmaLinux に Icinga2 をインストールする方法


Icinga2 は、Nagios 監視ツールのフォークである、機能が豊富なオープンソースのネットワーク監視および警告アプリケーションです。

これはNagios の欠点に対処し、改良された最新のユーザー インターフェイスや、 に変更を加えずに新しい拡張機能を統合するためのREST API などの新機能を導入するために構築されました。 Icinga コア、および追加のデータベース コネクタ。

Icinga2 は、ホストとサービスの可用性を監視します。これらのサービスには、SNMPHTTPHTTPSSSHなどがあります。ルーターやスイッチなどのネットワークデバイスも監視します。

Icinga はメトリクスを収集し、ログを生成して、ネットワーク インフラストラクチャの全体像を把握します。ログとメトリクスはダッシュボード上で視覚化され、すべてがより適切なコンテキストに組み込まれます。

この記事では、Icinga2 監視アプリケーションをRHELRocky Linux、およびAlmaLinuxにインストールする方法を紹介します。

前提条件

Icinga2 をインストールするための要件として、LAMP スタックがインストールされている必要があります。ここで少し注意してください。Icinga2 のインストールにはPHP 7.3 以降のバージョンが必要です。

RHEL 8 に LAMP をインストールする方法に関するチュートリアルがすでにあります。手順は のインストールに重点を置いているため、Apache Web サーバーと MariaDB データベース サーバーのインストールにのみこの記事を使用してください。 PHP 7.2Icinga2 ではサポートされていません。

このガイドの最初のステップでは、PHP 7.4 と必要なモジュールをインストールするプロセスについて説明します。

ステップ 1: PHP および PHP モジュールをインストールする

ApacheMariaDB がインストールされたら、PHP 7.4 をインストールしましょう。 PHP 7.2 以降のバージョンがインストールされている場合は、次のコマンドを実行して削除します。

sudo dnf remove php

次に、システム上の現在の PHP モジュールをリセットします。

sudo dnf module reset php

その後、図のように利用可能なPHP バージョンをリストします。

sudo dnf module list php

次に、PHP 7.4 を有効にします。

sudo dnf module enable php:7.4

PHP 7.4 モジュールが有効になったら、PHP と必要な PHP 拡張機能をインストールします。

sudo dnf install php-gd php-mbstring php-mysqlnd php-curl php-devel php-pear php-xml php-cli php-soap php-intl php-json php-ldap php-xmlrpc php-zip php-json php-common php-opcache php-gmp php-pgsql make -y

Icinga2 には php-imagick 拡張機能も必要です。ただし、これは他の PHP モジュールの場合のように従来どおりにインストールすることはできません。

拡張機能をインストールするには、次のコマンドを実行します。

dnf install -y ImageMagick ImageMagick-devel
sudo pecl install imagick

次に、root ユーザーに切り替えて、PHP.INI ファイルに拡張子を追加します。

su -
echo "extension=imagick.so" > /etc/php.d/20-imagick.ini

変更を適用するには、Apache ウェブサーバーを再起動します。

sudo systemctl restart httpd

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

Icinga2AppStream リポジトリでホストされていないため、Icinga2 をインストールするには、Icinga リポジトリを追加する必要があります。

これを行うには、まずEPELリポジトリを有効にします。

sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

次に、GPG 署名キーを有効にします。

sudo rpm --import https://packages.icinga.com/icinga.key

次に、/etc/yum.repos.d ディレクトリにリポジトリ ファイルを作成します。

sudo vim  /etc/yum.repos.d/icinga2.repo

次のコードブロックを貼り付けます

 
[icinga2]
name=Icinga 2 Repository for EPEL 8
baseurl=https://packages.icinga.com/epel/8/release
enabled=1

リポジトリ ファイルを保存して終了します。次に、キャッシュ パッケージを更新します。

sudo dnf makecache

リポジトリを追加したら、Icinga2 パッケージとその他の関連するIcinga2 パッケージをインストールします。

sudo dnf install icinga2 icinga2-ido-mysql icinga2-selinux  vim-icinga2 -y

次に、物理ホストと仮想ホストの両方の監視に使用されるNagiosプラグインをインストールします。

sudo dnf install nagios-plugins-all -y

次に、Icinga2 のido-mysql モジュールとその他の機能を有効にします。

sudo icinga2 feature enable ido-mysql syslog command

次に、Icinga を再起動して変更を適用します。

sudo systemctl restart icinga2

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

icinga2-IDO (Icinga データ出力) mysql 機能は、すべての構成情報とステータス情報を照合してデータベースにエクスポートするバックエンド機能です。このため、Icinga2-ido-mysql 機能用のデータベースを作成する必要があります。

そこで、MySQL データベース サーバーにログインします。

sudo mysql -u root -p

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

> CREATE DATABASE icinga2;
> GRANT ALL PRIVILEGES ON icinga2.* TO 'icinga2_user'@'localhost' IDENTIFIED BY 'P@ssword321';

変更を適用し、データベース サーバーを終了します。

> FLUSH PRIVILEGES;
> EXIT;

次に、次のようにデータベース スキーマをインポートします。パスワードの入力を求められるので、データベースのパスワードを入力します。

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

次に、ido-mysql 構成ファイルを編集します。

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

データベース ブロックのコメントを解除し、データベースの詳細を指定します。

保存して終了。

次にIcinga2を起動して有効にします。

sudo systemctl start icinga2
sudo systemctl enable icinga2

次に、 図に示すようにIcinga2 のステータスを確認します。

sudo systemctl status icinga2

以下の出力から、Icinga が期待どおりに稼働していることは明らかです。

ステップ 4: IcingaWeb2 を RHEL 8 にインストールする

IcingaWeb2 は、コマンドライン インターフェイスも組み込んだオープンソースの Web ベースの監視ツールです。 Icinga-ido-mysql、Icinga core、Icinga2、その他のモジュールなど、すべてのバックエンドのIcinga機能をサポートします。

IcingaWeb2 をインストールするには、次のコマンドを使用してPowerTools をインストールします。

sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --set-enabled powertools

インストールが完了したら、 図に示すようにIcingaWeb2CLI をインストールします。

sudo dnf install icingaweb2 icingacli

ステップ 5: IcingaWeb2 のデータベースを作成する

Icinga2-IDO-mysql 機能のデータベース スキーマを作成したのと同じように、Icinga Web2 の 2 番目のスキーマも作成する必要があります。

したがって、もう一度データベース サーバーにログインします。

sudo mysql -u root -p

IcingaWeb2 のデータベースとデータベース ユーザーを作成し、Icinga Web2 データベースに対するすべての権限をデータベース ユーザーに付与します。

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO icingaweb2@localhost IDENTIFIED BY 'P@ssword321';

変更を保存して終了します。

> FLUSH PRIVILEGES;
> QUIT

Icinga2 がインストールされると、Icinga2 の新しい設定ファイルが作成されました。図のように表示できます。

cat /etc/httpd/conf.d/icingaweb2.conf

変更を有効にするには、Apache ウェブサーバーを再起動する必要があります。

sudo systemctl restart httpd

さらに、次のようにSELinux モードを「許可」に設定する必要もあります。

sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

ステップ 6: ブラウザから Icinga2 セットアップを完了する

Icinga2 のインストールのステップは、セットアップ トークンの作成です。これは、Icinga2 をセットアップする際の最初のステップで認証に使用される一意のコードです。ブラウザ。

シークレット トークンを生成するには、次のコマンドを実行します。

sudo icingacli setup token create

セットアップ トークンをコピーして安全に保管します。トークンを紛失した場合は、次のコマンドを実行してトークンを取得できます。

sudo icingacli setup token show

このガイドのこの時点では、すべての構成がチェックされています。残っているのは、Web ブラウザからインストールを完了することです。これを行うには、表示された URL を参照します。

http://server-ip/icingaweb2/setup

ようこそページで、前に生成したセットアップ トークンを貼り付けます。

トークンを貼り付けたら、[次へ] をクリックして続行します。 [モジュール] ページが表示されます。これは、有効にできるすべてのモジュールの概要を示します。デフォルトでは、「モニタリング」モジュールが有効になっています。

好みのモジュールを有効にし、下にスクロールして [次へ] をクリックして続行します。

このセクションでは、PHP モジュール、ライブラリ、ディレクトリなどの PHP 前提条件がすべて満たされていることを確認します。すべて問題がなければ、下にスクロールして [次へ] をクリックします。

[認証] ページでは、すべてをそのままにして [次へ] をクリックします。

[データベース リソース] セクションに、ステップ 5 で指定したように IcingaWeb2 のデータベースの詳細を入力します。

データベースの詳細が正しいことを確認するには、下までスクロールして [設定の検証] をクリックします。

すべてがうまくいけば、構成が正常に検証されたという通知を受け取るはずです。

次のステップに進むには、下にスクロールして [次へ] をクリックします。 [認証バックエンド] では、[次へ] をクリックしてデフォルトを受け入れます。

次のステップでは、Icinga2 Web インターフェイスへのアクセスとログインに使用する管理者 ユーザーを作成します。

[アプリケーション監視] セクションでは、デフォルトを受け入れて [次へ] をクリックします。

途中でこれまでに行ったすべての変更を確認します。問題がなければ [次へ] をクリックし、変更を加えたい場合は [戻る] をクリックして必要な変更を加えます。

次のセクションはIcingaWeb2 の監視モジュールの構成です。これはIcinga Web 2 のコア モジュールであり、重要なイベントを追跡するための堅牢なフィルター機能を備えたステータス ビューとレポート ビューを提供します。

[次へ] をクリックして続行します。

次のステップでは、ステップ 3 で指定したIcinga2-ido-mysql 機能のデータベースの詳細をフォームに入力します。

設定を検証するには、下にスクロールして [設定の検証] をクリックします。

構成が正常に検証されたという通知を受け取ります。

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

[セキュリティの監視] セクションで、[次へ] をクリックします。

もう一度、Icinga2 監視モジュールのすべての構成を確認します。すべて問題がなければ、[完了] をクリックします。それ以外の場合は、戻って必要な変更を加えます。

Icinga Web 2 のセットアップがすべてうまくいった場合は、Icinga Web 2 が正常にセットアップされたという通知が表示されます。 Web インターフェースにログインするには、「Icinga Web 2 にログイン」リンクをクリックします。

これにより、Icinga Web 2 インターフェイスが開きます。管理者アカウントの詳細を入力し、[ログイン] をクリックします。

これにより、図に示すようにIcinga2 監視ダッシュボードが表示されます。

以上です。そこから、ネットワーク インフラストラクチャ内のさまざまなホストやサービスを監視できます。このガイドでは、RHEL 8Rocky Linux、およびAlmaLinuxへのIcinga Web 2のインストールについて説明しました。強い>。