mkayontour.influxdb
Ansible InfluxDB
=========
Ta rola instaluje, zarządza i konfiguruje InfluxDB. Obsługuje bazy danych i użytkowników. Powinna wspierać większość głównych dystrybucji. Chętnie przyjmujemy Pull-Requesty i zgłaszanie problemów :)
Wymagania
Na początku muszą być spełnione dwa wymagania: klient python dla influxdb powinien być zainstalowany, a rola zajmie się tym.
Po drugie, pip musi być obecny, aby zainstalować klienta python dla influxdb.
Zmienne roli
Domyślne
Domyślne zmienne są wymienione poniżej, dla każdego sekcji konfiguracyjnej z pliku influxdb.conf jest własna zmienna.
Proszę zmienić hasło administratora na coś bardziej bezpiecznego niż domyślne:
influxdb_admin_username: admin
influxdb_admin_password: admin
---
influxdb_manage_repository: tak
influxdb_manage_package: tak
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
Proszę zapoznać się z parametrami dla każdej sekcji konfiguracyjnej w dokumentacji:
influxdb_config_global
globalneinfluxdb_config_meta
metainfluxdb_config_data
daneinfluxdb_config_http
httpinfluxdb_config_subscriber
subskrybentinfluxdb_config_graphite
grafitinfluxdb_config_monitor
monitorinfluxdb_config_shard_precreation
przedgeneracja fragmentówinfluxdb_config_collectd
collectdinfluxdb_config_continuous_queries
influxdb_config_tls
influxdb_config_retention
influxdb_config_udp
Wszystkie sekcje, które mogą być zdefiniowane wielokrotnie, są zdefiniowane jako tablica.
Przykład:
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
Definiowanie baz danych
Aby zdefiniować bazy danych, wystarczy użyć następującej składni do utworzenia wielu:
influxdb_databases:
- name: telegraf-metrics
state: present
- name: graphite
state: present
- name: icinga
state: present
Wszystkie parametry dla baz danych są wymienione poniżej:
influxdb_databases:
- name:
login_password:
login_username:
hostname:
port:
proxies:
retries:
state:
ssl:
timeout:
udp_port:
use_udp:
validate_certs:
Definiowanie użytkowników
Aby zdefiniować użytkowników, wystarczy użyć następującej składni do utworzenia wielu:
influxdb_users:
- name: influxadm
password: influxdbadmpass
admin: tak
- name: icinga
admin: nie
password: icinga
grants:
- database: 'icinga'
privilege: 'WRITE'
Wszystkie parametry dla użytkowników są wymienione poniżej:
influxdb_users:
- name: foo
admin: true/false
state: present/absent
password: 'hasło'
port: 8086
hostname: localhost
login_username: admin
login_password: admin
ssl: true/false
Przykładowy Playbook
Poniżej znajduje się przykład, jak użyć tej roli (na przykład, z przekazaniem zmiennych jako parametrów):
- hosts: influxdb-node1
vars:
influxdb_admin_username: admin
influxdb_admin_password: admin123
influxdb_databases:
- name: telegraf-metrics
state: present
influxdb_users:
- name: telegraf
password: telegraf
grants:
- database: telegraf-metrics
privilege: "WRITE"
roles:
- { role: mkayontour.influxdb }
Licencja
Apache-2.0
Informacje o autorze
Twitter: @mkayontour
Install and configures InfluDB on Rhel, Debian and Ubuntu
ansible-galaxy install mkayontour.influxdb