icinga2 を GUI で設定するためのプラグイン Director をインストール・設定してみる。
2025/05/28 追記
別ページに、「Icinga2/Icinga Web 2/Icinga2 Director を fedora 41 にインストールしてみる」というタイトルで全面的に書き直した。
こちらはこのまま残して、いずれ削除する。
Icinga Director のインストール
前提として icingaweb2 の設定まで完了していること。
以下のコマンドでインストールを行う。
# dnf install -y icinga-director vim-icinga2
つづいて director 用のデータベースの作成を行う。
# mysql -u root -p
CREATE DATABASE director CHARACTER SET 'utf8';
GRANT ALL ON director.* TO 'director'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
QUIT
#
データベースの設定。以下のコマンドを実行する。のちに問題になるが、ここのデータベースは icinga かもしれない。
# mysql -u root -p director < /usr/share/icingaweb2/modules/director/schema/mysql.sql
director が有効になっているかどうかの確認。有効になっていなければ有効化する。
# icingacli module list
# icingacli module enable director
# icingacli module list
Icinga Director の設定
ここからは、icingaweb2 の画面へログインして作業を行う。
リソースの登録
画面右下の鍵マーク→Configuration → Application → Resources タブをクリック→Create a New Resource→Resource Type で SQL Database を選択、Resource Name に「director_db」、Database Type に「MySQL」を指定、Database Name、Username、Password に先ほど作成したデータベースのものを入力、Character Set には「utf8」を指定する。Validate Configuration をクリックして問題なければ Save Changes をクリックする。
ここまでは順調に進むのだが…
つづいて、画面左の Icinga Director をクリックすると Kickstart Wizard 画面になるのだが以下のエラーが出た。
Migration 0 failed (SQLSTATE[42000]: Syntax error or access violation: 1142 CREATE command denied to user 'icinga'@'localhost' for table icinga.director_daemon_info)
や
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'icinga.director_activity_log' doesn't exist, query was: SELECT COALESCE(id, 0) AS id FROM director_activity_log WHERE checksum = ( SELECT last_activity_checksum FROM director_generated_config WHERE checksum = ( SELECT config_checksum FROM director_deployment_log ORDER by id desc limit 1 ))
データベースのテーブルを調べると、icinga には director_daemon_info や director_activity_log のようなテーブルはなく、director には存在した。
以下のコマンドを実行したところ、上記のエラーがなくなり、Kickstart Wizard 画面へ進んだ。
# mysql -u root -p icinga < /usr/share/icingaweb2/modules/director/schema/mysql.sql
このあと、drop database director; をして、再度 create database director; 等を実行しておいた。
Kickstart Wizard 画面
icinga api ユーザのパスワード設定
設定を進める前に、api ユーザのパスワードを変更しておく。/etc/icinga2/conf.d/api-users.conf のpassword =”abcdefgh” の部分を変更する。保存したら icinga2 を再起動する。
# systemctl restart icinga2
以下のコマンドで接続確認を行う。
# curl -k -s -S -i -u root:上記で設定したパスワード https://localhost:5665/v1
Database backend
この後は、Web 画面で作業を行っていく。
ログイン直後の画面左の「Icinga Director」をクリックする。
Database backend→DB Resource で、先ほど作成したリソース director_db を選択する。
Kickstart Wizard
Endpoint Name にサーバの FQDN を入力、Icinga Host にサーバの IP アドレスを入力、API user とPassword に上記で設定したものを入れる。
入力が終わったら「Run import」をクリックする。
コメント