cloudalchemy.node_exporter

DÉPRÉCIÉ

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

Rôle Ansible : node exporter

License Rôle Ansible Tag GitHub

Avertissement

En raison des limitations de galaxy.ansible.com, nous avons dû déplacer le rôle vers https://galaxy.ansible.com/cloudalchemy/node_exporter et utiliser _ au lieu de - dans le nom du rôle. C'est un changement majeur et, malheureusement, cela affecte toutes les versions du rôle node_exporter, car ansible galaxy ne propose aucune forme de redirection. Nous nous excusons pour ce désagrément.

Description

Déployez le node exporter de prometheus en utilisant ansible.

Exigences

  • Ansible >= 2.7 (Cela peut fonctionner sur des versions précédentes, mais nous ne pouvons pas le garantir)
  • gnu-tar sur l'hôte de déploiement Mac (brew install gnu-tar)
  • Passlib est requis lors de l'utilisation de la fonctionnalité d'authentification de base (pip install passlib[bcrypt])

Variables du rôle

Toutes les variables qui peuvent être remplacées sont stockées dans defaults/main.yml et sont répertoriées dans le tableau ci-dessous.

Nom Valeur par défaut Description
node_exporter_version 1.1.2 Version du paquet node exporter. Accepte également 'latest' comme paramètre.
node_exporter_binary_local_dir "" Permet l'utilisation de paquets locaux au lieu de ceux distribués sur GitHub. Ce paramètre peut être défini sur un répertoire où le binaire node_exporter est stocké sur l'hôte où ansible est exécuté. Cela remplace le paramètre node_exporter_version
node_exporter_web_listen_address "0.0.0.0:9100" Adresse sur laquelle le node exporter écoutera.
node_exporter_web_telemetry_path "/metrics" Chemin sous lequel exposer les métriques.
node_exporter_enabled_collectors ["systemd",{textfile: {directory: "{{node_exporter_textfile_dir}}"}}] Liste de dictionnaires définissant les collecteurs supplémentaires activés et leur configuration. Il ajoute des collecteurs à ceux activés par défaut.
node_exporter_disabled_collectors [] Liste des collecteurs désactivés. Par défaut, le node_exporter désactive les collecteurs énumérés ici.
node_exporter_textfile_dir "/var/lib/node_exporter" Répertoire utilisé par le Textfile Collector. Pour obtenir les autorisations d'écriture des métriques dans ce répertoire, les utilisateurs doivent être dans le groupe système node-exp. Remarque: Plus d'informations dans le guide TROUBLESHOOTING.md.
node_exporter_tls_server_config {} Configuration pour l'authentification TLS. Les clés et valeurs sont les mêmes que dans la documentation de node_exporter.
node_exporter_http_server_config {} Configuration pour le support HTTP/2. Les clés et valeurs sont les mêmes que dans la documentation de node_exporter.
node_exporter_basic_auth_users {} Dictionnaire d'utilisateurs et de mots de passe pour l'authentification de base. Les mots de passe sont automatiquement hachés avec bcrypt.

Exemple

Playbook

Utilisez-le dans un playbook comme suit :

- hosts: all
  roles:
    - cloudalchemy.node_exporter

Configuration TLS

Avant d'exécuter le rôle node_exporter, l'utilisateur doit provisionner son propre certificat et sa clé.

- hosts: all
  pre_tasks:
    - name: Créer le répertoire cert de node_exporter
      file:
        path: "/etc/node_exporter"
        state: directory
        owner: root
        group: root

    - name: Créer le cert et la clé
      openssl_certificate:
        path: /etc/node_exporter/tls.cert
        csr_path: /etc/node_exporter/tls.csr
        privatekey_path: /etc/node_exporter/tls.key
        provider: selfsigned
  roles:
    - cloudalchemy.node_exporter
  vars:
    node_exporter_tls_server_config:
      cert_file: /etc/node_exporter/tls.cert
      key_file: /etc/node_exporter/tls.key
    node_exporter_basic_auth_users:
      randomuser: examplepassword 

Site de démonstration

Nous proposons un site d'exemple qui démontre une solution de surveillance complète basée sur prometheus et grafana. Le dépôt contenant le code et les liens vers des instances en cours d'exécution est disponible sur GitHub et le site est hébergé sur DigitalOcean.

Tests locaux

La manière préférée de tester localement le rôle est d'utiliser Docker et molecule (v3.x). Vous devrez installer Docker sur votre système. Consultez "Commencer" pour obtenir 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 le comportement des nouvelles PR 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 test assez large qui peut prendre plus de temps que les tests locaux, alors merci de faire preuve de patience.

Contribution

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 Node Exporter

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