filebeat

Роль Filebeat

Лицензия Статус сборки Статус сборки Galaxy Ansible Ansible

Краткое описание

Эта роль:

  • устанавливает Filebeat на Ubuntu, CentOS, Windows
  • копирует подготовленный конфигурационный файл (путь к логам, подключение к Elasticsearch и т.д.)

Роли задачи

  • Подготовка сервера (добавление репозитория Elasticsearch)
  • [Необязательно] Создание папок для пользовательских путей
  • Установка Filebeat
  • Копирование конфигурационного файла

Требования

  • Минимальная версия Ansible для установки: 2.5
  • Поддерживаемые ОС:
    • CentOS
      • 6, 7
    • Ubuntu
      • 16.04, 18.04
    • Debian
      • 8, 9
    • Windows

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


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

  • filebeat_version Используется для выбора основной ветки Filebeat для установки (текущие стабильные версии 5.x или 6.x). Значение по умолчанию - 6.
  • filebeat_last_version Используется для выбора конкретной версии Filebeat для установки. Значение по умолчанию - 6.6.0.
  • elastic_gpg_key GPG-ключ из репозитория Elasticsearch. Значение по умолчанию - https://artifacts.elastic.co/GPG-KEY-elasticsearch.
  • filebeat_node_name Имя узла Filebeat. Значение по умолчанию - {{ inventory_hostname }}. Если эта опция не задана, используется имя хоста.
  • filebeat_ssl_enabled Включает/выключает SSL-соединение между Filebeat и Logstash/Elasticsearch. Опции SSL должны быть заданы соответствующими полями словаря, показанными ниже:
  ssl:
    key: "/etc/pki/tls/private/server.key"
    certificate: "/etc/pki/tls/certs/server.crt"
    certificate_authorities: "/etc/pki/CA/ca-root.pem"

для настройки Windows:

 ssl:
   key: 'c:\tls\private\server.key'
   certificate: 'c:\tls\certs\server.pem'
   certificate_authorities: 'c:\CA\ca-root.pem'

Раздел path опций конфигурации определяет, где Filebeat ищет свои файлы. Например, Filebeat ищет файл шаблона Elasticsearch в пути конфигурации и записывает файлы логов в путь логов. Filebeat ищет свои файлы реестра в пути данных. Значения по умолчанию для хостов Linux установлены следующим образом:

path:
  home: /usr/share/filebeat
  config: /etc/filebeat
  data: /var/lib/filebeat
  logs: /var/log/filebeat

в случае настройки Windows преобразованные пути выглядят следующим образом:

path:
  home: 'c:\program files\filebeat'
  config: 'c:\program files\filebeat'
  data: 'c:\programdata\filebeat'
  logs: 'c:\programdata\filebeat\logs'
  • win_download_path Временная директория для Windows для загрузки и распаковки пакета Filebeat. Значение по умолчанию - '{{ ansible_env.TEMP }}/filebeat' (значение ansible_env.TEMP решает проблему идемпотентности).

  • input_logpath Путь к файлам логов.

Значение по умолчанию для ОС семейства *NIX - "/var/log/*.log"

Значение по умолчанию для ОС Windows - 'c:\windows\*.log'

Переменная filebeat_inputs определяет тип логов, которые будут обрабатываться конвейером, их пути логов и индекс Elasticsearch, который должен хранить этот тип логов. Вы можете указать несколько входов с различными путями, типами логов и именами индексов, используя формат yaml, как в примере ниже:

    filebeat_inputs:
      - name: hybris
        paths:
          - '/var/log/console*.log'
        fields:
          logtype: hybris
          index_name: hybris-console
      - name: access
        paths:
          - '/var/log/access*.log'
          - '/var/log/nginx_access*.log'
        fields:
          logtype: access
          index_name: nginx-access

Настройка вывода:

  • filebeat_output Используется для настройки того, какой вывод использовать при отправке данных (elasticsearch или logstash). Значение по умолчанию - elasticsearch.

  • filebeat_elasticsearch_output.hosts Массив хостов для подключения. Значение по умолчанию - localhost.

  • filebeat_elasticsearch_output.port Значение для настройки пользовательского порта. Значение по умолчанию - 9200.

  • filebeat_logstash_outputs Массив хостов и портов для подключения. Значение по умолчанию - localhost:5044.

Расширенные параметры конфигурации:

Раздел filebeat(systemd)\initd опций конфигурации определяет, какой скрипт инициализации будет использоваться для управления службой Filebeat в зависимости от ОС *nix. Пользовательские пути будут учитываться (если настроены).

  • filebeat_service_name Имя скрипта nssm\init, который управляет службой Filebeat.

  • filebeat_bulk_max_size Максимальное количество событий для сбора в одном запросе Logstash. Значение по умолчанию - 500.

  • filebeat_worker Количество рабочих процессов на каждый хост Elasticsearch. Значение по умолчанию - 1.

  • filebeat_logging_to_syslog Отправлять все выходные данные журналирования в syslog. Значение по умолчанию - false.

  • filebeat_logging_to_files Отправлять все выходные данные журналирования в ротационные файлы. Значение по умолчанию - true.

  • filebeat_rotateeverybytes Определяет ограничение размера файлов логов. Значение по умолчанию - 104857600 = 100MB.

  • filebeat_keepfiles Количество файлов логов, которые нужно сохранить. Значение по умолчанию - 30.

  • filebeat_ignore_older Значение (можно использовать любые строки времени, такие как 2h, 5m), выше которого файлы будут игнорироваться. Значение по умолчанию - 0 (отключено).

  • filebeat_scan_frequency Определяет, как часто Filebeat проверяет обновления файлов. Значение по умолчанию - 15s.

  • filebeat_harvester_buffer_size Определяет размер буфера. Значение по умолчанию - 65535.

  • filebeat_logname Имя файлов журналирования. Значение по умолчанию - "filebeat.log".

Зависимости


ca-cert (только при установке с SSL).

Пример Плейбука

Установка версии Filebeat 6.x:

- name: Установка filebeat
  hosts: all
  roles:
    - role: ansible-role-filebeat

Установка версии Filebeat 6.x с пользовательским путем к логам и выводом в Elasticsearch:

- name: Установка filebeat
  hosts: all
  roles:
    - role: ansible-role-filebeat
  vars:
    input_logpath: "/var/log/messages"
    filebeat_elasticsearch_output:
      hosts:
        - elasticsearch.example.com
      port: 9200

Лицензия

Apache

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

авторы:

Установить
ansible-galaxy install mircomasa/ansible-role-filebeat
Лицензия
apache-2.0
Загрузки
2985
Владелец