filebeat

Ansible Роль: Filebeat для ELK Стека

CI

Ansible роль, которая устанавливает Filebeat на RedHat/CentOS или Debian/Ubuntu.

Требования

Нет.

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

Доступные переменные перечислены ниже с значениями по умолчанию (см. defaults/main.yml):

filebeat_version: 7.x

Управляет основной версией Filebeat, которая будет установлена.

filebeat_package: filebeat
filebeat_package_state: present

Конкретный пакет для установки. Вы можете указать версию пакета, используя правильный синтаксис для вашей платформы и менеджера пакетов, изменив имя пакета. Вы также можете контролировать состояние пакета (например, present, absent или latest).

filebeat_create_config: true

Создавать ли файл конфигурации Filebeat и обрабатывать копирование SSL-ключа и сертификата для Filebeat. Если вы предпочитаете создать конфигурационный файл сами, можете установить это значение в false.

filebeat_inputs:
  - type: log
    paths:
      - "/var/log/*.log"

Входные данные, которые будут указаны в разделе inputs конфигурации Filebeat. Ознакомьтесь с руководством по конфигурации входных данных Filebeat для получения дополнительных опций.

filebeat_output_elasticsearch_enabled: false
filebeat_output_elasticsearch_hosts:
  - "localhost:9200"

Включать ли вывод в Elasticsearch и на какие адреса отправлять данные.

filebeat_output_elasticsearch_auth:
    username: "admin"
    password: "S3CR3eeet"

# или, только для версии 8+
filebeat_output_elasticsearch_auth:
    api_key: "xa-123a-f3ea012d-aaae1"

Настройка аутентификации для вывода в Elasticsearch. Обратите внимание, что api_key и user/pass являются взаимоисключающими, а api_key доступен только с версии 8.

filebeat_output_logstash_enabled: true
filebeat_output_logstash_hosts:
  - "localhost:5000"

Включать ли вывод в Logstash и на какие адреса отправлять данные.

filebeat_enable_logging: false
filebeat_log_level: warning
filebeat_log_dir: /var/log/filebeat
filebeat_log_filename: filebeat.log

Логирование Filebeat.

filebeat_ssl_certs_dir: /etc/pki/logstash
filebeat_ssl_private_dir: "{{ filebeat_ssl_certs_dir }}"

Путь, где будут храниться сертификаты и файлы ключей.

filebeat_ssl_ca_file: ""
filebeat_ssl_certificate_file: ""
filebeat_ssl_key_file: ""

Локальные пути к SSL-сертификату и файлам ключей.

filebeat_ssl_copy_file: true

Копировать ли сертификат и ключ в filebeat_ssl_dir, или использовать существующие.

Для максимальной безопасности рекомендуется использовать ваш собственный действительный сертификат и файл ключа, а также обновить переменные filebeat_ssl_* в вашем плейбуке, чтобы использовать ваш сертификат.

Чтобы создать самоподписанный сертификат/ключ, используйте команду:

$ sudo openssl req -x509 -batch -nodes -days 3650 -newkey rsa:2048 -keyout filebeat.key -out filebeat.crt

Обратите внимание, что filebeat и logstash могут работать некорректно с самоподписанными сертификатами, если у вас не установлена полная цепочка доверия (включая удостоверяющий центр для вашего самоподписанного сертификата) на вашем сервере. См. https://github.com/elastic/logstash/issues/4926#issuecomment-203936891

filebeat_ssl_insecure: "false"

Установите это значение в "true", чтобы разрешить использование самоподписанных сертификатов (когда CA недоступен).

Переопределение шаблона filebeat

Если вы не можете настроить через переменные, потому что опция не доступна, вы можете переопределить шаблон, используемый для генерации конфигурации filebeat.

filebeat_template: "filebeat.yml.j2"

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

filebeat_template: "{{ playbook_dir }}/templates/filebeat.yml.j2"

Зависимости

Нет.

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

- hosts: logs

- name: Установить переменную java_packages (Debian/Ubuntu).
  set_fact:
    java_packages:
      - openjdk-8-jdk
  when: ansible_os_family == 'Debian'

  roles:
    - geerlingguy.java
    - geerlingguy.elasticsearch
    - geerlingguy.logstash
    - geerlingguy.filebeat

Лицензия

MIT / BSD

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

Эта роль была создана в 2016 году Джеффом Гирлингом, автором Ansible for DevOps.

Установить
ansible-galaxy install geerlingguy/ansible-role-filebeat
Лицензия
mit
Загрузки
2583122
Владелец
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns