mkayontour.icingaweb2

ansible-icingaweb2

Une rôle Ansible pour installer Icinga Web 2 et le configurer de manière approfondie. Le rôle comprend l'installation des paquets Icinga Web 2, la configuration de tous les fichiers de configuration et la mise en place du module de surveillance.

En plus, le rôle offre un moyen facile d'installer et d'activer les modules Icinga Web 2. La configuration de ces modules doit être faite manuellement ou dans un rôle séparé.

Installation

ansible-galaxy install mkayontour.icingaweb2

Exigences

Aucune exigence spécifique n'est nécessaire pour ce rôle. Mais quelques points doivent être mentionnés au préalable.

Choisissez vous-même votre application de serveur web en l'installant avant d'installer Icinga Web 2.

De plus, vous avez besoin d'un rôle qui fournit une base de données en cours d'exécution et assurez-vous d'importer le schéma en premier. Si vous souhaitez utiliser l'authentification dans la base de données. Si vous utilisez LDAP ou une authentification externe, il n'est pas nécessaire d'avoir la base de données.

- name: Importer le schéma de la base de données 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

Variables du rôle

Installation

Les variables de gestion déclenchent toujours quelque chose à gérer. Le package est le paquet normal icingaweb2 et le dépôt est le dépôt de release de Icinga.

icingaweb2_manage_package: yes
icingaweb2_manage_centos_scl: yes
icingaweb2_manage_repository: yes

Si le Directeur doit être géré, vous pouvez utiliser la variable suivante.

icingaweb2_manage_director: yes

Pour plus d'informations sur le Directeur, voir la section director ci-dessous.

Configuration d'Icinga Web 2

resources.ini

Les ressources de Icinga Web 2 sont définies dans le dictionnaire icingaweb2_resources. La clé est le nom de la ressource et ensuite toutes les options nécessaires vont dans le 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

Tous les fichiers de configuration d'Icinga Web 2 ont leur propre dictionnaire pour créer chaque section et option.

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

Si vous voulez configurer vos rôles automatiquement, veuillez utiliser ce dictionnaire. Lorsque la variable icingaweb2_roles n'est pas définie, la tâche sera sautée.

icingaweb2_roles:
  administrators:
    users: icinga
    permissions: "*"
    groups: Administrators

Module de surveillance

Le module de surveillance sera installé par défaut. Pour créer la configuration pour le module, veuillez utiliser les dictionnaires suivants.

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

Ajout de modules Icinga Web 2

Pour ajouter des modules spécifiques à Icinga Web 2, vous pouvez configurer cette liste de modules. Veuillez vous assurer que le module de surveillance reste également dans cette liste.

Tous les modules de cette liste avec l'option git_url définie seront clonés via git dans le répertoire des modules.

INFO : Assurez-vous que git est installé sur le système avant de commencer le playbook

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

Directeur

Veuillez vous assurer que le dépôt git pour le directeur est installé ou utilisez la fonction pour ajouter des modules Icingaweb2.

Pour gérer le directeur, vous pouvez utiliser la variable icingaweb2_manage_director pour activer l'inclusion.

Pour activer le service systemd, utilisez la variable icingaweb2_manage_director_service.

Ensuite, il y a quelques variables à configurer pour les fichiers config.ini et kickstart.ini.

config.ini

icingaweb2_director_resource: Nom de la ressource Icinga Web 2 Director (DB)

kickstart.ini

icingaweb2_director_kickstart_endpoint: Pour le script kickstart, le nom de l'endpoint (nom commun du maître). Si cette variable n'est pas définie, le kickstart.ini ne sera pas créé. Par conséquent, le kickstart ne sera pas exécuté.

icingaweb2_director_kickstart_host: peut être un nom d'hôte résoluble ou une adresse IP. Par défaut : "localhost"

icingaweb2_director_kickstart_port: Le port est 5665 par défaut à moins qu'aucun ne soit donné.

icingaweb2_director_kickstart_username: Nom d'utilisateur de l'utilisateur API du Directeur. Par défaut : "root"

icingaweb2_director_kickstart_password: Mot de passe de l'utilisateur API du Directeur. Par défaut : "root"

Dépendances

Il n'y a pas de dépendances pour ce module.

Exemple de Playbook

Inclure un exemple de la façon d'utiliser votre rôle (par exemple, avec des variables passées en tant que paramètres) est toujours bien pour les utilisateurs aussi :

- hosts: icingaweb2
  roles:
     - { role: mkayontour.icingaweb2 }

Licence

Apache-2.0

Informations sur l'auteur

Twitter : @mkayontour

À propos du projet

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

Installer
ansible-galaxy install mkayontour.icingaweb2
Licence
apache-2.0
Téléchargements
88.3k
Propriétaire
Twitter: @mkayontour