cloudalchemy.node_exporter

ABGELTET

Diese Rolle wurde zugunsten der prometheus-community/ansible Sammlung eingestellt.

Ansible Rolle: Node Exporter

Lizenz Ansible Rolle GitHub Tag

Warnung

Aufgrund von Einschränkungen von galaxy.ansible.com mussten wir die Rolle zu https://galaxy.ansible.com/cloudalchemy/node_exporter verschieben und _ anstelle von - im Rollennamen verwenden. Dies ist eine wesentliche Änderung und betrifft alle Versionen der Node Exporter Rolle, da ansible galaxy keine Form der Umleitung bietet. Wir entschuldigen uns für die Unannehmlichkeiten.

Beschreibung

Installieren Sie den Prometheus Node Exporter mit Ansible.

Anforderungen

  • Ansible >= 2.7 (Es könnte auch mit früheren Versionen funktionieren, aber wir können das nicht garantieren)
  • gnu-tar auf dem Mac-Host (brew install gnu-tar)
  • Passlib wird benötigt, wenn die Funktion zur Basis-Authentifizierung verwendet wird (pip install passlib[bcrypt])

Rollenvariablen

Alle variablen, die überschrieben werden können, sind in defaults/main.yml gespeichert und in der folgenden Tabelle aufgelistet.

Name Standardwert Beschreibung
node_exporter_version 1.1.2 Version des Node Exporter Pakets. Akzeptiert auch "latest" als Parameter.
node_exporter_binary_local_dir "" Erlaubt die Verwendung lokaler Pakete anstelle der auf GitHub bereitgestellten. Der Parameter kann auf ein Verzeichnis gesetzt werden, in dem die node_exporter-Binary gespeichert ist. Dies überschreibt den Parameter node_exporter_version.
node_exporter_web_listen_address "0.0.0.0:9100" Adresse, auf der der Node Exporter hört.
node_exporter_web_telemetry_path "/metrics" Pfad, unter dem Metriken bereitgestellt werden.
node_exporter_enabled_collectors ["systemd",{textfile: {directory: "{{node_exporter_textfile_dir}}"}}] Liste von Dictionären, die zusätzlich aktivierte Sammler und deren Konfiguration definieren. Fügt Sammler zu den standardmäßig aktivierten hinzu.
node_exporter_disabled_collectors [] Liste der deaktivierten Sammler. Standardmäßig deaktiviert Node Exporter Sammler, die hier aufgelistet sind.
node_exporter_textfile_dir "/var/lib/node_exporter" Verzeichnis, das vom Textfile Collector verwendet wird. Um die Berechtigung zum Schreiben von Metriken in dieses Verzeichnis zu erhalten, müssen Benutzer in der node-exp-Systemgruppe sein. Hinweis: Weitere Informationen finden Sie im TROUBLESHOOTING.md-Leitfaden.
node_exporter_tls_server_config {} Konfiguration für die TLS-Authentifizierung. Schlüssel und Werte sind dieselben wie in den Node Exporter-Dokumenten.
node_exporter_http_server_config {} Konfiguration für HTTP/2-Unterstützung. Schlüssel und Werte sind dieselben wie in den Node Exporter-Dokumenten.
node_exporter_basic_auth_users {} Wörterbuch von Benutzern und Passwörtern für die Basis-Authentifizierung. Passwörter werden automatisch mit bcrypt gehasht.

Beispiel

Playbook

Verwenden Sie es in einem Playbook wie folgt:

- hosts: all
  roles:
    - cloudalchemy.node_exporter

TLS-Konfiguration

Bevor die Node Exporter-Rolle ausgeführt wird, muss der Benutzer sein eigenes Zertifikat und seinen eigenen Schlüssel bereitstellen.

- hosts: all
  pre_tasks:
    - name: Erstelle Node Exporter Zertifikatverzeichnis
      file:
        path: "/etc/node_exporter"
        state: directory
        owner: root
        group: root

    - name: Erstelle Zertifikat und Schlüssel
      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 

Demo-Seite

Wir bieten eine Beispielseite, die eine vollständige Überwachungslösung zeigt, die auf Prometheus und Grafana basiert. Das Repository mit Code und Links zu einsatzbereiten Instanzen ist auf GitHub verfügbar und die Seite wird auf DigitalOcean gehostet.

Lokale Tests

Die bevorzugte Methode zum lokalen Testen der Rolle ist die Verwendung von Docker und Molecule (v3.x). Sie müssen Docker auf Ihrem System installieren. Sehen Sie sich "Erste Schritte" an, um ein für Ihr System geeignetes Docker-Paket zu erhalten. Das Ausführen Ihrer Tests ist so einfach wie das Ausführen von molecule test.

Kontinuierliche Integration

Die Kombination von Molecule und CircleCI ermöglicht es uns, zu testen, wie neue PRs sich mit mehreren Ansible-Versionen und verschiedenen Betriebssystemen verhalten. Dies ermöglicht es uns auch, Testszenarien für verschiedene Rolleneinstellungen zu erstellen. Das Ergebnis ist eine recht umfangreiche Testmatrix, die mehr Zeit in Anspruch nehmen kann als lokale Tests, daher bitten wir um Geduld.

Mitwirken

Siehe Beitragsrichtlinien.

Fehlersuche

Siehe Fehlersuche.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Siehe LIZENZ für weitere Details.

Installieren
ansible-galaxy install cloudalchemy.node_exporter
Lizenz
mit
Downloads
3.3M
Besitzer
Setup your monitoring stack with ansible