Icinga Directorの設計は、Icinga2構成の処理を容易にするためのものです。 2つの主要なオーディエンスをターゲットにしようとします:
- データセンターを完全に自動化したいユーザー
- 「ポイント&クリック」ユーザーに多くの柔軟性を与えることをいとわないシスオペ
Icinga Directorを特別なものにしているのは、両方を同時にターゲットにしようとしているという事実です。
Icinga Directorは、Icinga2APIを使用して監視システムと通信します。単一ノードのIcingaインストールを使用しているか、複数のマスターとサテライトを使用した分散セットアップを使用しているかに関係なく、構成を展開するのに役立ちます。
Icinga Directorをインストールするには、次のリンクを使用してIcinga2とIcingaWeb2をインストールしてください。
CentOS8にIcinga2およびIcinga2Webをインストールして構成する方法– Unixcop
Icniga2とIcingaWeb2のインストールが完了したら、データベースとDirectorの権限を作成します。
mysql -u root -p
ここで、Icinga2とIcingaWeb2のインストールで設定したパスワードを入力します。
次に、DBに入力し、データベースを作成して、ユーザーとその権限を設定します。
CREATE DATABASE director CHARACTER SET 'utf8';
GRANT ALL ON director.* TO 'director'@'localhost' IDENTIFIED BY 'director';
FLUSH PRIVILEGES;
QUIT
bashスクリプトを作成し、実行可能にします。これを使用して、Icingaディレクターとその依存関係をインストールします。
nano create_icinga_director.sh
スクリプトに次の行を追加します。
#!/bin/bash
ICINGAWEB_MODULEPATH="/usr/share/icingaweb2/modules"
REPO_URL="https://github.com/icinga/icingaweb2-module-director"
TARGET_DIR="${ICINGAWEB_MODULEPATH}/director"
MODULE_VERSION="1.7.2"
git clone "${REPO_URL}" "${TARGET_DIR}" --branch v${MODULE_VERSION}
MODULE_NAME=incubator
MODULE_VERSION=v0.5.0
REPO="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}"
MODULES_PATH="/usr/share/icingaweb2/modules"
git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
icingacli module enable "${MODULE_NAME}"
MODULE_NAME=ipl
MODULE_VERSION=v0.5.0
REPO="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}"
MODULES_PATH="/usr/share/icingaweb2/modules"
git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
icingacli module enable "${MODULE_NAME}"
MODULE_NAME=reactbundle
MODULE_VERSION=v0.7.0
REPO="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}"
MODULES_PATH="/usr/share/icingaweb2/modules"
git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
icingacli module enable "${MODULE_NAME}"

スクリプトファイルを保存して終了します。
次のコマンドを使用して実行可能ファイルの権利を付与します:
chmod +x create_icinga_director.sh
次のコマンドを使用してbashスクリプトを実行します。
bash create_icinga_director.sh

以下のコマンドを使用して、Directorデータベースのスキーマをロードします。
mysql -u root -p director < /usr/share/icingaweb2/modules/director/schema/mysql.sql
Directorモジュールを有効にします。
icingacli module enable director
新しいリソースの作成;
ここで、Icinga Webにログインして、新しいリソースを作成する必要があります。 [構成]->[アプリケーション]->[リソース]に移動します。次に、[新しいリソースの作成]をクリックします。リソース名、データベース名、ユーザー名、パスワード、および文字セットを設定する必要があります。その後、[構成の検証]をクリックし、すべてがOKの場合は、[変更の保存]をクリックします。 Icinga Directorのキックスタートプロセス中に、ApiUserのクレデンシャルを提供する必要があります。これは、api-users.confで定義されたrootユーザーを使用できます。

director-service.shという名前のファイルを作成し、実行権限を付与して実行します。
nano director-permission.sh
次のスクリプトをファイルに追加します。
#!/bin/bash
useradd -r -g icingaweb2 -d /var/lib/icingadirector -s /bin/false icingadirector
install -d -o icingadirector -g icingaweb2 -m 0750 /var/lib/icingadirector
MODULE_PATH=/usr/share/icingaweb2/modules/director
cp "${MODULE_PATH}/contrib/systemd/icinga-director.service" /etc/systemd/system/
systemctl daemon-reload
systemctl enable icinga-director.service
systemctl start icinga-director.service

実行権限を与えて、スクリプトを実行します。
chmod +x director-permission.sh
bash director-permission.sh
これで、IcingaDirectorメニューオプションのアクティビティログにオレンジ色のアラートが表示されます。そこをクリックすると、画面の中央に「保留中の変更を展開する」というメッセージが表示されます。リンクをクリックして展開するだけです。

これで、Directorを使用するメリットを活用する準備が整いました。