mkayontour.icingaweb2
ansible-icingaweb2
Eine Ansible-Rolle zur Installation von Icinga Web 2 und deren umfassenden Konfiguration. Die Rolle enthält die Installation der Icinga Web 2-Pakete, die Konfiguration aller Konfigurationsdateien und die Einrichtung des Überwachungsmoduls.
Zusätzlich bietet die Rolle eine einfache Möglichkeit, Icinga Web 2-Module zu installieren und zu aktivieren. Die Konfiguration dieser Module muss manuell oder in einer separaten Rolle erfolgen.
Installation
ansible-galaxy install mkayontour.icingaweb2
Anforderungen
Es sind keine speziellen Anforderungen für diese Rolle erforderlich. Es müssen jedoch einige Dinge im Voraus erwähnt werden.
Wählen Sie Ihre Webserver-Anwendung selbst aus, indem Sie den Webserver vor der Installation von Icinga Web 2 installieren.
Zusätzlich benötigen Sie eine Rolle, die eine laufende Datenbank bereitstellt, und bitte stellen Sie sicher, dass Sie das Schema zuerst importieren, wenn Sie Authentifizierung in der Datenbank verwenden möchten. Wenn Sie LDAP oder externe Authentifizierung verwenden, ist die Datenbank nicht erforderlich.
- name: Importiere das Icinga Web 2-Datenbankschema.
mysql_db:
name: icingaweb
state: import
target: /usr/share/icingaweb2/etc/schema/mysql.schema.sql
login_user: icingaweb
login_password: icingaweb
login_host: localhost
Rollenvariablen
Installation
Die verwalteten Variablen lösen immer etwas aus, das verwaltet werden soll. Das Paket sind die normalen Icingaweb2-Pakete und das Repository ist das Icinga-Release-Repo.
icingaweb2_manage_package: ja
icingaweb2_manage_centos_scl: ja
icingaweb2_manage_repository: ja
Wenn der Director verwaltet werden soll, können Sie die folgende Variable verwenden.
icingaweb2_manage_director: ja
Weitere Informationen über den Director finden Sie im Abschnitt director
weiter unten.
Icinga Web 2 Konfiguration
resources.ini
Die Ressourcen von Icinga Web 2 sind im Dictionary icingaweb2_resources
definiert.
Der Schlüssel ist der Name der Ressource und dann alle benötigten Optionen, die in die resources.ini eingehen.
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
Alle Konfigurationsdateien von Icinga Web 2 haben ihr eigenes Dictionary, um jeden Abschnitt und jede Option zu erstellen.
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
Wenn Sie Ihre Rollen automatisch konfigurieren möchten, verwenden Sie bitte dieses Dictionary. Wenn die Variable icingaweb2_roles nicht definiert ist, wird die Aufgabe übersprungen.
icingaweb2_roles:
administrators:
users: icinga
permissions: "*"
groups: Administrators
Überwachungsmodul
Das Überwachungsmodul wird standardmäßig installiert. Um die Konfiguration für das Modul zu erstellen, verwenden Sie bitte die folgenden Dictionaries.
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
Hinzufügen von Icinga Web 2 Modulen
Um spezifische Module zu Icinga Web 2 hinzuzufügen, können Sie diese Liste von Modulen konfigurieren. Stellen Sie bitte sicher, dass das Überwachungsmodul ebenfalls in dieser Liste bleibt.
Alle Module in dieser Liste mit der Option git_url werden über Git in das Moduldirectory geklont.
INFO: Stellen Sie sicher, dass Git auf dem System installiert ist, bevor Sie das Playbook starten
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
Director
Bitte stellen Sie sicher, dass das Git-Repository für den Director installiert ist oder verwenden Sie die Funktion, um Icingaweb2-Module hinzuzufügen.
Um den Director zu verwalten, können Sie die Variable icingaweb2_manage_director
verwenden, um die Einbindung zu aktivieren.
Um den Systemd-Dienst zu aktivieren, verwenden Sie die Variable icingaweb2_manage_director_service
.
Dann gibt es einige Variablen zur Konfiguration der config.ini und kickstart.ini.
config.ini
icingaweb2_director_resource
: Name der Icinga Web 2 Director-Ressource (DB)
kickstart.ini
icingaweb2_director_kickstart_endpoint:
Für das Kickstart-Skript der Name des Endpunkts (gemeiner Name des Masters). Wenn diese Variable nicht definiert ist, wird die kickstart.ini nicht erstellt. Somit wird das Kickstart nicht ausgeführt.
icingaweb2_director_kickstart_host:
kann ein auflösbarer Hostname oder eine IP-Adresse sein.
Standard: "localhost"
icingaweb2_director_kickstart_port:
Der Port ist standardmäßig 5665, falls kein anderer angegeben ist.
icingaweb2_director_kickstart_username:
Benutzername des Director-API-Benutzers. Standard: "root"
icingaweb2_director_kickstart_password:
Passwort des Director-API-Benutzers. Standard: "root"
Abhängigkeiten
Es gibt keine Abhängigkeiten für dieses Modul.
Beispiel-Playbook
Ein Beispiel, wie Sie Ihre Rolle verwenden können (z. B. mit übergebenen Variablen als Parameter), ist ebenfalls schön für die Benutzer:
- hosts: icingaweb2
roles:
- { role: mkayontour.icingaweb2 }
Lizenz
Apache-2.0
Autoreninformationen
Twitter: @mkayontour
Installs and configures Icinga Web 2 on Rhel, Debian and Ubuntu
ansible-galaxy install mkayontour.icingaweb2