加载 Elasticsearch 索引模板

编辑

加载 Elasticsearch 索引模板

编辑

Elasticsearch 使用索引模板来定义

  • 控制您的数据流和后备索引行为的设置。这些设置包括用于管理不断增长和老化的后备索引的生命周期策略。
  • 确定如何分析字段的映射。每个映射都会为特定的数据字段设置要使用的Elasticsearch 数据类型

Winlogbeat 软件包安装了 Winlogbeat 建议的索引模板文件。如果您接受 winlogbeat.yml 配置文件中的默认配置,则 Winlogbeat 会在成功连接到 Elasticsearch 后自动加载模板。如果模板已存在,除非您配置 Winlogbeat 执行此操作,否则不会覆盖该模板。

加载索引模板需要连接到 Elasticsearch。如果输出不是 Elasticsearch(或 Elasticsearch Service),则必须手动加载模板

本页介绍如何更改默认模板加载行为以

有关模板设置选项的完整列表,请参阅Elasticsearch 索引模板

加载您自己的索引模板

编辑

要加载您自己的索引模板,请设置以下选项

setup.template.name: "your_template_name"
setup.template.fields: "path/to/fields.yml"

如果模板已存在,除非您配置 Winlogbeat 执行此操作,否则不会覆盖该模板。

您可以为数据流和索引加载模板。

覆盖现有索引模板

编辑

不要在多个 Winlogbeat 实例上启用此选项。如果您同时启动多个实例,可能会向 Elasticsearch 发送过多模板更新请求,导致其过载。

要覆盖已加载到 Elasticsearch 中的模板,请设置

setup.template.overwrite: true

禁用自动索引模板加载

编辑

如果您使用 Elasticsearch 以外的输出,并且需要手动加载模板,您可能需要禁用自动模板加载。要禁用自动模板加载,请设置

setup.template.enabled: false

如果您禁用自动模板加载,则必须手动加载索引模板。

手动加载索引模板

编辑

要手动加载索引模板,请运行setup命令。需要连接到 Elasticsearch。如果启用了其他输出,您需要临时禁用该输出,并通过使用 -E 选项启用 Elasticsearch。这里的示例假设启用了 Logstash 输出。如果已启用 Elasticsearch 输出,则可以省略 -E 标志。

如果您连接到安全的 Elasticsearch 集群,请确保您已按照快速入门:安装和配置中所述配置了凭据。

如果运行 Winlogbeat 的主机没有与 Elasticsearch 的直接连接,请参阅手动加载索引模板(备用方法)

要加载模板

以管理员身份打开 PowerShell 提示符(右键单击 PowerShell 图标并选择以管理员身份运行)。

从 PowerShell 提示符下,更改到您安装 Winlogbeat 的目录,然后运行

PS > .\winlogbeat.exe setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

强制 Kibana 查看最新文档

编辑

如果您已经使用 Winlogbeat 将数据索引到 Elasticsearch 中,则索引可能包含旧文档。加载索引模板后,您可以从 winlogbeat-* 中删除旧文档,以强制 Kibana 查看最新文档。

使用此命令

PS > Invoke-RestMethod -Method Delete "https://127.0.0.1:9200/winlogbeat-*"

此命令会删除所有与模式 winlogbeat 匹配的索引。在运行此命令之前,请确保您要删除所有与该模式匹配的索引。

手动加载索引模板(备用方法)

编辑

如果运行 Winlogbeat 的主机没有与 Elasticsearch 的直接连接,您可以将索引模板导出到文件,将其移动到具有连接的计算机,然后手动安装该模板。

要导出索引模板,请运行

PS > .\winlogbeat.exe export template --es.version 8.17.0 | Out-File -Encoding UTF8 winlogbeat.template.json

要安装模板,请运行

PS > Invoke-RestMethod -Method Put -ContentType "application/json" -InFile winlogbeat.template.json -Uri https://127.0.0.1:9200/_index_template/winlogbeat-8.17.0

加载索引模板后,也加载数据流。如果您不加载它,则必须为发布者用户提供对 winlogbeat-8.17.0 索引的 manage 权限。

PS > Invoke-RestMethod -Method Put -Uri https://127.0.0.1:9200/_data_stream/winlogbeat-8.17.0