要使用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的元数据。可以通过设置processors
部分中的add_kubernetes_metadata.in_cluster
为false
,并指定add_kubernetes_metadata.host
为Kubernetes API地址来实现。