influxdb

Ansible роль InfluxDB

Статус сборки

Полностью настраиваемая установка и управление InfluxDB.
Вы можете управлять своими пользователями и базами данных с помощью переменных influxdb_users и influxdb_databases.

Поддерживаемые платформы

Дистрибутив Дата последней проверки С нуля Идемпотентность
CentOS 7.2.1511 (Core) 2016-08-06 18:40:07 OK OK
Debian 7.10 (wheezy) 2016-08-06 18:41:39 OK OK
Debian 8.4 (jessie) 2016-08-06 18:43:44 OK OK
Ubuntu 12.04 (precise) 2016-08-06 18:45:21 OK OK
Ubuntu 14.04 (trusty) 2016-08-06 18:47:32 OK OK
Ubuntu 15.04 (vivid) 2016-08-06 18:49:37 OK OK
Ubuntu 15.10 (wily) 2016-08-06 18:51:39 OK OK
Ubuntu 16.04 (xenial) 2016-08-06 18:53:35 OK OK

Таблица сгенерирована с помощью test-ansible-roles

Требования

Эта роль требует ansible 2.1.0+ (apt_repository использует имя файла)

Модуль influxdb_user

Эта роль содержит модуль для управления пользователями influxdb. С его помощью можно:

  • Убедиться, что пользователь присутствует или отсутствует
  • Создать администратора или обычного пользователя
  • Управлять правами доступа к базам данных пользователя (NO, READ, WRITE или ALL)
  • Добавить ваши заданные права к существующим

Для получения дополнительной информации о данном модуле пожалуйста, смотрите его документацию.

Примечание: Вы можете использовать этот модуль независимо или с помощью переменной influxdb_users.

Переменные роли

Все переменные имеют значение по умолчанию. Эту роль можно запустить с конфигурацией по умолчанию.

глобальные параметры

Имя Описание По умолчанию
influxdb_install_user Какой пользователь будет использоваться для установки. "root"
influxdb_user Пользователь InfluxDB "influxdb"
influxdb_group Группа InfluxDB "influxdb"
influxdb_config_dir Где расположены конфигурационные файлы "/etc/influxdb"
influxdb_config_file Имя конфигурационного файла "influxdb.conf"
influxdb_users Позволяет управлять пользователями (см. ниже) []
influxdb_databases Позволяет управлять базами данных (см. ниже) ["_internal"]

Управление пользователями

Переменная influxdb_users дает возможность управлять созданием пользователей и правами. Для каждой записи скрипт будет:

  • Создавать пользователя, если он не существует
  • Обновлять пароль пользователя, если он изменился
  • Давать права администратора, если type задан как admin
  • Отзывать все ранее определенные права на базы данных
  • Давать указанные права к каждой базе данных.

Пример:

influxdb_users:
  - name: admin
    admin: yes
    password: admin
  - name: grafana
    password: grafana
    grants: "measurement:READ" # Предоставляет доступ на чтение к таблице measurement для пользователя grafana
  - type: user
    name: telegraf
    password: telegraf
    grants: "measurement:WRITE" # Предоставляет право записи к таблице measurement для пользователя telegraf
  - name: john
    password: john
    grants: "measurement:ALL" # Предоставляет права чтения и записи к таблице measurement для пользователя telegraf

В целях безопасности, он не удаляет никакие базы данных.

Управление базами данных

Убедитесь, что базы данных, перечисленные в influxdb_databases, созданы.

Пример:

influxdb_databases:
  - "_internal"
  - "grafana"

В целях безопасности, он не удаляет никакие базы данных.

Параметры конфигурационного файла

Каждый параметр в конфигурационном файле может быть указан.
Формат переменной: influxdb__<имя_блока>__<параметр_с_нижним_подчеркиванием>

