「エアコンの安全な修理・適切なフロン回収」はこちら

OracleLinux 8.x ; Icinga2 監視アプリケーションインストール

Icinga2とは

システム監視のためのオープンソースソフトウェアで、Nagiosと呼ばれる監視ソフトウェアから派生し、開発されました。
今回はIcinga2 監視アプリケーションをRHEL8系のOracleLinux8.xにインストールします。
Rocky Linux8.x、およびAlmaLinux8.xにおいても同様に行えると思います。
ただし、一部PowerTools関連で本ページの情報と違いますのでご了解ください。

1.前提条件

Icinga2 をインストールするための要件として、LAMP がインストールされている必要があります。またPHP 7.3 以降のバージョンが必要です。
今回は下記が構築されていることを前提とします
MySQL   Ver 8.0.32
PHP    7.4.33
Httpd   Apache/2.4.37
SELINUX   permissive

2. PHP 拡張機能をインストールと設定

①必要な PHP 拡張機能をインストール
事前にRemiリポジトリーを利用できる環境にしておく

 ➁php-imagick 拡張機能も必要です。ただし、これは上記のPHP 拡張機能の場合のようにインストールすることはできませんので次の通りインストールする

➂PHP.INI ファイルに下記を追加

④設定を有効化するためApacheを再起動

3. Icinga2 をインストール

①Icinga リポジトリを追加する
まずEPELリポジトリを有効にする

GPG 署名キーを有効にする

/etc/yum.repos.d ディレクトリにリポジトリ ファイルを新規作成する

キャッシュ パッケージを更新する。

➁Icinga2 パッケージとその他の関連するIcinga2 パッケージをインストール

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

④Icinga2 のido-mysql モジュールとその他の機能を有効にする

⑤Icinga を再起動して変更を適用

4. Icinga-IDO MySQL モジュールのデータベースを作成し、構成を設定

①Icinga-IDO MySQL 機能は、すべての構成情報とステータス情報を照合してデータベースにエクスポートするバックエンド機能である。このため、Icinga2-ido-mysql 機能用のデータベースを作成する必要がある。
Icinga2 のデータベース(今回は例としてicinga2_db)とデータベース ユーザー(今回は例としてicinga2_user、パスワード:?Wabcd123)を作成しデータベース ユーザーに Icinga2 データベースに対するすべての権限を付与する。

➁データベース スキーマをインポートする

➂ido-mysql 構成ファイルを編集

④Icinga2を起動して有効にする

⑤サーバー監視 (ICINGA2 プロトコル)を許可する

⑥ステータス確認

5. IcingaWeb2 をインストール

Icinga2では、Icingaweb2はIcinga2のWEBインタフェースでDirectorと呼ばれる設定用のプラグインが実装され、Directorを利用することで、WEBインタフェースで監視の設定を行うことも可能

①IcingaWeb2 をインストールするにはPowerToolsが必要ですがOracleLinuxにはパッケージがありませんので、下記コマンドでPowerTools 同等(ol8_codeready_builder)をインストールする

※参考: AlmaLinux8.x 及びRockyLinux8.xでは次のようにしてPowerToolsをインストールする

➁IcingaWeb2 とCLI をインストール

6. IcingaWeb2 のデータベースを作成

IcingaWeb2 のデータベース(今回は例としてicingaweb2_db)とデータベース ユーザー(今回は例としてicingaweb2_user  パスワード : ?Wefgh123)を作成し、Icinga Web2 データベースに対するすべての権限をデータベース ユーザーに付与する

Apache ウェブサーバーを再起動

7. ブラウザから Icinga2 セットアップ

7.1 シークレット トークンを生成
Icinga2 をセットアップする際の最初のステップで認証に使用される一意のコードであるシークレット トークンを生成する

上記コードをメモしておくトークンを紛失した場合は、次のコマンドを実行してトークンを取得できます

7.2 Web ブラウザからインストールを完了する
①Web ブラウザからhttp://[server-ip]/icingaweb2/setupにアクセスする
以下のWelcomeページが表示されるのて上記で生成したシークレット トークンをSetup Tokenフィールドに入力し、[Next]クリック

[Modules] ページが表示されます。これは、有効にできるすべてのモジュールの概要を示します。デフォルトでは、「Monitoring」モジュールが有効になっています。好みのモジュールを有効にし、[Next] をクリック

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

[Authentication(認証)] ページでは、デフォルトのまま [Next] をクリック

[Database Resource] に、[6. IcingaWeb2 のデータベースを作成]で指定したように IcingaWeb2 のデータベースの情報を入力
データベースの詳細が正しいことを確認するには、 [Validate Configuration] をクリック

すべてが正常であれば、下記の通り構成が正常に検証されたという通知を受け取る、[Next]クリック

下記[Database Setup]が表示された場合MySQLログイン認証情報を次の通り入力し、[Next]クリック
Username : root
Password : ユーザーrootのパスワード

[Authentication Backend(認証バックエンド)] では、デフォルトのまま[Next] をクリック

Icinga2 Web インターフェイスへのアクセスとログインに使用する管理者 ユーザーを新規作成

[Application Configuration(アプリケーション監視)] では、デフォルトのまま [Next] をクリック

これまでに行ったすべての変更を確認。問題がなければ [Next] をクリック

ここからはIcingaWeb2 の監視モジュールの構成です [Next]クリック

ここでは、[4. Icinga-IDO MySQL モジュールのデータベースを作成]で指定したIcinga2-ido-mysql 機能のデータベースの情報をフォームに入力し、設定を検証するには[Validate Configuration] をクリック

構成が正常に検証されたという通知を受け取る。「Next」クリック

[Command Trnsport]では、Transport Typeとして[Local Command File]を選択し、「Next」クリック

[Monitoring Security(セキュリティの監視)] は、デフォルトのまま[Next] をクリック

再度Icinga2 監視モジュールのすべての構成を確認しすべて問題がなければ、[Finish] をクリック

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

Icinga Web 2 インターフェイスが開きます。管理者アカウント名、パスワードを入力し、[Login] をクリック

Icinga2 監視ダッシュボードが表示される

タイトルとURLをコピーしました