【问题标题】:Filebeat Kubernetes cannot output to ElasticSearchFilebeat Kubernetes 无法输出到 ElasticSearch
【发布时间】:2023-01-05 23:25:10
【问题描述】:

Filebeat Kubernetes 无法输出到 ElasticSearch,

  1. ElasticSearch 正常。
  2. filebeat是daemonset,增加了相关的环境变量。

    文件beat.yml

    filebeat.autodiscover:
      providers:
        - type: kubernetes
          node: ${NODE_NAME}
          hints.enabled: true
          hints.default_config:
            enabled: false
            type: container
            paths:
              - /var/log/containers/*-${data.container.id}.log
    
    output.elasticsearch:
      hosts: ['${ELASTICSEARCH_HOST:elasticsearch}:${ELASTICSEARCH_PORT:9200}']
      username: ${ELASTICSEARCH_USERNAME}
      password: ${ELASTICSEARCH_PASSWORD}
    

    库伯内斯

    使用nginx app测试:

    图片=nginx:最新

    添加了部署注释。

    co.elastic.logs/enabled: "true"
    

    pod.yaml (in node1)

    但是无法输出到ElasticSearch,看不到相关输入的日志和索引。

    filebeat pod(node1) logs

    期望 filebeat 将指定容器(Pod)的日志收集到 elasticsearch。

【问题讨论】:

    标签: elasticsearch kubernetes filebeat


    【解决方案1】:

    @baymax 首先,您不需要在任何地方显式定义该属性:

    co.elastic.logs/启用:“真”

    因为 filebeat 默认读取节点上的所有容器日志文件。

    其次,您正在禁用 hints.default_config 以确保 filebeat 仅读取如上注释的 pod 的日志文件;但是,您没有提供任何用于读取此类日志文件的模板配置。

    更多信息,请阅读:https://www.elastic.co/guide/en/beats/filebeat/current/configuration-autodiscover-hints.html

    第三,在你的 filebeat 日志中,你是否看到任何正在启动的收割机、创建的句柄和发布的事件?发布日志快照并不能提供清晰的图片。可以尝试在调试模式下启动 filebeat 几分钟,然后以正确的格式将日志粘贴到此处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 1970-01-01
      • 2018-11-10
      • 2019-10-08
      • 2021-03-18
      • 1970-01-01
      相关资源
      最近更新 更多