mkayontour.icingaweb2

Build-Status Volkswagen-Status Ansible Qualitätsbewertung

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

Über das Projekt

Installs and configures Icinga Web 2 on Rhel, Debian and Ubuntu

Installieren
ansible-galaxy install mkayontour.icingaweb2
GitHub Repository
Lizenz
apache-2.0
Downloads
88.3k
Besitzer
Twitter: @mkayontour