@EmachinesDIMA
junior DevOps

Как с помощью filebeat забирать логи/данные ИЗ контейнера, а не логи самого контейнера?

сбор логов приложения передаётся в файлы с помощью утилиты "monolog logger php".
И мне нужно извлекать содержимое файлов из контейнера.

Как забирать логи/данные ИЗ контейнера, а не логи самого контейнера?
filebeat.autodiscover:
  providers:
    # > search docker container
    - type: docker
      # hints.enabled: true
      templates:
        - condition:
            contains:
              docker.container.name: docker_app_1
          config:
            - type: container
              paths:
                - /var/log/*.log

output.logstash:
  enabled: true
  hosts: ["logstash:5044"]
  timeout: 30s
indices:
   - index: "filebeat-%{[@metadata][beat]}-%{+YYYY.MM.dd}"


вот этот конфиг по идее должен работать, но ..

+ он определит логи ИЗ контейнера в мной определённый индекс filebeat-* ?
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
@EmachinesDIMA Автор вопроса
junior DevOps
Спасибо Tibor128 за помощь!
я запутался и искал путь получения логов ИЗ контейнера, не беря во внимание, что filebeat не может подключиться В контейнер.

При настройке записи логов В контейнере - необходимо подключать тома как хранилище данных вне контейнера и указать filebeat забирать логи из этого тома (это же просто директория).
примеры вот
https://www.elastic.co/guide/en/beats/filebeat/cur...

Лучший вариант подходит при направлении потока в stdout - в таком случае "лог контейнера" = "лог приложения".
примеры тут
https://www.elastic.co/guide/en/beats/filebeat/cur...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы