fluentd

Ansible Роль: Fluentd

CI

Ansible роль, которая устанавливает Fluentd на RedHat/CentOS или Debian/Ubuntu. Эта роль устанавливает td-agent, который является автономной версией и не требует отдельной установки Ruby на системе. См. различия между td-agent и Fluentd здесь.

Требования

Не требуется

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

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

fluentd_version: 3

Версия td-agent, которую нужно установить. См. более подробную информацию о различиях между v2, v3 и v4.

fluentd_package_state: present

Состояние пакета Fluentd td-agent; установите latest, чтобы обновить или изменить версии.

fluentd_service_name: td-agent
fluentd_service_state: started
fluentd_service_enabled: true

Управляет параметрами службы Fluentd.

fluentd_plugins:
  - fluent-plugin-elasticsearch

# Альтернативный формат:
fluentd_plugins:
  - name: fluent-plugin-elasticsearch
    version: '4.0.6'
    state: present

Список плагинов Fluentd для установки.

fluentd_conf_sources: |
  [смотрите defaults/main.yml для содержимого по умолчанию]

fluentd_conf_filters: |
  [смотрите defaults/main.yml для содержимого по умолчанию]

fluentd_conf_matches: |
  [смотрите defaults/main.yml для содержимого по умолчанию]

Конфигурация, которая будет помещена в файл td-agent.conf, который управляет тем, как Fluentd слушает, фильтрует и направляет лог-данные. Значения по умолчанию настраивают некоторые основные параметры, которые могут перенаправлять данные в Treasure Data, но вы должны переопределить эти значения в зависимости от ваших логов.

Например, если вы хотите отслеживать журнал доступа HTTP-сервера Apache, вы добавите источник:

fluentd_conf_sources: |
  <source>
    @type tail
    @id input_tail
    <parse>
      @type apache2
    </parse>
    path /var/log/httpd-access.log
    tag apache.access
  </source>

А затем вы могли бы направить записи журналов apache в Elasticsearch, используя:

fluentd_conf_matches: |
  <match apache.**>
    @type elasticsearch
    host log.example.com
    port 9200
    user myuser
    password mypassword
    logstash_format true
  </match>

Обратите внимание, что для Elasticsearch потребуется установленный плагин Fluentd fluent-plugin-elasticsearch.

Зависимости

Не требуется

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

- hosts: search

  vars:
    fluentd_conf_sources: |
      <source>
        @type tail
        @id input_tail
        <parse>
          @type apache2
        </parse>
        path /var/log/httpd-access.log
        tag apache.access
      </source>

  roles:
    - geerlingguy.fluentd

Лицензия

MIT / BSD

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

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

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