mkayontour.icingaweb2
ansible-icingaweb2
Ansible 役割は、Icinga Web 2 をインストールし、しっかりと設定します。この役割には、Icinga Web 2 パッケージのインストール、すべての設定ファイルの設定、および監視モジュールのセットアップが含まれています。
さらに、この役割は、Icinga Web 2 モジュールを簡単にインストールおよび有効化する方法を提供します。モジュールの設定は手動で行うか、別の役割で行う必要があります。
インストール
ansible-galaxy install mkayontour.icingaweb2
要件
この役割に特別な要件はありませんが、以下の点を前もって確認する必要があります。
Icinga Web 2 をインストールする前に、ウェブサーバーアプリケーションを自分で選んでインストールしてください。
また、動作しているデータベースを提供する役割が必要です。データベース内で認証を使用する場合は、最初にスキーマをインポートしてください。LDAP や外部認証を使用している場合は、データベースを持つ必要はありません。
- name: Icinga Web 2 データベーススキーマをインポートします。
mysql_db:
name: icingaweb
state: import
target: /usr/share/icingaweb2/etc/schema/mysql.schema.sql
login_user: icingaweb
login_password: icingaweb
login_host: localhost
役割の変数
インストール
管理変数は常に管理される何かをトリガーします。 パッケージは通常の icingaweb2 パッケージであり、リポジトリは Icinga のリリースリポジトリです。
icingaweb2_manage_package: yes
icingaweb2_manage_centos_scl: yes
icingaweb2_manage_repository: yes
ディレクターを管理する必要がある場合は、次の変数を使用できます。
icingaweb2_manage_director: yes
ディレクターに関する詳細は、以下の director
のセクションをご覧ください。
Icinga Web 2 の設定
resources.ini
Icinga Web 2 のリソースは icingaweb2_resources
辞書で定義されます。
キーはリソースの名前で、その後に必要なオプションが resources.ini に入ります。
icingaweb2_resources:
icinga_ido:
type: db
db: mysql
host: localhost
dbname: icinga
username: icinga
password: icinga
use_ssl: 0
charset: utf8
icingaweb_db:
type: db
db: mysql
host: localhost
dbname: icingaweb
username: icingaweb
password: icingaweb
use_ssl: 0
すべての Icinga Web 2 設定ファイルには、各セクションとオプションを作成するための独自の辞書があります。
groups.ini
icingaweb2_groups:
icingaweb2:
backend: db
resource: icingaweb_db
authentication.ini
icingaweb2_authentication:
icingaweb2:
backend: db
resource: icingaweb_db
config.ini
icingaweb2_config:
global:
show_stacktraces: 1
show_application_state_messages: 1
config_backend: ini
module_path: /usr/share/icingaweb2/modules
logging:
log: syslog
level: ERROR
application: icingaweb2
facility: user
themes:
default: Icinga
役割を自動的に構成したい場合は、この辞書を使用してください。変数 icingaweb2_roles が定義されていない場合、タスクはスキップされます。
icingaweb2_roles:
administrators:
users: icinga
permissions: "*"
groups: Administrators
監視モジュール
監視モジュールはデフォルトでインストールされます。モジュールの設定を作成するには、次の辞書を使用してください。
icingaweb2_monitoring_config:
security:
protected_customvars: "*pw*,*pass*,community"
icingaweb2_monitoring_backends:
icinga:
type: ido
resource: icinga_ido
icingaweb2_monitoring_commandtransports:
icinga2:
transport: api
host: localhost
port: 5665
username: root
password: root
Icinga Web 2 モジュールの追加
Icinga Web 2 に特定のモジュールを追加するには、このモジュールのリストを構成することができます。 監視モジュールもこのリストに残るようにしてください。
このリストのすべてのモジュールは、git_url オプションが設定されると、モジュールディレクトリに git を通じてクローンされます。
注意: プレイブックを開始する前に、システムに git がインストールされていることを確認してください。
icingaweb2_modules:
- name: monitoring
# - name: director
# git_url: https://github.com/Icinga/icingaweb2-module-director.git
# version: v1.7.2
# - name: ipl
# git_url: https://github.com/Icinga/icingaweb2-module-ipl.git
# version: v0.5.0
# - name: reactbundle
# git_url: https://github.com/Icinga/icingaweb2-module-reactbundle.git
# version: v0.7.0
# - name: incubator
# git_url: https://github.com/Icinga/icingaweb2-module-incubator.git
# version: v0.5.0
ディレクター
ディレクターの git リポジトリがインストールされているか、Icinga Web 2 モジュールを追加する機能を使用してください。
ディレクターを管理するには、変数 icingaweb2_manage_director
を使用して、インクルードを有効にすることができます。
systemd サービスを有効にするには、変数 icingaweb2_manage_director_service
を使用します。
次に、config.ini と kickstart.ini を設定するためのいくつかの変数があります。
config.ini
icingaweb2_director_resource
: Icinga Web 2 ディレクター リソースの名前 (DB)
kickstart.ini
icingaweb2_director_kickstart_endpoint:
キックスタートスクリプトのエンドポイントの名前 (マスターの一般名)。この変数が定義されていない場合、kickstart.ini は作成されません。そのため、キックスタートは実行されません。
icingaweb2_director_kickstart_host:
解決可能なホスト名または IP アドレスである必要があります。
デフォルト: "localhost"
icingaweb2_director_kickstart_port:
デフォルトのポートは5665です。
icingaweb2_director_kickstart_username:
ディレクター API ユーザーのユーザー名。デフォルト: "root"
icingaweb2_director_kickstart_password:
ディレクター API ユーザーのパスワード。デフォルト: "root"
依存関係
このモジュールには依存関係はありません。
プレイブック例
役割の使用方法を示す例を含めることは、ユーザーにも良いです(例えば、パラメーターとして渡される変数で):
- hosts: icingaweb2
roles:
- { role: mkayontour.icingaweb2 }
ライセンス
Apache-2.0
著者情報
Twitter: @mkayontour
Installs and configures Icinga Web 2 on Rhel, Debian and Ubuntu
ansible-galaxy install mkayontour.icingaweb2