atosatto.alertmanager

Rôle Ansible : Alertmanager

Statut de construction Galaxy

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_)

À propos du projet

Install and Configure Prometheus Alertmanager

Installer
ansible-galaxy install atosatto.alertmanager
Licence
mit
Téléchargements
1.6k
Propriétaire
Automation fan-boy. Head in the ☁️. Loving Containers, Micro-Services, OpenSource, Golang and Python