Filebeat无法运送所有容器日志

时间:2019-05-21 21:48:40

标签: kubernetes elastic-stack filebeat

我在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中。如何实现这一目标,缺少的链接是什么?

0 个答案:

没有答案