mkayontour.influxdb
Ansible InfluxDB
Diese Rolle installiert, verwaltet und konfiguriert InfluxDB, einschließlich Datenbanken und Benutzer. Die meisten gängigen Distributionen sollten unterstützt werden. Pull-Requests und Probleme sind willkommen :)
Anforderungen
Zwei Anforderungen müssen zu Beginn erfüllt sein: Der InfluxDB Python-Client sollte installiert sein, die Rolle kümmert sich darum.
Und zweitens, pip muss vorhanden sein, um den InfluxDB Python-Client zu installieren.
Rollenvariablen
Standardwerte
Die Standardvariablen sind alle unten aufgeführt. Für jeden Konfigurationsbereich der influxdb.conf gibt es eine eigene Variable.
Bitte ändern Sie das Admin-Passwort in etwas Sichereres als das Standardpasswort:
influxdb_admin_username: admin
influxdb_admin_password: admin
---
influxdb_manage_repository: ja
influxdb_manage_package: ja
influxdb_config_dir: /etc/influxdb
influxdb_config_global:
reporting-disabled: false
bind-address: 127.0.0.1:8086
influxdb_config_graphite:
- enabled: false
tags:
- region=us
- zone=test
influxdb_config_collectd:
- enabled: false
influxdb_config_udp:
- enabled: false
influxdb_config_meta:
dir: /var/lib/influxdb/meta
retention-autocreate: true
logging-enabled: true
influxdb_config_http:
enabled: true
bind-address: :8086
auth-enabled: true
ping-auth-enabled: true
influxdb_config_data:
dir: /var/lib/influxdb/data
wal-dir: /var/lib/influxdb/wal
series-id-set-cache-size: 100
influxdb_admin_username: admin
influxdb_admin_password: admin
Bitte konsultieren Sie die Parameter für jeden Konfigurationsbereich in der Dokumentation:
influxdb_config_global
global
influxdb_config_meta
meta
influxdb_config_data
data
influxdb_config_http
http
influxdb_config_subscriber
subscriber
influxdb_config_graphite
graphite
influxdb_config_monitor
monitor
influxdb_config_shard_precreation
shard-precreation
influxdb_config_collectd
collectd
influxdb_config_continuous_queries
influxdb_config_tls
influxdb_config_retention
influxdb_config_udp
Alle Abschnitte, die mehrfach definiert werden können, sind als Array definiert.
Folgendes Beispiel:
influxdb_config_graphite:
- enabled: true
database: graphite
tags:
- region=us
- zone=test
- instance=01
- enabled: true
database: graphite2
tags:
- region=de
- zone=prod
- instance=02
Datenbanken definieren
Um Datenbanken zu definieren, verwenden Sie einfach folgende Syntax, um mehrere zu erstellen:
influxdb_databases:
- name: telegraf-metrics
state: vorhanden
- name: graphite
state: vorhanden
- name: icinga
state: vorhanden
Alle Parameter für die Datenbanken sind unten aufgeführt:
influxdb_databases:
- name:
login_password:
login_username:
hostname:
port:
proxies:
retries:
state:
ssl:
timeout:
udp_port:
use_udp:
validate_certs:
Benutzer definieren
Um Benutzer zu definieren, verwenden Sie einfach folgende Syntax, um mehrere zu erstellen:
influxdb_users:
- name: influxadm
password: influxdbadmpass
admin: ja
- name: icinga
admin: nein
password: icinga
grants:
- database: 'icinga'
privilege: 'WRITE'
Alle Parameter für die Benutzer sind unten aufgeführt:
influxdb_users:
- name: foo
admin: true/false
state: vorhanden/nicht vorhanden
password: 'password'
port: 8086
hostname: localhost
login_username: admin
login_password: admin
ssl: true/false
Beispiel-Playbook
Es ist immer hilfreich für die Benutzer, ein Beispiel zu sehen, wie man die Rolle verwendet (zum Beispiel mit übergebenen Variablen):
- hosts: influxdb-node1
vars:
influxdb_admin_username: admin
influxdb_admin_password: admin123
influxdb_databases:
- name: telegraf-metrics
state: vorhanden
influxdb_users:
- name: telegraf
password: telegraf
grants:
- database: telegraf-metrics
privilege: "WRITE"
roles:
- { role: mkayontour.influxdb }
Lizenz
Apache-2.0
Autoreninformation
Twitter: @mkayontour
Install and configures InfluDB on Rhel, Debian and Ubuntu
ansible-galaxy install mkayontour.influxdb