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
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.
ansible-galaxy install cloudalchemy.alertmanager