cloudalchemy.alertmanager

DÉPRÉCIÉ

Ce rôle a été déprécié en faveur de la collection prometheus-community/ansible.

Rôle Ansible : alertmanager

Statut de la construction Licence Rôle Ansible Tag GitHub

Description

Déployez et gérez le service Prometheus alertmanager à l'aide d'Ansible.

Exigences

  • Ansible >= 2.7 (Cela peut fonctionner sur des versions précédentes, mais nous ne pouvons pas le garantir)

Il serait souhaitable d'avoir Prometheus installé quelque part.

Variables du rôle

Toutes les variables qui peuvent être remplacées sont stockées dans le fichier defaults/main.yml ainsi que dans le tableau ci-dessous.

Nom Valeur par défaut Description
alertmanager_version 0.21.0 Version du paquet Alertmanager. Accepte également latest comme paramètre.
alertmanager_binary_local_dir "" Permet d'utiliser des paquets locaux au lieu de ceux distribués sur GitHub. Prend comme paramètre un répertoire où les binaires alertmanager ET amtool sont stockés sur l'hôte où Ansible est exécuté. Cela remplace le paramètre alertmanager_version
alertmanager_web_listen_address 0.0.0.0:9093 Adresse sur laquelle Alertmanager écoutera.
alertmanager_web_external_url http://localhost:9093/ Adresse externe sous laquelle Alertmanager est disponible. Utile lorsqu'il se trouve derrière un proxy inverse. Ex. example.org/alertmanager
alertmanager_config_dir /etc/alertmanager Chemin vers le répertoire avec la configuration d'Alertmanager.
alertmanager_db_dir /var/lib/alertmanager Chemin vers le répertoire avec la base de données d'Alertmanager.
alertmanager_config_file alertmanager.yml.j2 Variable utilisée pour fournir un fichier de configuration Alertmanager personnalisé sous forme de modèle Ansible.
alertmanager_config_flags_extra {} Options de configuration supplémentaires passées au binaire Prometheus au démarrage.
alertmanager_template_files ['alertmanager/templates/*.tmpl'] Liste des dossiers où Ansible recherchera les fichiers de modèle qui seront copiés dans {{ alertmanager_config_dir }}/templates/. Les fichiers doivent avoir l'extension *.tmpl
alertmanager_resolve_timeout 3m Temps après lequel une alerte est déclarée comme résolue.
alertmanager_smtp {} Configuration SMTP (email).
alertmanager_http_config {} Configuration Http pour utiliser des webhooks personnalisés.
alertmanager_slack_api_url "" URL du webhook Slack.
alertmanager_pagerduty_url "" URL du webhook PagerDuty.
alertmanager_opsgenie_api_key "" Clé du webhook OpsGenie.
alertmanager_opsgenie_api_url "" URL du webhook OpsGenie.
alertmanager_victorops_api_key "" Clé du webhook VictorOps.
alertmanager_victorops_api_url "" URL du webhook VictorOps.
alertmanager_hipchat_api_url "" URL du webhook HipChat.
alertmanager_hipchat_auth_token "" Jeton d'authentification HipChat.
alertmanager_wechat_url "" URL du webhook WeChat Entreprise.
alertmanager_wechat_secret "" Jeton secret WeChat Entreprise.
alertmanager_wechat_corp_id "" ID de la société WeChat Entreprise.
alertmanager_cluster {listen-address: ""} Configuration réseau du cluster HA. Désactivé par défaut. Plus d'informations dans le readme d'alertmanager
alertmanager_receivers [] Liste des récepteurs de notification. Configuration identique à celle des docs officielles
alertmanager_inhibit_rules [] Liste des règles d'inhibition. Identique à celle des docs officielles
alertmanager_route {} Routage des alertes. Plus d’infos dans les docs officielles
alertmanager_amtool_config_file amtool.yml.j2 Modèle pour la configuration amtool.
alertmanager_amtool_config_alertmanager_url alertmanager_web_external_url URL de l'Alertmanager.
alertmanager_amtool_config_output extended Sortie étendue, utilisez "" pour une sortie simple.

Exemple

Playbook

---
  hosts: all
  roles:
    - ansible-alertmanager
  vars:
    alertmanager_version: latest
    alertmanager_slack_api_url: "http://example.com"
    alertmanager_receivers:
      - name: slack
        slack_configs:
          - send_resolved: true
            channel: '#alerts'
    alertmanager_route:
      group_by: ['alertname', 'cluster', 'service']
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 3h
      receiver: slack

Site de démonstration

Nous fournissons un site de démonstration pour une solution complète de surveillance basée sur Prometheus et Grafana. Le dépôt avec le code et les liens vers les instances en cours d'exécution est disponible sur GitHub et le site est hébergé sur DigitalOcean.

Tests locaux

La méthode préférée pour tester localement le rôle est d'utiliser Docker et molecule (v3.x). Vous devez installer Docker sur votre système. Consultez "Démarrer" pour un package Docker adapté à votre système. Exécuter vos tests est aussi simple que d'exécuter molecule test.

Intégration continue

La combinaison de Molecule et CircleCI nous permet de tester comment les nouvelles PR fonctionneront avec plusieurs versions d'Ansible et plusieurs systèmes d'exploitation. Cela nous permet également de créer des scénarios de test pour différentes configurations de rôle. En conséquence, nous avons une matrice de tests assez vaste qui peut prendre plus de temps que les tests locaux, donc veuillez être patient.

Contribuer

Voir les directives pour les contributeurs.

Dépannage

Voir dépannage.

Licence

Ce projet est sous licence MIT. Voir LICENSE pour plus de détails.

À propos du projet

Prometheus Alertmanager service

Installer
ansible-galaxy install cloudalchemy.alertmanager
Licence
mit
Téléchargements
1.7M
Propriétaire
Setup your monitoring stack with ansible