beats

АРХИВ

Этот проект больше не поддерживается. Для альтернативных способов начала работы вы можете попробовать один из следующих вариантов:

ansible-beats

Статус сборки Ansible Galaxy

Эта роль предоставляет общий способ установки Elastic поддерживаемых Beats.

Проверенные Beats

  • Filebeat
  • MetricBeat (TopBeat в версии 1.x)
  • Packetbeat

Проверенные версии

  • 7.x
  • 6.x

Проверенные платформы

  • Ubuntu 16.04
  • Ubuntu 18.04
  • Ubuntu 20.04
  • Debian 8
  • Debian 9
  • Debian 10
  • CentOS 7
  • Amazon Linux 2

Использование

Создайте свой Ansible плейбук с вашими задачами и включите роль beats. Вам нужно, чтобы этот репозиторий был доступен в контексте плейбука.

ansible-galaxy install elastic.beats,v7.17.0

Затем создайте ваш плейбук yaml, добавив роль beats. Применение роли beats в результате устанавливает узел на хосте.

Самая простая конфигурация состоит из:

  hosts: localhost
  roles:
    - role: elastic.beats
  vars:
    beats_version: 7.17.0
    beat: filebeat
    beat_conf:
      filebeat:
        inputs:
          - type: log
            enabled: true
            paths:
              - /var/log/*.log

Вышеуказанное устанавливает Filebeat 7.17.0 на хосте 'localhost'.

Заметки:

  • Значение по умолчанию для версии Beats описано в beats_version. Вы можете переопределить эту переменную в вашем плейбуке, чтобы установить другую версию. Хотя мы тестируем эту роль только с одной версией 7.x и одной 6.x (соответственно 7.17.0 и 6.8.23 на момент написания), эта роль должна работать и с другими версиями в большинстве случаев.
  • Продукт Beat описан в переменной beat. Хотя в настоящее время тестируемыми Beats являются Filebeat, Metricbeat и Packetbeat, эта роль должна также работать с другими участниками Семьи Beats в большинстве случаев.

Тестирование

Этот плейбук использует Kitchen для CI и локального тестирования.

Требования

  • Ruby
  • Bundler
  • Docker
  • Make

Запуск тестов

Чтобы собрать хост Ubuntu 18.04

$ make converge

Чтобы запустить тесты

$ make verify

Чтобы перечислить все различные тестовые наборы

$ make list

Тестовый набор по умолчанию — Ubuntu 18.04. Если вы хотите протестировать другой набор, вы можете переопределить это с помощью переменной PATTERN

$ make converge PATTERN=standard-centos-7

PATTERN — это шаблон для kitchen, который может соответствовать нескольким наборам. Чтобы запустить все тесты для CentOS

$ make converge PATTERN=centos-7

Когда вы закончите тестирование, вы можете очистить все с помощью

$ make destroy-all

Основная конфигурация Beats

Поддерживаются все параметры конфигурации Beats. Это достигается с помощью параметра конфигурационной карты beat_conf, который сериализуется в файл ${beat}.yml. Использование карты гарантирует, что плейбук Ansible не нужно обновлять, чтобы отразить новые/устаревшие/плагинные параметры конфигурации.

В дополнение к карте beat_conf поддерживается несколько других параметров для выполнения дополнительных функций, например, установка скриптов. Эти параметры можно найти в файле defaults/main.yml роли.

Следующее иллюстрирует применение параметров конфигурации к экземпляру Packetbeat.

- name: Пример плейбука для установки packetbeat
  hosts: localhost
  roles:
    - { role: beats, beat: "packetbeat",
        beat_conf: {
          "interfaces": {"device":"any"},
          "protocols": {
            "dns": {
              "ports": [53],
              "include_authorities":true
            },
            "http": {
              "ports": [80, 8080, 8000, 5000, 8002]
            },
            "memcache": {
              "ports": [11211]
            },
            "mysql": {
              "ports": [3306]
            },
            "pgsql": {
              "ports": [5432]
            },
            "redis": {
              "ports": [6379]
            },
            "thrift": {
              "ports": [9090]
            },
            "mongodb": {
              "ports": [27017]
            }
          }
        },
        output_conf : {
          "elasticsearch": {
            "hosts": ["localhost:9200"]
          }
        }
    }
  vars:
    use_repository: "true"

Дополнительная конфигурация

Поддерживаются следующие переменные:

  • beat (ОБЯЗАТЕЛЬНО): Продукт Beat. Поддерживаемые значения: "filebeat", "metricbeat" и "packetbeat" (другие Beats из Семьи Beats должны работать в большинстве случаев, но в настоящее время не тестируются).
  • beat_conf (ОБЯЗАТЕЛЬНО): Конфигурация Beat. Должна быть определена как карта.
  • beats_version (По умолчанию 7.17.0): Версия Beats.
  • version_lock (По умолчанию false): Блокирует установленную версию, если установлено значение true, тем самым предотвращая обновление другими процессами. Это не повлияет на способность ролей обновлять beat при последующих запусках (он разблокируется и снова блокируется при необходимости).
  • use_repository (По умолчанию true): Использовать репозиторий elastic для yum или apt, если true. Если false, необходимо указать пользовательский custom_package_url.
  • beats_add_repository (По умолчанию {use_repository}): Установить репозиторий elastic для yum или apt, если true. Если false, будут использоваться существующие репозитории. Полезно, если в вашем репозитории уже имеются пакеты beats.
  • start_service (По умолчанию true): сервис будет запущен, если true, или нет, если false.
  • restart_on_change (По умолчанию true): Изменения в конфигурации или установленных версиях приведут к перезапуску, если true.
  • daemon_args (Применимо к версии 1.x beats): Позволяет передавать параметры времени выполнения в beats.
  • logging_conf (По умолчанию {"files":{"rotateeverybytes":10485760}}): Конфигурация журналирования. Должна быть определена как карта. Карта сериализуется в раздел журналирования конфигурации beat.
  • shipper_conf (Применимо к версии 1.x beats): Конфигурация отправителя. Должна быть определена как карта. Карта сериализуется в разделе отправителя конфигурации beat.
  • output_conf (По умолчанию {"elasticsearch":{"hosts":["localhost:9200"]}}): Конфигурация вывода. Карта сериализуется в выходной раздел конфигурации beat.
  • beats_pid_dir (По умолчанию /var/run): Местоположение файла pid beats.
  • beats_conf_dir (По умолчанию /etc/{beat}): Местоположение каталога конфигурации для конфигурационного файла beats.
  • default_ilm_policy (По умолчанию не определен): локальный путь к политике по умолчанию, если определена какая-либо пользовательская.

Фокус на ILM

По умолчанию, beat создаст политику по умолчанию, определённую как часть развертываемого beat. Вы можете переопределить настройку ILM по умолчанию, определив конфигурацию ILM как часть beat_conf. Например:

- role: ansible-beats
  beat: metricbeat
  beat_conf:
    setup:
      ilm:
        policy_file: /etc/filebeat/policies/my-default-metricbeat.json
        overwrite: true
      metricbeat.modules:
        ...
  default_ilm_policy: conf/my-default-metricbeat.json
  become: yes

Это скопирует conf/my-default-filebeat.json в /etc/filebeat/policies/my-default-filebeat.json. Эта политика будет использоваться как политика по умолчанию для этого beat.

Лицензия

Apache 2.0

Ограничения

Невозможно установить несколько экземпляров одного beat на одном целевом сервере.

Вопросы по использованию

Мы приветствуем вопросы о том, как использовать роль. Однако, чтобы сосредоточить список проблем GitHub на "проблемах", мы просим сообщество задавать вопросы на https://discuss.elastic.co/c/beats. Это отслеживается поддержкой.

Сообщество всегда ценится и приветствуется! Пожалуйста, убедитесь, что все взносы включают соответствующие тесты.

Установить
ansible-galaxy install elastic/ansible-beats
Лицензия
other
Загрузки
752080
Владелец