流式传输任何日志文件
Elastic Stack Serverless
本指南向您展示如何手动配置独立的 Elastic Agent,以使用 elastic-agent.yml
文件将您的日志数据发送到 Elasticsearch。
要快速开始而无需手动配置 Elastic Agent,您可以使用使用 Elastic Agent 监控主机快速入门。有关更多信息,请参阅快速入门文档。
继续阅读本指南,获取有关手动配置的说明。
要遵循本指南中的步骤,您需要一个包含以下内容的 Elastic Stack 部署:
- 用于存储和搜索数据的 Elasticsearch
- 用于可视化和管理数据的 Kibana
- 在 Fleet 和 Integrations 上具有
All
权限的 Kibana 用户。 由于许多 Integrations 资产在各个空间之间共享,因此用户需要在所有空间中都拥有 Kibana 权限。 - 集成服务器(默认包含在每个 Elastic Cloud 托管部署中)
要快速开始,请创建 Elastic Cloud 托管部署并将其托管在 AWS、GCP 或 Azure 上。免费试用。
需要 Admin 角色或更高级别的角色才能载入日志数据。要了解更多信息,请参阅分配用户角色和权限。
完成以下步骤以安装和配置独立的 Elastic Agent 并将您的日志数据发送到 Elasticsearch
在您的主机上,下载并解压与您的系统对应的安装包
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-9.0.0-darwin-x86_64.tar.gz
tar xzvf elastic-agent-9.0.0-darwin-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-9.0.0-linux-x86_64.tar.gz
tar xzvf elastic-agent-9.0.0-linux-x86_64.tar.gz
# PowerShell 5.0+
wget https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-9.0.0-windows-x86_64.zip -OutFile elastic-agent-9.0.0-windows-x86_64.zip
Expand-Archive .\elastic-agent-9.0.0-windows-x86_64.zip
为了简化升级到 Elastic Agent 的未来版本,我们建议您使用 tarball 分发而不是 RPM 分发。您可以在不需要 root 权限的非特权模式下安装 Elastic Agent。
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-9.0.0-amd64.deb
sudo dpkg -i elastic-agent-9.0.0-amd64.deb
为了简化升级到 Elastic Agent 的未来版本,我们建议您使用 tarball 分发而不是 RPM 分发。您可以在不需要 root 权限的非特权模式下安装 Elastic Agent。
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-9.0.0-x86_64.rpm
sudo rpm -vi elastic-agent-9.0.0-x86_64.rpm
下载并解压安装包后,您就可以安装 Elastic Agent 了。从代理目录中,运行与您的系统对应的安装命令
在 macOS、Linux(tar 包)和 Windows 上,运行 install
命令以安装和启动 Elastic Agent 作为托管服务并启动该服务。 DEB 和 RPM 包包含一个用于具有 systemd 的 Linux 系统的服务单元。对于这些系统,您必须启用并启动该服务。
您必须以 root 用户身份运行此命令,因为某些集成需要 root 权限才能收集敏感数据。
sudo ./elastic-agent install
您必须以 root 用户身份运行此命令,因为某些集成需要 root 权限才能收集敏感数据。
sudo ./elastic-agent install
以管理员身份打开 PowerShell 提示符(右键单击 PowerShell 图标并选择以管理员身份运行)。
从 PowerShell 提示符中,更改到安装 Elastic Agent 的目录,然后运行
.\elastic-agent.exe install
您必须以 root 用户身份运行此命令,因为某些集成需要 root 权限才能收集敏感数据。
sudo systemctl enable elastic-agent
sudo systemctl start elastic-agent
- DEB 包包含一个用于具有 systemd 的 Linux 系统的服务单元。在这些系统上,您可以使用常用的 systemd 命令管理 Elastic Agent。如果您没有 systemd,请运行
sudo service elastic-agent start
。
您必须以 root 用户身份运行此命令,因为某些集成需要 root 权限才能收集敏感数据。
sudo systemctl enable elastic-agent
sudo systemctl start elastic-agent
- RPM 包包含一个用于具有 systemd 的 Linux 系统的服务单元。在这些系统上,您可以使用常用的 systemd 命令管理 Elastic Agent。如果您没有 systemd,请运行
sudo service elastic-agent start
。
在安装过程中,系统会提示您回答一些问题
- 当询问您是否要将代理安装为服务时,请输入
Y
。 - 当询问您是否要将代理注册到 Fleet 时,请输入
n
。
安装代理后,通过更新 elastic-agent.yml
文件来配置它。
安装代理后,您将在以下位置之一找到 elastic-agent.yml
,具体取决于您的系统
主 Elastic Agent 配置文件位置
/Library/Elastic/Agent/elastic-agent.yml
主 Elastic Agent 配置文件位置
/opt/Elastic/Agent/elastic-agent.yml
主 Elastic Agent 配置文件位置
C:\Program Files\Elastic\Agent\elastic-agent.yml
主 Elastic Agent 配置文件位置
/etc/elastic-agent/elastic-agent.yml
主 Elastic Agent 配置文件位置
/etc/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 及其相关可执行文件
sudo launchctl unload /Library/LaunchDaemons/co.elastic.elastic-agent.plist
如果系统重新启动,Elastic Agent 将自动重新启动。
sudo service elastic-agent stop
如果系统重新启动,Elastic Agent 将自动重新启动。
Stop-Service Elastic Agent
如有必要,请使用 Windows 上的任务管理器停止 Elastic Agent。这将终止 elastic-agent
进程及其创建的任何子进程(例如 Beats)。
如果系统重新启动,Elastic Agent 将自动重新启动。
DEB 包包含一个用于具有 systemd 的 Linux 系统的服务单元。在这些系统上,您可以使用常用的 systemd 命令管理 Elastic Agent。
使用 systemctl
停止代理
sudo systemctl stop elastic-agent
否则,请使用
sudo service elastic-agent stop
如果系统重新启动,Elastic Agent 将自动重新启动。
RPM 包包含一个用于具有 systemd 的 Linux 系统的服务单元。在这些系统上,您可以使用常用的 systemd 命令管理 Elastic Agent。
使用 systemctl
停止代理
sudo systemctl stop elastic-agent
否则,请使用
sudo service elastic-agent stop
如果系统重新启动,Elastic Agent 将自动重新启动。
接下来,使用适用于您系统的命令重启 Elastic Agent
sudo launchctl load /Library/LaunchDaemons/co.elastic.elastic-agent.plist
sudo service elastic-agent start
Start-Service Elastic Agent
DEB 包包含一个用于具有 systemd 的 Linux 系统的服务单元。在这些系统上,您可以使用常用的 systemd 命令管理 Elastic Agent。
使用 systemctl
启动代理
sudo systemctl start elastic-agent
否则,请使用
sudo service elastic-agent start
RPM 包包含一个用于具有 systemd 的 Linux 系统的服务单元。在这些系统上,您可以使用常用的 systemd 命令管理 Elastic Agent。
使用 systemctl
启动代理
sudo systemctl start elastic-agent
否则,请使用
sudo service elastic-agent start
如果您在 UI 中看不到您的日志文件,请验证 elastic-agent.yml
文件中的以下内容
paths
下您的日志文件路径正确。- 您的 API 密钥的格式为
<id>:<key>
。如果不是,您的 API 密钥可能采用不受支持的格式,您需要在 Beats 格式中创建 API 密钥。
如果您仍然遇到问题,请参阅Elastic Agent 问题排查和配置独立的 Elastic Agent。
在您配置好代理并将日志数据流式传输到 Elasticsearch 后