Как сконфигурировать Filebeat, чтобы он слал данные на определённый pipeline?

Имеется веб-сервер (Ubuntu) на котором работает Nginx + PHP.

На этом сервере стоит Filebeat, который отсылает логи веб-сервера на Elastic Ingestion node. То есть без Logstash, напрямую из Filebeat в Elastic. Трафик не сильно большой, так что нормально.

Когда я ставил Filebeat, то я немного подправил дефолтную pipeline, чтобы русские буквы в URL правильно показывались (urldecode).
Работает всё несколько месяцев, стабильно. Но каждый раз когда я делаю "apt upgrade" и если обновляется filebeat, то он начинает писать в новый индекс, в котором по новой создаётся дефолтный pipeline без моих правок.

Вопрос: как сконфигурировать Filebeat Nginx module, чтобы он использовал именно мой кастомный pipeline?

Сейчас когда я гляжу на все свои pipelines, то вот там сколько их:
elk.slavikf.com:9200/_ingest/pipeline/filebeat-*
filebeat-nginx-access-default: {},
filebeat-7.3.1-nginx-error-pipeline: {},
filebeat-7.4.1-nginx-error-pipeline: {},
filebeat-7.2.0-nginx-access-default: {},
filebeat-7.3.2-nginx-error-pipeline: {},
filebeat-7.4.1-nginx-access-default: {},
filebeat-7.3.1-nginx-access-default: {},
filebeat-7.3.2-nginx-access-default: {},
filebeat-7.2.0-nginx-error-pipeline: {}


filebeat-nginx-access-default - это я создал, мой кастомный pipeline, а остальные я так понял создаются автоматически.

я пробовал прописывать вот это в свой nginx.yml, но не помогает:
- module: nginx
  # Access logs
  access:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/var/log/nginx/*/*access.log"]

    # Convert the timestamp to UTC
    var.convert_timezone: true

    # The Ingest Node pipeline ID associated with this input. If this is set, it
    # overwrites the pipeline option from the Elasticsearch output.
    output.elasticsearch.pipeline: 'filebeat-nginx-access-default'
    pipeline: 'filebeat-nginx-access-default


Создал баг у Эластика: https://github.com/elastic/beats/issues/14348 can't specify pipeline for module
Но пока они что-то молчат.
  • Вопрос задан
  • 1734 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы