Icinga2 Director を使ってみる

Icinga2

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」をクリックする。

コメント

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