【问题标题】:How do I exclude/predefine fields for Index Patterns in Kibana?如何在 Kibana 中排除/预定义索引模式的字段?
【发布时间】:2019-09-13 13:54:05
【问题描述】:

我正在使用 ELK 来监控 REST API 服务器。 Logstash 将 URL 分解为 JSON 对象,其中包含查询参数、标头参数、请求持续时间、标头的字段。

TLDR:我希望保留所有这些字段,这样当我查看特定消息时,我可以看到所有详细信息。但只需要其中的几个就可以在 Kibana 中查询和生成报告/可视化。

我已经测试了几个星期,并在服务器端添加了一些新字段。所以每当我这样做时,我都需要重新扫描索引。然而,自动检测现在发现了 300 多个字段,我猜它索引了所有这些字段。

我想控制它只索引一组字段,因为我认为它检测到的越多,索引文件就越大?

一周大约是300MB/天(100-200个字段),然后当我添加一个需要刷新的新字段时,它变成了350个字段; 1 GB/天。昨天我不小心删除了 ELK 实例后,我重做了所有事情,现在索引到现在为止是 100MB/天,这就是我好奇的原因。

我找到了这些文档,但不确定哪些是相关的,或者它们如何关联/需要放在一起。

映射、索引模式、索引、模板/文件节拍/汇总策略

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html https://discuss.elastic.co/t/index-lifecycle-management-for-existing-indices/181749/3 https://www.elastic.co/guide/en/elasticsearch/reference/7.3/indices-templates.html

(一个 PUT 调用会发送一个巨大的 JSON 文本,但不确定如何在 putty 中输入类似的内容。POSTMAN/JMeter 可能,但这些需要在服务器本身上执行,这只是一个 SSH 会话,不GUI/文本窗口。)

【问题讨论】:

  • 您可以在文本编辑器中编辑巨大的 JSON / curl 查询,然后将整个命令复制粘贴到 SSH 会话中。
  • 但是粘贴不包括行返回,它会立即运行那里的命令,但只是打开 {?

标签: elasticsearch kibana elastic-stack


【解决方案1】:

要从日志中删除字段(因为您使用的是 logstash),您可以使用 logstash mutate filter 的 remove_field 选项。

参考:Mutate filter plugin

【讨论】:

  • 我仍然想要 json 中的所有字段,但我不希望弹性/Kibana 索引其中的大多数(即 url.params.* 字段不应该被索引,因为我永远不会使用这些作为搜索/可视化标准,但当我查看结果时,我仍然想查看这些字段及其值)
猜你喜欢
  • 1970-01-01
  • 2020-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-29
  • 2017-05-25
  • 1970-01-01
相关资源
最近更新 更多