atosatto.alertmanager
Rôle Ansible : Alertmanager
Installer et configurer Prometheus Alertmanager.
Exigences
Une installation d'Ansible 2.2 ou supérieure.
Ce rôle utilise le json_filter
d'Ansible qui nécessite que jmespath
soit installé sur la machine Ansible.
Consultez le fichier requirements.txt
pour plus de détails sur la version spécifique de jmespath
requise par le rôle.
Variables du rôle
Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml) :
alertmanager_release_tag: "latest"
La version d'Alertmanager à installer. Par défaut, la dernière version publiée sur https://github.com/prometheus/alertmanager/releases.
alertmanager_release_url: ""
Si spécifié, le rôle téléchargera Alertmanager à partir de l'URL fournie plutôt que d'utiliser l'URL de téléchargement indiquée dans les métadonnées de la version Github d'Alertmanager.
alertmanager_user: "alertmanager"
alertmanager_group: "alertmanager"
Utilisateur et groupe système d'Alertmanager.
alertmanager_install_path: "/opt"
Répertoire contenant les artefacts de la version d'Alertmanager téléchargée.
alertmanager_bin_path: "/usr/local/bin"
Répertoire vers lequel les binaires d'Alertmanager seront liés par un lien symbolique.
alertmanager_config_path: "/etc/alertmanager"
alertmanager_config_file: "alertmanager.yml"
Fichier de configuration et répertoire d'Alertmanager.
alertmanager_config: {}
Dictionnaire YAML contenant la configuration d'Alertmanager.
La référence complète de la configuration d'Alertmanager peut être trouvée sur
https://prometheus.io/docs/alerting/configuration/.
REMARQUE : la configuration d'Alertmanager fournie sera fusionnée avec celle par défaut définie dans vars/main.yml
.
alertmanager_templates_path: "{{ alertmanager_config_path }}/templates"
alertmanager_templates: {}
Répertoire et définitions des modèles d'Alertmanager.
alertmanager_config:
templates:
- "{{ alertmanager_templates_path }}/*.tmpl"
alertmanager_templates:
"exemple": "{{ define "slack.myorg.text" }}https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}{{ end}}"
L'exemple ci-dessus montre comment créer le example.tmpl
dans le répertoire alertmanager_templates_path
et comment configurer Alertmanager pour le charger.
alertmanager_listen_address: "127.0.0.1:9093"
L'adresse IP et le port d'écoute du serveur web d'Alertmanager.
REMARQUE : les métriques d'Alertmanager seront disponibles à {{ alertmanager_listen_address }}/metrics
.
alertmanager_storage_path: "/var/lib/alertmanager"
alertmanager_storage_retention: "120h"
Répertoire utilisé pour stocker les états de notification et les périodes de silence d'Alertmanager. Par défaut, les anciennes données seront supprimées après 120 heures.
alertmanager_log_level: "info"
Niveau de verbosité des journaux du démon d'Alertmanager.
alertmanager_additional_cli_args: ""
Arguments en ligne de commande supplémentaires à ajouter à l'unité de service d'Alertmanager.
Pour la référence complète des arguments CLI disponibles, veuillez vous référer à la sortie de la commande alertmanager --help
.
Dépendances
Aucune.
Exemples de Playbooks
$ cat playbook.yml
- name: "Installer et configurer Prometheus Alertmanager"
hosts: all
roles:
- { role: atosatto.alertmanager }
Tests
Les tests sont automatisés avec Molecule.
$ pip install tox
Pour tester tous les scénarios, exécutez
$ tox
Pour exécuter une commande molecule personnalisée
$ tox -e py27-ansible29 -- molecule test -s alertmanager-latest
Licence
MIT
Informations sur l'auteur
Andrea Tosatto (@_hilbert_)
Install and Configure Prometheus Alertmanager
ansible-galaxy install atosatto.alertmanager