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_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
Информация об авторе
авторы:
- Команда Lean Delivery team@lean-delivery.com
ansible-galaxy install mircomasa/ansible-role-filebeat