(oneechanblog) – Icinga2は、Nagios監視ツールのフォークである機能豊富なオープンソースネットワーク監視およびアラートアプリケーションです。
Nagiosの欠点に対処するために構築され、改善された最新のユーザーインターフェイス、Icingaコアや追加のデータベースコネクタに変更を加えることなく新しい拡張機能を統合するRESTAPIなどの新機能を導入しています。
Icinga2は、サーバーとサービスの可用性を監視します。これらのサービスには、SNMP、HTTP、HTTPS、およびSSHが含まれます。また、ルーターやスイッチなどのネットワークデバイスも監視します。
Icingaはまた、メトリックを収集し、ログを生成して、ネットワークインフラストラクチャの全体像を提供します。その後、ログとメトリックがダッシュボードに表示され、状況が改善されます。
この記事では、RHEL、Rocky Linux、およびAlmaLinuxにIcinga2監視アプリケーションをインストールする方法を紹介します。
前提条件
Icinga2をインストールするための要件として、LAMPをスタックにインストールする必要があります。ここで少し注意が必要です–Icinga2をインストールするにはPHP7.3以降のバージョンが必要です。
RHEL 8にLAMPをインストールする方法についてのチュートリアルはすでにあります– PHP 7.2のインストールに焦点を当てた手順が機能しなかったという理由だけで、この記事を使用してApacheWebサーバーとMariaDBデータベースサーバーをインストールします。
このチュートリアルの最初のステップでは、PHP7.4と必要なモジュールのインストールについて説明します。
ステップ1:PHPおよびPHPモジュールをインストールする
ApacheとMariaDBをインストールしたら、先に進んでPHP7.4をインストールします。 PHP 7.2以降のバージョンがインストールされている場合は、次のコマンドを実行して削除します。
$ sudo dnf remove php
次に、システム上の現在のPHPモジュールをリセットします。
$ sudo dnf module reset php
PHPモジュールをリセットする
次に、示されているようにPHPのバージョンをリストします。
$ sudo dnf module list php
次に、PHP7.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-imageick拡張機能も必要です。ただし、他のPHPモジュールで行ったように、これを通常の方法でインストールすることはできません。
拡張機能をインストールするには、次のコマンドを実行します。
$ dnf install -yImageMagickImageMagick-開発
$ sudo pecl install imagick
次に、rootユーザーに切り替えて、PHP.INIファイルに拡張子を追加します。
$su-
$ echo “extension = imagick.so”> /etc/php.d/20-imagick.ini
変更を適用するには、ApacheWebサーバーを再起動します。
$ sudo systemctl restart httpd
ステップ2:RHEL8にIcinga2をインストールする
Icinga2はAppStreamリポジトリでホストされていないため、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 2EPEL8のリポジトリ
baseurl = https://packages.icinga.com/epel/8/releases
enabled = 1
アーカイブファイルを保存して終了します。次に、キャッシュパッケージを更新します。
$ sudo dnf makecache
リポジトリを追加して、Icinga2パッケージおよびその他の関連するIcinga2パッケージをインストールします。
$ sudo dnf install icinga2 icinga2-ido-mysql icinga2-selinux vim-icinga2 -y
RHELへのIcinga2のインストール
次に、物理サーバーと仮想サーバーの両方を監視するために使用されるNagiosプラグインをインストールします。
$ sudo dnf install nagios-plugins-all -y
次に、Icinga2ido-mysqlモジュールおよびその他の機能を有効にします。
$ sudo icinga2 feature enableido-mysqlsyslogコマンド
次に、変更を有効にするためにIcingaを再起動します。
$ sudo systemctl restart icinga2
ステップ3:Icinga-IDOMySQLモジュールのデータベースを作成する
icinga2-IDO(Icinga Data Output)mysql機能は、すべての構成およびステータス情報を照合してデータベースに出力するバックエンド機能です。このため、Icinga2-ido-mysql機能用のデータベースを作成する必要があります。
したがって、MySQLデータベースサーバーにログインします。
$ sudo mysql -u root -p
Icinga2のデータベースとデータベースユーザーを作成します。次に、データベースユーザーに対するすべての権限をIcinga2データベースに付与します。
> CREATE DATABASE icinga2;
>icinga2。*のすべての特権を’icinga2_user’@’localhost’ IDENTIFIED BY'[emailprotected]’;に付与します。
変更を適用して、データベースサーバーを終了します。
>フラッシュ特権;
>終了;
次に、データベーススキーマを次のようにインポートします。データベースパスワードを入力する必要があるパスワードの入力を求められます。
$ 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を構成します。MySQLモジュール
保存して終了。
次に、Icinga2を起動して有効にします。
$ sudo systemctl start icinga2
$ sudo systemctl enable icinga2
次に、図のようにIcinga2のステータスを確認します。
$ sudo systemctl status icinga2
以下の出力から、Icingaが期待どおりに機能していることが明らかです。
Icinga2を確認してください。ステータス
ステップ4:RHEL8にIcingaWeb2をインストールする
IcingaWeb2は、コマンドラインインターフェイスも組み込んだオープンソースのWebベースの監視ツールです。 Icinga-ido-mysql、Icingaコア、Icinga2などのすべてのIcingaバックエンド機能をサポートします。
次のコマンドを使用してIcingaWeb2DownloadPowerToolsをインストールするには。
$ sudo dnf install’dnf-command(config-manager)’
$ sudo dnf config-manager –set-enabled powertools
インストールが完了したら、図のようにIcingaWeb2とCLIをインストールします。
$ sudo dnf install icingaweb2 icingacli
RHELへのIcingaWeb2のインストール
ステップ5:IcingaWeb2のデータベースを作成する
Icinga2-IDO-mysqlのデータベーススキーマを作成したのと同じように、IcingaWeb2の2番目のスキーマも作成する必要があります。
もう一度、データベースサーバーにログインします。
$ sudo mysql -u root -p
IcingaWeb2のデータベースとデータベースユーザーを作成してから、IcingaWeb2データベースのデータベースユーザーにすべてのアクセス許可を付与します。
> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO [email protected] IDENTIFIED BY ‘[email protected]’;
変更を保存して終了します。
> FLUSH PRIVILEGES;
> QUIT
Icinga2がインストールされると、Icinga2の新しい構成ファイルが作成されました。写真のように見ることができます。
$ cat /etc/httpd/conf.d/icingaweb2.conf
変更を有効にするには、ApacheWebサーバーを再起動する必要があります。
$ sudo systemctl restart httpd
さらに、次のようにSELinuxを「permissive」モードに設定する必要もあります。
$ sudo sed -i’s / ^SELINUX=。*/SELINUX = permit / g’/ etc / selinux / config
ステップ6:ブラウザからIcinga2のセットアップを完了します
Icinga2インストールのステップは、セットアップトークンの生成です。これは、ブラウザーでIcinga2をセットアップする最初のステップで認証に使用される一意のコードです。
シークレットトークンを生成するには、次のコマンドを実行します。
$sudoicingacliセットアップトークンの作成
Icinga2を生成します。トークン
セットアップトークンをコピーして安全に保管してください。 トークンを紛失した場合は、次のコマンドを実行してトークンを取り戻すことができます。
$ sudo icingacli setup token show
このガイドのこの時点で、すべての構成がチェックされています。 残っているのは、Webブラウザからインストールを完了することです。 これを行うには、表示されたURLを参照します
http:// server-ip / icingaweb2 / setup
ウェルカムページに、前に作成したセットアップトークンを貼り付けます。
Icinga2。セットアップトークン
トークンを貼り付けたら、[次へ]をクリックして続行します。 これにより、「モジュール」ページに移動します。 これにより、有効にできるすべてのモジュールの概要がわかります。 デフォルトでは、「monitor」モジュールが有効になっています。
好みのモジュールをアクティブにして下にスクロールし、[次へ]をクリックして続行します。
Icinga2。モジュール
このセクションでは、PHPモジュール、ライブラリ、ディレクトリなど、すべてのPHPの前提条件が満たされていることを確認します。 すべて問題がなければ、下にスクロールして[次へ]をクリックします。
Icinga2PHPをチェックしてください
[確認]ページで、すべてをそのままにして、[次へ]をクリックします。Icinga2。認証
「データベースリソース」内に、ステップ5で指定されたIcingaWeb2のデータベースの詳細を入力します。
Icinga2。データベースのインストール
データベースの詳細が正しいことを確認するには、一番下までスクロールして、[構成の確認]をクリックします。
Icinga2。データベース認証
すべてがうまくいくと、構成が正常に検証されたことを示すメッセージが表示されます。
Icinga2データベースが認証されました
次のステップに進むには、下にスクロールして[次へ]をクリックします。 「検証バックエンド」として、「次へ」をクリックしてデフォルトを受け入れます。
Icinga2。認証バックエンド
次のステップでは、Icinga2Webインターフェイスへのアクセスとログインに使用するユーザー管理者を作成します。
管理者ユーザーIcinga2
[アプリケーションの監視]で、デフォルトを受け入れて[次へ]をクリックします。Icinga2。アプリケーションの監視
これまでに行ったすべての変更を確認します。 すべて問題がなければ、[次へ]をクリックします。変更を加える場合は、[戻る]をクリックして必要な変更を加えます。
Icinga2。構成評価
次のセクションは、IcingaWeb2の監視モジュールの構成です。 これはIcingaWeb2のコアモジュールであり、重要なイベントを追跡するための強力なフィルタリングを備えたステータスビューとレポートビューを提供します。
[次へ]をクリックして続行します。Icinga2。監視モジュール
次のステップでは、ステップ3で指定されたIcinga2-ido-mysql機能のデータベースの詳細をフォームに入力します。
MySQLIcinga2。モジュール
構成を検証するには、下にスクロールして[構成の検証]をクリックします。
MySQLIcinga2。モジュール認証
構成が正常に検証されたことを示すメッセージが表示されます。
MySQLIcinga2モジュールが検証されました
次のステップに進むには、下にスクロールして[次へ]をクリックします。 「トランスポートコマンダー」として、車両タイプとして「ローカルスクリプト」を使用し、「次へ」をクリックします。
Icinga2コマンドトランスポート
[セキュリティの監視]セクションで、[次へ]をクリックします。Icinga2。監視セキュリティ
繰り返しになりますが、Icinga2モニタリングモジュールのすべての構成を確認してください。 すべて問題がなければ、[完了]をクリックします。それ以外の場合は、戻って必要な変更を加えます。
Icinga2。構成評価の監視
Icinga Web 2のセットアップがすべてうまくいくと、IcingaWeb2が正常にセットアップされたというメッセージが表示されます。 Webインターフェイスにログインするには、[IcingaWeb2ログイン]ボタンをクリックします。
ログインIcingaWeb2
このポップアップにより、Icinga Web 2インターフェイスが開きます。管理者アカウントの詳細を入力して、[ログイン]をクリックします。
ログインIcingaWeb2
これにより、図のようにIcinga2モニタリングパネルが開きます。
IcingaWeb2ダッシュボード
以上です。 そこから、ネットワークインフラストラクチャ内のさまざまなサーバーとサービスを監視できます。 このチュートリアルでは、RHEL 8、Rocky Linux、およびAlmaLinuxにIcingaWeb2をインストールする方法を示しました。