Имя Описание По умолчанию
influxdb_config__meta__dir "/var/lib/influxdb/meta"
influxdb_config__meta__retention_autocreate "true"
influxdb_config__meta__logging_enabled "true"
influxdb_config__meta__pprof_enabled "false"
influxdb_config__meta__lease_duration "1m0s"
influxdb_config__data__enabled "true"
influxdb_config__data__dir "/var/lib/influxdb/data"
influxdb_config__data__wal_dir "/var/lib/influxdb/wal"
influxdb_config__data__wal_logging_enabled "true"
influxdb_config__data__data_logging_enabled "true"
influxdb_config__data__query_log_enabled "true"
influxdb_config__data__cache_max_memory_size 524288000
influxdb_config__data__cache_snapshot_memory_size 26214400
influxdb_config__data__cache_snapshot_write_cold_duration "1h"
influxdb_config__data__compact_min_file_count 3
influxdb_config__data__compact_full_write_cold_duration "24h"
influxdb_config__data__max_points_per_block 1000
influxdb_config__cluster__shard_writer_timeout "5s"
influxdb_config__cluster__write_timeout "10s"
influxdb_config__cluster__max_concurrent_queries 0
influxdb_config__cluster__query_timeout "0s"
influxdb_config__cluster__max_select_point 0
influxdb_config__cluster__max_select_series 0
influxdb_config__cluster__max_select_buckets 0
influxdb_config__retention__enabled "true"
influxdb_config__retention__check_interval "30s"
influxdb_config__shard_precreation__enabled "true"
influxdb_config__shard_precreation__check_interval "10m"
influxdb_config__shard_precreation__advance_period "30m"
influxdb_config__monitor__store_enabled "true"
influxdb_config__monitor__store_database "_internal"
influxdb_config__monitor__store_interval "10s"
influxdb_config__admin__enabled "true"
influxdb_config__admin__bind_address ":8083"
influxdb_config__admin__https_enabled "false"
influxdb_config__admin__https_certificate "/etc/ssl/influxdb.pem"
influxdb_config__http__enabled "true"
influxdb_config__http__bind_address ":8086"
influxdb_config__http__auth_enabled "false"
influxdb_config__http__log_enabled "true"
influxdb_config__http__write_tracing "false"
influxdb_config__http__pprof_enabled "false"
influxdb_config__http__https_enabled "false"
influxdb_config__http__https_certificate "/etc/ssl/influxdb.pem"
influxdb_config__http__max_row_limit 10000
influxdb_config__graphite__enabled "false"
influxdb_config__graphite__bind_address ":2003"
influxdb_config__graphite__database "graphite"
influxdb_config__graphite__protocol "tcp"
influxdb_config__graphite__batch_size 5000
influxdb_config__graphite__batch_pending 10
influxdb_config__graphite__batch_timeout "1s"
influxdb_config__graphite__consistency_level "one"
influxdb_config__graphite__separator "."
influxdb_config__graphite__udp_read_buffer 0
influxdb_config__graphite__tags []
influxdb_config__graphite__templates []
influxdb_config__collectd__enabled "false"
influxdb_config__collectd__bind_address ":25826"
influxdb_config__collectd__database "collectd"
influxdb_config__collectd__batch_size 5000
influxdb_config__collectd__batch_pending 10
influxdb_config__collectd__batch_timeout "10s"
influxdb_config__collectd__read_buffer 0
influxdb_config__collectd__typesdb "/usr/share/collectd/types.db"
influxdb_config__opentsdb__enabled "false"
influxdb_config__opentsdb__bind_address ":4242"
influxdb_config__opentsdb__database "opentsdb"
influxdb_config__opentsdb__retention_policy ""
influxdb_config__opentsdb__consistency_level "one"
influxdb_config__opentsdb__tls_enabled "false"
influxdb_config__opentsdb__certificate "/etc/ssl/influxdb.pem"
influxdb_config__opentsdb__batch_size 1000
influxdb_config__opentsdb__batch_pending 5
influxdb_config__opentsdb__batch_timeout "1s"
influxdb_config__opentsdb__log_point_errors "true"
influxdb_config__udp__enabled "false"
influxdb_config__udp__bind_address ":8089"
influxdb_config__udp__database "udp"
influxdb_config__udp__retention_policy ""
influxdb_config__udp__batch_size 5000
influxdb_config__udp__batch_pending 10
influxdb_config__udp__batch_timeout "1s"
influxdb_config__udp__read_buffer 0
influxdb_config__udp__udp_payload_size 65536
influxdb_config__continuous_queries__log_enabled "true"
influxdb_config__continuous_queries__enabled "true"
influxdb_config__continuous_queries__run_interval "1s"

Зависимости

Отсутствуют.

Пример Playbook

Включение примера того, как использовать вашу роль (например, с переданными параметрами) будет полезно для пользователей:

- hosts: servers
  roles:
     - { role: juliendufresne.influxdb }

Лицензия

MIT / BSD

Информация об авторе

Эта роль была создана в 2016 году Жюльеном Дюфреном.

О проекте

Fully configurable influxdb installation for Debian/Ubuntu Linux.

Установить
ansible-galaxy install juliendufresne/ansible-role-influxdb
Лицензия
Unknown
Загрузки
66
Владелец
Software Architect