logdna
Установка агента LogDNA с помощью Ansible
Описание
Роль Ansible Galaxy для установки и настройки агента LogDNA.
Требования
- Версия Ansible:
>=2.1
- Протестировано на следующих операционных системах:
- CentOS 6
- CentOS 7
- Ubuntu 12.04 - Precise
- Ubuntu 14.04 - Trusty
- Ubuntu 16.04 - Xenial
- Ubuntu 17.10 - Artful
- Debian 8 - Jessie
Переменные роли
Переменные для задач
agent_install
:true
, если нужно установить (по умолчанию:true
)agent_config
:true
, если нужно настроить (по умолчанию:true
)agent_service
: (по умолчанию:started
), поддерживает:started
: запуск службы агента LogDNA, если указанconf_key
restarted
: перезапуск службы агента LogDNAstopped
: остановка службы агента LogDNA.
Переменные конфигурации
Эти переменные напрямую соответствуют параметрам конфигурации для агента LogDNA:
conf_key
: Ключ для передачи данных LogDNA - служба агента LogDNA не запустится, еслиconf_key
не указанconf_config
: Путь к файлу конфигурации агента LogDNA (по умолчанию/etc/logdna.conf
)conf_logdir
: Каталоги логов, которые нужно добавитьconf_logfile
: Файлы логов, которые нужно добавитьconf_exclude
: Файлы логов или каталоги, которые нужно исключитьconf_exclude_regex
: Правило исключения для строк логовconf_hostname
: Альтернативное имя хоста для использованияconf_tags
: Теги, которые нужно добавить.
Как установить
- Онлайн из Ansible Galaxy:
ansible-galaxy install logdna.logdna
- Напрямую из исходного кода:
ansible-galaxy install git+https://github.com/logdna/ansible-logdna.git
Пример плейбука
- hosts: <hosts>
vars:
conf_key: <Ключ для передачи данных LogDNA>
roles:
- { role: logdna.logdna }
Сценарии использования
- Для установки, настройки и запуска службы на указанных хостах:
- hosts: <hosts>
vars:
conf_key: <Ключ для передачи данных LogDNA>
# Все остальные параметры конфигурации
roles:
- { role: logdna.logdna }
- Для перенастройки и перезапуска службы на указанных хостах:
- hosts: <hosts>
vars:
# параметры перенастройки
agent_service: restarted
roles:
- { role: logdna.logdna }
- Просто установить, но не настраивать и не трогать службу:
- hosts: <hosts>
vars:
# не указывать Ключ для передачи данных LogDNA
agent_config: false
roles:
- { role: logdna.logdna }
- Остановить службу:
- hosts: <hosts>
vars:
agent_install: false
agent_config: false
agent_service: stopped
roles:
- { role: logdna.logdna }
Плагин обратного вызова LogDNA
Плагин обратного вызова LogDNA — это обработчик, который отправляет логи из каждого выполнения ansible-playbook
в LogDNA. В данный момент он поддерживает следующие категории логов: STATS
, FAILED
, OK
, UNREACHABLE
, ASYNC_FAILED
, ASYNC_OK
. Его можно настроить следующим образом:
- Если пакет Python для агента LogDNA не установлен, пожалуйста, установите его с помощью одной из следующих команд в зависимости от используемой версии Python:
pip install logdna
илиpip3 install logdna
- Если версия Ansible, которую вы используете, старше
v2.6
(т.е.<= v2.5
), выполните следующие действия:- Скачайте плагин здесь в папку с плагинами обратного вызова. Вы можете найти папку с помощью следующей команды:
echo $(ansible-doc -F | awk 'FNR == 1 {print $2}' | sed 's/\/modules/+/g' | cut -d'+' -f 1)/plugins/callback
- Скачайте плагин здесь в папку с плагинами обратного вызова. Вы можете найти папку с помощью следующей команды:
- Если на вашей системе нет
ansible.cfg
, выполните следующие шаги:- Убедитесь, что папка
/etc/ansible
существует, выполнивmkdir -p /etc/ansible
- Скачайте
ansible.cfg
здесь в папку/etc/ansible/
- Убедитесь, что папка
- Выполните
ANSIBLE_CONFIG=< Путь к ansible.cfg >
- Откройте
ansible.cfg
и выполните следующие шаги:- Раскомментируйте строку, содержащую
callback_whitelist
, если она закомментирована, и добавьтеlogdna
- Раскомментируйте строку, содержащую
callback_plugins
, если она закомментирована, и обновите путь к плагинам обратного вызова
- Раскомментируйте строку, содержащую
- Для работы плагина должны быть установлены следующие переменные окружения:
LOGDNA_INGESTION_KEY
: Ключ для передачи данных LogDNA для передачи логов - обязательноANSIBLE_IGNORE_ERRORS
: Игнорировать ошибки при сбоях или нет; по умолчаниюFalse
- необязательноLOGDNA_HOSTNAME
: Альтернативное имя хоста для использования в логах - необязательноLOGDNA_TAGS
: Список тегов через запятую; по умолчаниюansible
- необязательно
Вклад
Вклад всегда приветствуется. Ознакомьтесь с руководством по внесению вклада, чтобы узнать, как вы можете помочь.
Лицензия и авторы
- Автор: Самир Мусали, LogDNA
- Лицензия: MIT
О проекте
Ansible Galaxy Role to install and configure LogDNA Agent
Установить
ansible-galaxy install logdna/ansible-logdna
Лицензия
mit
Загрузки
11217
Владелец
Supercharge Observability With Mezmo Telemetry Pipeline