0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Filebeatで特定のdocker containerのlogを取得する

Last updated at Posted at 2022-03-30

やりたいこと

様々なdocker containerが動いている環境で、指定したcontainer logのみ収集したい事例が出てきたのでそのやり方メモする。

やり方

1. 使用する機能

FilbeatのAutodiscoverを使用する。Autodiscoverは、dockerやkubernetes環境下で使用することが出来る。一例として、以下のフィールド条件を指定して収集条件を設定することが出来る。

  1. docker
    1. docker.container.id
    2. docker.container.image
    3. docker.container.name
    4. docker.container.labels
  2. kubernetes
    1. kubernetes.labels
    2. kubernetes.annotations
    3. kubernetes.node.name
    4. kubernetes.namespace

詳細は公式ページを確認
https://www.elastic.co/guide/en/beats/filebeat/current/configuration-autodiscover.html

2. filebeat confの書き方

今回はcontainer名を条件したが、多くの方はimageとかを条件にすることが多いのかな。

filebeat.autodiscover:
  providers:
    - type: docker
      templates:
        - condition:
            contains:
              docker.container.name: nginx
          config:
            - type: container
              path:
                - /var/lib/docker/containers/${data.docker.container.id}/*.log
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?