Filebeatは、Kubernetesのログをどのように取得しますか?
Filebeatを使用してKubernetesのログを取得するには、FilebeatをKubernetesのログファイルまたはコンテナログを監視するように設定する必要があります。
以下はFilebeatの設定ファイルの例です。
filebeat.inputs:
- type: container
paths:
- /var/log/containers/*.log
processors:
- add_kubernetes_metadata:
in_cluster: true
matchers:
- logs_path:
logs_path: "/var/log/containers/"
output.elasticsearch:
hosts: ["your_elasticsearch_host:9200"]
構成の中で、typeは「container」に設定され、監視するログのパス(/var/log/containers/*.log)が指定されています。processorsセクションでは、add_kubernetes_metadataプロセッサーが使用され、Kubernetesのメタデータがログイベントに追加され、異なるコンテナログを区別するのに役立ちます。
output.elasticsearchの部分では、Elasticsearchのホストアドレスが指定されています。
配置が完了したら、Filebeatを起動してKubernetesのログファイルを監視を開始します。Filebeatはログを収集し、Elasticsearchに送信します。
上記の例は、FilebeatがKubernetesクラスターにすでにインストールされていると仮定しています。もしFilebeatがクラスターにない場合は、KubernetesのAPIアドレスを指定する必要があります。これにより、FilebeatはコンテナやPodのメタデータを取得できます。add_kubernetes_metadata.in_clusterをfalseに設定し、add_kubernetes_metadata.hostをKubernetes APIアドレスに指定することで実現できます。