我在kubernetes私有云上设置了弹性堆栈,并且在K8节点上运行filebeat。 Filebeat将某些容器的日志发送到logtash,这些日志最终会在Kibana上看到,但是未显示某些容器日志,因为它们可能不是一开始就被收获的。我在做什么错?
Filebeat能够从/var/lib/docker/containers/7a36cc887cc4ba1cea8ebedcf5ed8c74fee9e6cd307bac5e1ba795d07369ca2d/7a36cc887cc4ba1cea8ebedcf5ed8c74fee9e6cd307bac5e1ba7d.7795我的K8集群上运行着jupyterhub,cassandra,sftp服务。我在执行kubectl日志-f时看到的日志也通过filebeat来获取,但是我的K8集群上也运行着一些用户应用程序。我在执行kubectl日志-f时看到的日志未通过filebeat来获取。
kind: ConfigMap
metadata:
name: filebeat-config
namespace: kube-logging
labels:
k8s-app: filebeat
kubernetes.io/cluster-service: "true"
data:
filebeat.yml: |-
filebeat.config:
prospectors:
# Mounted `filebeat-prospectors` configmap:
path: ${path.config}/prospectors.d/*.yml
# Reload prospectors configs as they change:
reload.enabled: false
modules:
path: ${path.config}/modules.d/*.yml
# Reload module configs as they change:
reload.enabled: false
processors:
- add_cloud_metadata:
cloud.id: ${ELASTIC_CLOUD_ID}
cloud.auth: ${ELASTIC_CLOUD_AUTH}
output.logstash:
hosts: ['logstash-service:5044']
---
apiVersion: v1
kind: ConfigMap
metadata:
name: filebeat-prospectors
namespace: kube-logging
labels:
k8s-app: filebeat
kubernetes.io/cluster-service: "true"
data:
kubernetes.yml: |-
- type: docker
containers.ids:
- "*"
processors:
- add_kubernetes_metadata:
in_cluster: true
---
我希望所有文件的日志都可以通过filebeat提取并显示在Kibana中。如何实现这一目标,缺少的链接是什么?