Filebeat 快速入门:安装和配置
编辑Filebeat 快速入门:安装和配置
编辑本指南介绍了如何快速开始日志收集。您将学习如何:
- 在要监控的每个系统上安装 Filebeat
- 指定日志文件的位置
- 将日志数据解析为字段并将其发送到 Elasticsearch
- 在 Kibana 中可视化日志数据
开始之前
编辑您需要 Elasticsearch 来存储和搜索数据,以及 Kibana 来可视化和管理数据。
要快速入门,请启动我们的 托管 Elasticsearch Service 部署。Elasticsearch Service 在 AWS、GCP 和 Azure 上可用。 免费试用。
要安装和运行 Elasticsearch 和 Kibana,请参阅 安装 Elastic Stack。
步骤 1:安装 Filebeat
编辑在要监控的所有服务器上安装 Filebeat。
要下载和安装 Filebeat,请使用适用于您系统的命令
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.17.0-amd64.deb sudo dpkg -i filebeat-8.17.0-amd64.deb
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.17.0-x86_64.rpm sudo rpm -vi filebeat-8.17.0-x86_64.rpm
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.17.0-darwin-x86_64.tar.gz tar xzvf filebeat-8.17.0-darwin-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.17.0-linux-x86_64.tar.gz tar xzvf filebeat-8.17.0-linux-x86_64.tar.gz
- 下载 Filebeat Windows zip 文件: https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.17.0-windows-x86_64.zip
- 将 zip 文件的内容解压到
C:\Program Files
。 - 将
filebeat-8.17.0-windows-x86_64
目录重命名为Filebeat
。 - 以管理员身份打开 PowerShell 提示符(右键单击 PowerShell 图标并选择 以管理员身份运行)。
-
在 PowerShell 提示符中,运行以下命令以将 Filebeat 安装为 Windows 服务
PS > cd 'C:\Program Files\Filebeat' PS C:\Program Files\Filebeat> .\install-service-filebeat.ps1
如果您的系统上禁用了脚本执行,则需要将当前会话的执行策略设置为允许脚本运行。例如:PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-filebeat.ps1
。
显示的命令适用于 AMD 平台,但也提供了 ARM 包。有关可用软件包的完整列表,请参阅下载页面。
其他安装选项
编辑步骤 2:连接到 Elastic Stack
编辑需要连接到 Elasticsearch 和 Kibana 才能设置 Filebeat。
在 filebeat.yml
中设置连接信息。要查找此配置文件,请参阅 目录布局。
指定您的 Elasticsearch Service 的 cloud.id,并将 cloud.auth 设置为有权设置 Filebeat 的用户。例如:
cloud.id: "staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw==" cloud.auth: "filebeat_setup:YOUR_PASSWORD"
此示例显示了一个硬编码的密码,但您应该将敏感值存储在 密钥库 中。 |
-
设置 Filebeat 可以找到 Elasticsearch 安装的主机和端口,并设置有权设置 Filebeat 的用户的用户名和密码。例如:
output.elasticsearch: hosts: ["https://myEShost:9200"] username: "filebeat_internal" password: "YOUR_PASSWORD" ssl: enabled: true ca_trusted_fingerprint: "b9a10bbe64ee9826abeda6546fc988c8bf798b41957c33d05db736716513dc9c"
此示例显示了一个硬编码的密码,但您应该将敏感值存储在 密钥库 中。
此示例显示了一个硬编码的指纹,但您应该将敏感值存储在 密钥库 中。指纹是 CA 证书的十六进制编码 SHA-256 值。当您首次启动 Elasticsearch 时,默认启用网络加密 (TLS) 等安全功能。如果您使用的是 Elasticsearch 首次启动时生成的自签名证书,则需要在此处添加其指纹。该指纹打印在 Elasticsearch 启动日志中,或者您可以参考将客户端连接到 Elasticsearch 文档,了解有关检索指纹的其他选项。如果您向 Elasticsearch 提供自己的 SSL 证书,请参考有关如何设置 SSL 的 Filebeat 文档。
-
如果您计划使用我们预构建的 Kibana 仪表板,请配置 Kibana 端点。如果 Kibana 与 Elasticsearch 在同一主机上运行,则跳过此步骤。
运行 Kibana 的计算机的主机名和端口,例如,
mykibanahost:5601
。如果您在端口号之后指定路径,则包括 scheme 和端口:http://mykibanahost:5601/path
。Kibana 的
username
和password
设置是可选的。如果您未指定 Kibana 的凭据,Filebeat 将使用为 Elasticsearch 输出指定的username
和password
。要使用预构建的 Kibana 仪表板,此用户必须有权查看仪表板,或者具有
kibana_admin
内置角色。
要了解有关所需角色和权限的更多信息,请参阅 授予用户对安全资源的访问权限。
您可以将数据发送到其他输出,例如 Logstash,但这需要额外的配置和设置。
步骤 3:收集日志数据
编辑有几种方法可以使用 Filebeat 收集日志数据
- 数据收集模块 — 简化常见日志格式的收集、解析和可视化
- ECS 记录器 — 将应用程序日志结构化并格式化为与 ECS 兼容的 JSON
- 手动 Filebeat 配置
启用和配置数据收集模块
编辑-
确定需要启用的模块。要查看可用模块的列表,请运行
filebeat modules list
filebeat modules list
./filebeat modules list
./filebeat modules list
PS > .\filebeat.exe modules list
-
在安装目录中,启用一个或多个模块。例如,以下命令启用
nginx
模块配置filebeat modules enable nginx
filebeat modules enable nginx
./filebeat modules enable nginx
./filebeat modules enable nginx
PS > .\filebeat.exe modules enable nginx
-
在
modules.d
下的模块配置中,更改模块设置以匹配您的环境。您必须在模块中启用至少一个文件集。默认情况下禁用文件集。例如,日志位置是根据操作系统设置的。如果您的日志不在默认位置,请设置
paths
变量
要查看模块的完整变量列表,请参阅 模块 下的文档。
要测试您的配置文件,请更改到安装 Filebeat 二进制文件的目录,并使用以下指定选项在前台运行 Filebeat:./filebeat test config -e
。确保您的配置文件位于 Filebeat 期望的路径中(请参阅 目录布局),或使用 -c
标志指定配置文件的路径。
有关配置 Filebeat 的更多信息,另请参阅
- 配置 Filebeat
- 配置文件格式
-
filebeat.reference.yml
:此参考配置文件显示所有非已弃用的选项。您将在与filebeat.yml
相同的位置找到它。
启用和配置 ECS 记录器以进行应用程序日志收集
编辑虽然 Filebeat 可用于摄取原始的纯文本应用程序日志,但我们建议在摄取时构造您的日志。这使您可以提取字段,例如日志级别和异常堆栈跟踪。
Elastic 通过提供各种流行编程语言的应用程序日志格式化程序来简化此过程。这些插件将您的日志格式化为与 ECS 兼容的 JSON,从而无需手动解析日志。
请参阅 ECS 记录器 以开始使用。
手动配置 Filebeat
编辑如果您找不到适用于您的文件类型的模块,或者无法更改应用程序的日志输出,请参阅 手动配置输入。
步骤 4:设置资产
编辑Filebeat 附带用于解析、索引和可视化数据的预定义资产。要加载这些资产
- 请确保在
filebeat.yml
中指定的用户有权设置 Filebeat。 -
在安装目录中,运行
filebeat setup -e
filebeat setup -e
./filebeat setup -e
./filebeat setup -e
PS > .\filebeat.exe setup -e
-e
是可选的,它将输出发送到标准错误而不是配置的日志输出。
此步骤加载建议的 索引模板 以写入 Elasticsearch,并部署用于在 Kibana 中可视化数据的示例仪表板。
此步骤不会加载用于解析日志行的摄取管道。默认情况下,首次运行模块并连接到 Elasticsearch 时会自动设置摄取管道。
需要连接到 Elasticsearch(或 Elasticsearch Service)才能设置初始环境。如果您使用的是不同的输出,例如 Logstash,请参阅
不应使用 Filebeat 摄取其自身的日志,因为这可能会导致无限循环。
步骤 5:启动 Filebeat
编辑在启动 Filebeat 之前,请修改 filebeat.yml
中的用户凭据,并指定一个有权发布事件的用户。
要启动 Filebeat,请运行
sudo service filebeat start
如果您使用 init.d
脚本启动 Filebeat,则无法指定命令行标志(请参阅 命令参考)。要指定标志,请在前台启动 Filebeat。
另请参阅 Filebeat 和 systemd。
sudo service filebeat start
如果您使用 init.d
脚本启动 Filebeat,则无法指定命令行标志(请参阅 命令参考)。要指定标志,请在前台启动 Filebeat。
另请参阅 Filebeat 和 systemd。
您将以 root 用户身份运行 Filebeat,因此您需要更改配置文件和在 |
您将以 root 用户身份运行 Filebeat,因此您需要更改配置文件和在 |
PS C:\Program Files\filebeat> Start-Service filebeat
默认情况下,Windows 日志文件存储在 C:\ProgramData\filebeat\Logs
中。
Filebeat 应该开始将事件流式传输到 Elasticsearch。
步骤 6:在 Kibana 中查看您的数据
编辑Filebeat 带有预构建的 Kibana 仪表板和 UI,用于可视化日志数据。您在之前运行 setup
命令时加载了仪表板。
要打开仪表板
-
启动 Kibana
- 登录到您的 Elastic Cloud 帐户。
- 导航到您部署中的 Kibana 端点。
将您的浏览器指向 https://127.0.0.1:5601,将
localhost
替换为 Kibana 主机的名称。 -
在侧边导航栏中,单击 Discover(发现)。要查看 Filebeat 数据,请确保选中预定义的
filebeat-*
数据视图。如果您在 Kibana 中看不到数据,请尝试将时间过滤器更改为更大的范围。默认情况下,Kibana 显示最近 15 分钟的数据。
- 在侧边导航栏中,单击 Dashboard(仪表板),然后选择要打开的仪表板。
仪表板作为示例提供。我们建议您自定义它们以满足您的需求。
下一步是什么?
编辑现在您的日志已流式传输到 Elasticsearch,了解如何统一您的日志、指标、正常运行时间和应用程序性能数据。
-
通过安装和配置其他 Elastic Beats 从其他来源提取数据
Elastic Beats 要捕获 基础设施指标
Windows 事件日志
正常运行时间信息
应用程序性能指标
审计事件
-
使用 Kibana 中的 Observability 应用搜索您的所有数据
Elastic 应用 用于 探索整个生态系统中有关系统和服务的指标
实时追踪相关的日志数据
监控您的应用程序和服务中的可用性问题
监控应用程序性能
分析安全事件