正在加载

使用 Filebeat 收集日志数据

自行管理

您可以使用 Filebeat 来监控 Elasticsearch 日志文件,收集日志事件,并将它们发送到监控集群。您最近的日志在 Kibana 的监控页面上可见。

重要

如果您正在使用 Elastic Agent,请不要部署 Filebeat 进行日志收集。 而是配置 Elasticsearch 集成来收集日志。

  1. 验证 Elasticsearch 是否正在运行,并且监控集群已准备好接收来自 Filebeat 的数据。

    提示

    在生产环境中,我们强烈建议使用单独的集群(称为监控集群)来存储数据。 使用单独的监控集群可以防止生产集群中断影响您访问监控数据的能力。 它还可以防止监控活动影响生产集群的性能。

    有关更多信息,请参阅在生产环境中进行监控

  2. 确定您要监控的日志。

    Filebeat Elasticsearch 模块可以处理审计日志弃用日志gc 日志服务器日志慢日志。 有关 Elasticsearch 日志位置的更多信息,请参阅path.logs 设置。

    重要

    如果日志既有结构化 (*.json) 版本,又有非结构化(纯文本)版本,则必须使用结构化日志。 否则,它们可能不会在 Kibana 中以适当的上下文显示。

  3. 在包含要监控的日志的 Elasticsearch 节点上安装 Filebeat

  4. 确定将日志数据发送到哪里。

    例如,在 Filebeat 配置文件 (filebeat.yml) 中为您的监控集群指定 Elasticsearch 输出信息

    output.elasticsearch:
      # Array of hosts to connect to.
      hosts: ["http://es-mon-1:9200", "http://es-mon-2:9200"]
    
      # Optional protocol and basic auth credentials.
      #protocol: "https"
      #username: "elastic"
      #password: "changeme"
    
    1. 在此示例中,数据存储在具有节点 es-mon-1es-mon-2 的监控集群上。

    如果您配置了监控集群以使用加密通信,则必须通过 HTTPS 访问它。 例如,使用类似 https://es-mon-1:9200hosts 设置。

    重要

    Elasticsearch 监控功能使用 ingest pipelines,因此存储监控数据的集群必须至少有一个ingest 节点

    如果在监控集群上启用了 Elasticsearch 安全功能,您必须提供有效的用户 ID 和密码,以便 Filebeat 可以成功发送指标。

    有关这些配置选项的更多信息,请参阅配置 Elasticsearch 输出

  5. 可选:确定在哪里可视化数据。

    Filebeat 提供示例 Kibana 仪表板、可视化和搜索。 要将仪表板加载到适当的 Kibana 实例中,请在每个节点的 Filebeat 配置文件 (filebeat.yml) 中指定 setup.kibana 信息

    setup.kibana:
      host: "localhost:5601"
      #username: "my_kibana_user"
      #password: "YOUR_PASSWORD"
    
    提示

    在生产环境中,我们强烈建议为您的监控集群使用专用的 Kibana 实例。

    如果启用了安全功能,您必须提供有效的用户 ID 和密码,以便 Filebeat 可以连接到 Kibana

    1. 在监控集群上创建一个具有kibana_admin 内置角色或等效权限的用户。
    2. usernamepassword 设置添加到 Filebeat 配置文件中的 Elasticsearch 输出信息中。 该示例显示了硬编码的密码,但您应该将敏感值存储在密钥库中。

    请参阅配置 Kibana 端点

  6. 在每个节点上启用 Elasticsearch 模块并设置初始 Filebeat 环境。

    例如

    filebeat modules enable elasticsearch
    filebeat setup -e
    

    有关更多信息,请参阅Elasticsearch 模块

  7. 在每个节点上的 Filebeat 中配置 Elasticsearch 模块。

    如果要监控的日志不在默认位置,请在 modules.d/elasticsearch.yml 文件中设置适当的路径变量。 请参阅配置 Elasticsearch 模块

    重要

    如果存在 JSON 日志,请配置 var.paths 设置以指向它们,而不是纯文本日志。

  8. 在每个节点上启动 Filebeat

    注意

    根据您安装 Filebeat 的方式,当您尝试运行 Filebeat 模块时,可能会看到与文件所有权或权限相关的错误。 请参阅配置文件所有权和权限

  9. 检查监控集群上是否存在适当的索引。

    例如,使用cat indices 命令来验证是否存在新的 filebeat-* 索引。

    提示

    如果您想在 Kibana 中使用监控 UI,则还必须有 .monitoring-* 索引。 当您收集有关 Elastic Stack 产品的指标时,会生成这些索引。 例如,请参阅使用 Metricbeat 收集监控数据

  10. 在 Kibana 中查看监控数据.

© . All rights reserved.