influxdb
Ansible InfluxDB
Эта роль устанавливает, управляет и настраивает InfluxDB, включая базы данных и пользователей. Поддерживаются большинство основных дистрибутивов. Пул-реквесты и вопросы приветствуются :)
Требования
Сначала нужно установить две зависимости: python-клиент для influxdb, и эта роль этим займётся.
Во-вторых, должен быть установлен pip для установки python-клиента influxdb.
Переменные роли
По умолчанию
Все переменные по умолчанию перечислены ниже, для каждого раздела конфигурации influxdb.conf есть своя переменная.
Пожалуйста, измените пароль администратора на что-то более безопасное, чем по умолчанию:
influxdb_admin_username: admin
influxdb_admin_password: admin
---
influxdb_manage_repository: yes
influxdb_manage_package: yes
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
Пожалуйста, ознакомьтесь с параметрами для каждого раздела конфигурации в документации:
influxdb_config_global
глобальные параметры
influxdb_config_meta
мета
influxdb_config_data
данные
influxdb_config_http
http
influxdb_config_subscriber
подписчик
influxdb_config_graphite
графит
influxdb_config_monitor
мониторинг
influxdb_config_shard_precreation
предварительное создание разделов
influxdb_config_collectd
collectd
influxdb_config_continuous_queries
influxdb_config_tls
influxdb_config_retention
influxdb_config_udp
Все разделы, которые могут быть определены несколько раз, определяются как массив.
Следующий пример:
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
Определение баз данных
Чтобы определить базы данных, используйте следующий синтаксис для создания нескольких:
influxdb_databases:
- name: telegraf-metrics
state: present
- name: graphite
state: present
- name: icinga
state: present
Все параметры для баз данных перечислены ниже:
influxdb_databases:
- name:
login_password:
login_username:
hostname:
port:
proxies:
retries:
state:
ssl:
timeout:
udp_port:
use_udp:
validate_certs:
Определение пользователей
Чтобы определить пользователей, используйте следующий синтаксис для создания нескольких:
influxdb_users:
- name: influxadm
password: influxdbadmpass
admin: yes
- name: icinga
admin: no
password: icinga
grants:
- database: 'icinga'
privilege: 'WRITE'
Все параметры для пользователей перечислены ниже:
influxdb_users:
- name: foo
admin: true/false
state: present/absent
password: 'password'
port: 8086
hostname: localhost
login_username: admin
login_password: admin
ssl: true/false
Пример плейбука
Включение примера того, как использовать вашу роль (например, с переданными переменными в качестве параметров), будет полезно для пользователей:
- 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 }
Лицензия
Apache-2.0
Информация об авторе
Twitter: @mkayontour
Install and configures InfluDB on Rhel, Debian and Ubuntu
ansible-galaxy install mkayontour/ansible-influxdb