influxdb
Ansible роль InfluxDB
Полностью настраиваемая установка и управление InfluxDB.
Вы можете управлять своими пользователями и базами данных с помощью переменных influxdb_users
и influxdb_databases
.
Поддерживаемые платформы
Дистрибутив | Дата последней проверки | С нуля | Идемпотентность |
---|---|---|---|
CentOS 7.2.1511 (Core) | 2016-08-06 18:40:07 | ||
Debian 7.10 (wheezy) | 2016-08-06 18:41:39 | ||
Debian 8.4 (jessie) | 2016-08-06 18:43:44 | ||
Ubuntu 12.04 (precise) | 2016-08-06 18:45:21 | ||
Ubuntu 14.04 (trusty) | 2016-08-06 18:47:32 | ||
Ubuntu 15.04 (vivid) | 2016-08-06 18:49:37 | ||
Ubuntu 15.10 (wily) | 2016-08-06 18:51:39 | ||
Ubuntu 16.04 (xenial) | 2016-08-06 18:53:35 |
Таблица сгенерирована с помощью 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