流式传输任何日志文件

编辑

流式传输任何日志文件

编辑

本指南介绍如何手动配置独立的 Elastic Agent,以使用 elastic-agent.yml 文件将日志数据发送到 Elasticsearch。

如果您不想手动配置 Elastic Agent,可以使用 使用 Elastic Agent 监控主机 快速入门。有关更多信息,请参阅 快速入门文档

请继续阅读本指南,了解有关手动配置的说明。

先决条件

编辑

要遵循本指南中的步骤,您需要一个包含以下内容的 Elastic Stack 部署:

  • 用于存储和搜索数据的 Elasticsearch
  • 用于可视化和管理数据的 Kibana
  • 在 Fleet 和 Integrations 上具有 All 权限的 Kibana 用户。由于许多 Integrations 资产在空间之间共享,因此用户需要在所有空间中都具有 Kibana 权限。
  • Integrations Server(默认包含在每个 Elasticsearch Service 部署中)

要快速入门,请启动我们的托管 Elasticsearch Service 部署。Elasticsearch Service 在 AWS、GCP 和 Azure 上可用。 免费试用

安装和配置独立的 Elastic Agent

编辑

完成以下步骤以安装和配置独立的 Elastic Agent,并将日志数据发送到 Elasticsearch

步骤 1:下载并解压缩 Elastic Agent 安装包

编辑

在您的主机上,下载并解压缩与您的系统对应的安装包

curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.17.0-darwin-x86_64.tar.gz
tar xzvf elastic-agent-8.17.0-darwin-x86_64.tar.gz

步骤 2:安装并启动 Elastic Agent

编辑

下载并解压缩安装包后,您就可以安装 Elastic Agent 了。从代理目录中,运行与您的系统对应的安装命令

在 macOS、Linux(tar 包)和 Windows 上,运行 install 命令以将 Elastic Agent 作为托管服务安装并启动该服务。DEB 和 RPM 包包含用于具有 systemd 的 Linux 系统的服务单元。对于这些系统,您必须启用并启动该服务。

您必须以 root 用户身份运行此命令,因为某些集成需要 root 权限才能收集敏感数据。

sudo ./elastic-agent install

在安装过程中,系统会提示您一些问题

  1. 当询问您是否要将代理安装为服务时,输入 Y
  2. 当询问您是否要将代理注册到 Fleet 时,输入 n

步骤 3:配置 Elastic Agent

编辑

安装代理后,通过更新 elastic-agent.yml 文件对其进行配置。

找到您的配置文件
编辑

安装代理后,您会根据您的系统在以下位置之一找到 elastic-agent.yml

主 Elastic Agent 配置文件位置

/Library/Elastic/Agent/elastic-agent.yml

更新您的配置文件
编辑

以下是独立 Elastic Agent 配置的示例。要配置您的 Elastic Agent,请将 elastic-agent.yml 文件的内容替换为此配置

outputs:
  default:
    type: elasticsearch
    hosts: '<your-elasticsearch-endpoint>:<port>'
    api_key: 'your-api-key'
inputs:
  - id: your-log-id
    type: filestream
    streams:
      - id: your-log-stream-id
        data_stream:
          dataset: example
        paths:
          - /var/log/your-logs.log

接下来,设置这些字段的值

  • hosts – 从 帮助菜单 (帮助图标) → 连接详细信息 中复制 Elasticsearch 端点。例如,https://my-deployment.es.us-central1.gcp.cloud.es.io:443
  • api-key – 使用 API 密钥授予代理访问 Elasticsearch 的权限。要为您的代理创建 API 密钥,请参阅 为独立代理创建 API 密钥 文档。

    API 密钥的格式应为 <id>:<key>。请确保在创建 API 密钥时选择了 Beats。此配置目前不支持 Base64 编码的 API 密钥。

  • inputs.id – 输入的唯一标识符。
  • type – 输入的类型。要收集日志,请将其设置为 filestream
  • streams.id – 日志数据流的唯一标识符。
  • data_stream.dataset – 数据集数据流的名称。将此数据流命名为任何表示数据来源的内容。在此配置中,数据集设置为 example。默认值为 generic
  • paths – 日志文件的路径。您也可以使用类似 /var/log/your-logs.log* 的模式。
重启 Elastic Agent
编辑

更新配置文件后,您需要重启 Elastic Agent

首先,使用适用于您系统的命令停止 Elastic Agent 及其相关的可执行文件

sudo launchctl unload /Library/LaunchDaemons/co.elastic.elastic-agent.plist

如果系统重新启动,Elastic Agent 将自动重新启动。

接下来,使用适用于您系统的命令重启 Elastic Agent

sudo launchctl load /Library/LaunchDaemons/co.elastic.elastic-agent.plist

排查 Elastic Agent 配置问题

编辑

如果您在 Kibana 中没有看到您的日志文件,请在 elastic-agent.yml 文件中验证以下内容

  • paths 下的日志文件路径是否正确。
  • 您的 API 密钥是否为 <id>:<key> 格式。如果不是,则您的 API 密钥可能采用不受支持的格式,您需要以 Beats 格式创建 API 密钥。

如果您仍然遇到问题,请参阅 Elastic Agent 故障排除配置独立的 Elastic Agent

后续步骤

编辑

配置好代理并将日志数据流式传输到 Elasticsearch 后

  • 请参阅 解析和组织日志 文档,以获取有关从日志数据中提取结构化字段、将日志重新路由到不同的数据流以及过滤和聚合日志数据的信息。
  • 请参阅 过滤和聚合日志 文档,以获取有关过滤和聚合日志数据以查找特定信息、获得洞察力以及更有效地监控系统的信息。