加载中

使用 Filebeat 收集日志数据

您可以使用 Filebeat 监控 Elasticsearch 日志文件、收集日志事件,并将它们传输到监控集群。您最近的日志可以在 Kibana 的 Monitoring 页面上查看。

重要提示

如果您正在使用 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: ["<ES_MONITORING_HOST1_URL>:9200", "<ES_MONITORING_HOST2_URL>: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 监控功能使用摄取管道,因此存储监控数据的集群必须至少有一个 摄取节点

    如果在监控集群上启用了 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 输出信息中。该示例显示了一个硬编码的密码,但您应该将敏感值存储在 密钥库 (secrets keystore) 中。

    请参阅 配置 Kibana 端点

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

    例如

    filebeat modules enable elasticsearch
    filebeat setup -e
    		

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

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

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

    重要提示

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

  8. 在每个节点上 启动 Filebeat

    注意

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

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

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

    提示

    如果您想使用 Kibana 中的 Monitoring 用户界面,还必须存在 .monitoring-* 索引。这些索引是在收集有关 Elastic Stack 产品的指标时生成的。例如,请参见 使用 Metricbeat 收集监控数据

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

监控数据开始流动后,了解有关您可以对其执行的操作的更多信息:

  • 可视化监控数据:在 Kibana 的堆栈监控应用程序中查看 Elasticsearch、Logstash、Kibana 和 Beats 的健康状况与性能指标,并在“发现”中结合这些指标调查传输的日志。
  • 配置堆栈监控警报:通过 Slack、电子邮件或 PagerDuty 等连接器,针对集群健康状况、资源利用率和错误情况设置通知。
© . This website operates independently and is not affiliated with or endorsed by Elasticsearch B.V. All brand names, logos, and trademarks are the property of their respective owners.