influxdb
Роль Ansible для сервера InfluxDB
Эта роль настраивает полный стек TICK сервер (без установки telegraf). Она устанавливает полную конфигурацию InfluxDB, Chronograf и Kapacitor.
Эта роль предназначена для сервера, который получает метрики от агента Telegraf и хранит их в InfluxDB, чтобы обеспечить мониторинг и оповещения через Chronograf и Kapacitor на одном хосте. Chronograf будет настроен с использованием OAuth от Github для защиты от публичного доступа.
Если вы также хотите установить Telegraf, есть отдельная роль mediafellows.telegraf, которую можно использовать на всех машинах, которые вы хотите мониторить.
Требования
ОС Ubuntu 16.04 или новее. Другие дистрибутивы могут также работать, но в их репозиториях apt должен быть доступен пакет python-influxdb
.
Этот пакет необходим как зависимость для работы модулей Ansible для influxdb.
Если вы используете версию Ansible ниже 2.6, вам также может понадобиться добавить модули influxdb в вашу библиотеку проекта Ansible (обычно ./library/
).
Найдите их по адресу: https://github.com/ansible/ansible/tree/devel/lib/ansible/modules/database/influxdb
Также откройте порт 8888, чтобы сделать Chronograf доступным извне, или другой порт, если вы измените конфигурацию или установите веб-сервер (обратный прокси) перед ним.
Переменные роли
Переменные роли, которые следует изменить:
chronograf_public_url: https://some-url.com
- Публичный URL для доступа к Chronograf.influxdb_admin_pw: secret_pw
- установите свой собственный пароль для администратора InfluxDB.influxdb_chronograf_pw: secret_pw
- установите свой собственный пароль для пользователя Chronograf InfluxDB (для чтения данных).influxdb_telegraf_pw: secret_pw
- установите свой собственный пароль для пользователя Telegraf InfluxDB (для получения данных).influxdb_chronograf_oauth_secret: abc123def
- Случайная строка, используемая в качестве соли для шифрования.influxdb_chronograf_oauth_github_id: abc123
- ID OAuth приложения, предоставленный Github после создания.influxdb_chronograf_oauth_github_secret: abc123
- Секрет OAuth приложения, предоставленный Github.influxdb_chronograf_oauth_github_org: myorg
- Ограничьте доступ к вашей организации на Github, убедитесь, что ваше приложение OAuth принадлежит этой организации.
По желанию, вы можете изменить больше параметров, смотрите defaults/main.yml
для подробностей.
Некоторые полезные переменные для восстановления состояния из существующих резервных копий базы данных:
influxdb_meta_backup: /some/path/to/influxdb_backup/meta.00
- Путь к локальному файлу резервной копии метаданных InfluxDB, который будет скопирован в экземпляр InfluxDB и восстановлен. Это заменит всю другую настройку базы данных (пользователи, таблицы и т. д.).influxdb_chronograf_db_backup: /some/path/chronograf-v1.db
- Путь к локальному файлу базы данных настроек Chronograf. Обычно содержит настройки такие как источники Influx и пользователи для авторизации Chronograf.influxdb_kapacitor_db_backup: /some/path/kapacitor.db
- Путь к локальному файлу базы данных настроек Kapacitor. Обычно содержит настройки оповещений/скрипты TICK и т. д.
Зависимости
Не зависит от других ролей.
Пример плейбука
Пример интеграции роли в ваш плей:
- hosts: servers
become: true
vars:
influxdb_port: 123
roles:
- mediafellows.influxdb
tasks:
# другие задачи
Лицензия
BSD, как есть.
Информация об авторе
Стефан Хорнинг stefan.horning@mediafellows.com
Role to setting up a InfluxDB / TICK monitoring server
ansible-galaxy install mediafellows/ansible-role-influxdb