icingaをGUIで設定するためのプラグインDirectorをインストール・設定してみる。
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」をクリックする。
コメント