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
Installs and configures Icinga Web 2 on Rhel, Debian and Ubuntu
ansible-galaxy install mkayontour.icingaweb2