mircomasa.filebeat
Роль Filebeat
Краткое описание
Эта роль:
- устанавливает Filebeat на Ubuntu, CentOS, Windows
- копирует подготовленный конфигурационный файл (путь к логам, подключение к Elasticsearch и т.д.)
Роли задачи
- Подготовка сервера (добавление репозитория Elasticsearch)
- [Необязательно] Создание папок для пользовательских путей
- Установка Filebeat
- Копирование конфигурационного файла
Требования
- Минимальная версия Ansible для установки: 2.5
- Поддерживаемые ОС:
- CentOS
- 6, 7
- Ubuntu
- 16.04, 18.04
- Debian
- 8, 9
- Windows
- CentOS
Переменные роли
Вы можете переопределить любую переменную, задав "переменная: значение" в плейбуке.
filebeat_versionИспользуется для выбора основной ветки Filebeat для установки (текущие стабильные версии 5.x или 6.x). Значение по умолчанию -6.filebeat_last_versionИспользуется для выбора конкретной версии Filebeat для установки. Значение по умолчанию -6.6.0.elastic_gpg_keyGPG-ключ из репозитория 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
Информация об авторе
авторы:
- Команда Lean Delivery team@lean-delivery.com
ansible-galaxy install mircomasa.filebeat