cloudalchemy.node_exporter
ABGELTET
Diese Rolle wurde zugunsten der prometheus-community/ansible Sammlung eingestellt.
Ansible Rolle: Node Exporter
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.
ansible-galaxy install cloudalchemy.node_exporter