elasticsearch - 如何仅收集Filebeat中的错误级别日志并发送给elasticsearch

标签 elasticsearch logstash filebeat

我正在使用filebeat 7.x收集日志数据,但是我遇到的问题是日志大小太大(每天100GB)。

现在,我在考虑如何从源文件中收集错误级别日志。做这个的最好方式是什么?

我正在使用filebeat将日志发送到Kubernetes集群中的elasticsearch,我在这里的担心是我是否必须使用kafka和logstash来定义规则?

请在下面找到正在使用的filebeat配置文件:

{
    "filebeat.yml": "filebeat.inputs:
        - type: container
          paths:
            - /var/log/containers/*.log
          processors:
          - add_kubernetes_metadata:
              host: ${NODE_NAME}
              matchers:
              - logs_path:
                  logs_path: \"/var/log/containers/\"

        output.elasticsearch:
          host: '${NODE_NAME}'
          hosts: '${ELASTICSEARCH_HOSTS:elasticsearch-master:9200}'
        "
}

最佳答案

我建议您将流程配置为:

Filebeat → Kafka → Logstash → ElasticSearch → Kibana


  • Filebeat按配置从服务器读取日志并将日志推送到Kafka主题。
  • 然后,Logstash将订阅来自kafka主题的那些日志,并执行解析/过滤/格式化/排除,并根据要求包括字段,并将处理后的日志数据发送到Elasticsearch Index。
  • 通过仪表板
  • 可视化数据

    关于elasticsearch - 如何仅收集Filebeat中的错误级别日志并发送给elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62356025/

    相关文章:

    elasticsearch - Elasticsearch中的动态模板会影响性能吗?

    curl - 仅从 elasticsearch 查询返回 _source 数据

    templates - 尽管禁用了dynamic_mapping,但Logstash仍继续创建字段

    logstash - logstash 中的日志轮换

    elasticsearch - elasticsearch存储索引多长时间?

    php - 我应该使用 Elastic Search 而不是 MySQL 作为我的数据存储吗?

    elasticsearch - 多行的Grok模式不起作用

    logging - 如何删除 Logstash 过滤器中所有具有 NULL 值的字段

    elasticsearch - Filebeat的Elasticsearch中的 `_type`和 `type`有什么区别?

    文件拍子 "error loading config file: yaml: did not find expected key"