mediafellows.influxdb
Ansible InfluxDB Server Rolle
Diese Rolle richtet einen vollständigen TICK-Stack-Server ein (installiert kein Telegraf). Es wird eine komplette Installation von InfluxDB, Chronograf und Kapacitor durchgeführt.
Diese Rolle ist für einen Server gedacht, der Metriken vom Telegraf Agent empfängt und diese in InfluxDB speichert, um das Monitoring und die Alarmierung über Chronograf und Kapacitor auf einem Host zu ermöglichen. Chronograf wird mit Github OAuth konfiguriert, um den Zugriff aus dem Internet zu schützen.
Wenn Sie auch Telegraf installieren möchten, gibt es eine separate Rolle mediafellows.telegraf, die auf allen Maschinen verwendet werden kann, die überwacht werden sollen.
Anforderungen
Ubuntu 16.04 oder neuer als Betriebssystem. Andere Distributionen könnten auch funktionieren, sollten aber das Paket python-influxdb
in ihren apt-Repos haben. Dieses Paket wird als Abhängigkeit für die Ansible InfluxDB-Module benötigt.
Wenn Sie eine Ansible-Version unter 2.6 verwenden, müssen Sie möglicherweise auch die InfluxDB-Module in das Ansible-Projektverzeichnis (normalerweise ./libary/
) hinzufügen. Finden Sie sie unter https://github.com/ansible/ansible/tree/devel/lib/ansible/modules/database/influxdb
Öffnen Sie auch Port 8888, um Chronograf nach außen zugänglich zu machen oder einen anderen Port, falls Sie die Konfiguration ändern oder einen Webserver (Reverse Proxy) davorstellen.
Rollenvariablen
Rollenvariablen, die Sie ändern sollten:
chronograf_public_url: https://some-url.com
- Öffentlich erreichbare URL der Chronograf-Installation.influxdb_admin_pw: secret_pw
- Setzen Sie Ihr eigenes Passwort für den InfluxDB-Admin-Benutzer.influxdb_chronograf_pw: secret_pw
- Setzen Sie Ihr eigenes Passwort für den InfluxDB Chronograf-Benutzer (zum Lesen von Daten).influxdb_telegraf_pw: secret_pw
- Setzen Sie Ihr eigenes Passwort für den InfluxDB Telegraf-Benutzer (zum Einpflegen von Daten).influxdb_chronograf_oauth_secret: abc123def
- Zufälliger String, der als Verschlüsselungssalz verwendet wird.influxdb_chronograf_oauth_github_id: abc123
- OAuth-App-ID, die von Github nach Erstellung bereitgestellt wird.influxdb_chronograf_oauth_github_secret: abc123
- OAuth-App-Geheimnis, das von Github bereitgestellt wird.influxdb_chronograf_oauth_github_org: myorg
- Beschränken Sie dies auf Ihre Github-Organisation. Stellen Sie sicher, dass Ihre OAuth-App von dieser Organisation verwaltet wird.
Optional können Sie weitere Parameter ändern, siehe defaults/main.yml
für Details.
Einige nützliche Variablen, um den Zustand aus vorhandenen DB-Backups wiederherzustellen:
influxdb_meta_backup: /some/path/to/influxdb_backup/meta.00
- Pfad zur lokalen InfluxDB-Meta-DB-Backup-Datei, die in die InfluxDB-Instanz kopiert und wiederhergestellt wird. Wird alle anderen DB-Einstellungen (Benutzer, Tabellen usw.) ersetzen.influxdb_chronograf_db_backup: /some/path/chronograf-v1.db
- Pfad zur lokalen Chronograf-Einstellungs-DB-Datei. Enthält normalerweise Einstellungen wie Influx-Quellen und Chronograf-Authentifizierungsbenutzer.influxdb_kapacitor_db_backup: /some/path/kapacitor.db
- Pfad zur lokalen Kapacitor-Einstellungs-DB-Datei. Enthält normalerweise Einstellungen für Alarme/TICK-Skripte usw.
Abhängigkeiten
Keine weiteren Rollen erforderlich.
Beispiel-Playbook
Beispiel für die Integration der Rolle in Ihr Play:
- hosts: servers
become: true
vars:
influxdb_port: 123
roles:
- mediafellows.influxdb
tasks:
# andere Aufgaben
Lizenz
BSD, wie es ist.
Autor Informationen
Stefan Horning stefan.horning@mediafellows.com
Role to setting up a InfluxDB / TICK monitoring server
ansible-galaxy install mediafellows.influxdb