logdna

CircleCI

Установка агента 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: перезапуск службы агента LogDNA
    • stopped: остановка службы агента 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 - необязательно

Вклад

Вклад всегда приветствуется. Ознакомьтесь с руководством по внесению вклада, чтобы узнать, как вы можете помочь.

Лицензия и авторы

О проекте

Ansible Galaxy Role to install and configure LogDNA Agent

Установить
ansible-galaxy install logdna/ansible-logdna
Лицензия
mit
Загрузки
11220
Владелец
Supercharge Observability With Mezmo Telemetry Pipeline