使用 ELK 将值替换为预定义的映射
Replace values with predefined mapping with ELK
我有一个用 Logstash 读取的文件,其中包含一个名为 type
的特定参数。此参数的可能值为 0、1、2、3、4、5(在我的 Java 代码中它实际上表示为枚举)。
假设类型 0 表示书籍,类型 1 表示报纸,类型 2 表示杂志,等等。
目前我的 Logstash 过滤器直接将此参数写为数字,但我想在 Kibana 仪表板上显示面板以显示值(例如 book
)而不是数字(即 0
).
是否可以在 Kibana 级别向预定义值列表添加替换或映射?或者我应该在 if
条件下在 Logstash 级别手动执行此映射?什么是最好的方法?
您将无法在 Kibana 级别进行替换,因此如果只有几个选项,最好的办法是使用 if
语句。
如果你想做一些更容易维护的事情,你可能想看看这个答案:我写了一个插件,可以用来读取 .csv 文件,然后使用它通过 CSV 文件中的数据丰富您的活动。
我已经通过 Google 群组获得了我认为最好的答案。
可以通过以下link找到答案:https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/elasticsearch/88dajXfzSwk/80gVTXws8VcJ
它基本上建议我使用 Logstash 的翻译过滤器:http://logstash.net/docs/1.4.2/filters/translate
我认为这是最好的解决方案。
我有一个用 Logstash 读取的文件,其中包含一个名为 type
的特定参数。此参数的可能值为 0、1、2、3、4、5(在我的 Java 代码中它实际上表示为枚举)。
假设类型 0 表示书籍,类型 1 表示报纸,类型 2 表示杂志,等等。
目前我的 Logstash 过滤器直接将此参数写为数字,但我想在 Kibana 仪表板上显示面板以显示值(例如 book
)而不是数字(即 0
).
是否可以在 Kibana 级别向预定义值列表添加替换或映射?或者我应该在 if
条件下在 Logstash 级别手动执行此映射?什么是最好的方法?
您将无法在 Kibana 级别进行替换,因此如果只有几个选项,最好的办法是使用 if
语句。
如果你想做一些更容易维护的事情,你可能想看看这个答案:我写了一个插件,可以用来读取 .csv 文件,然后使用它通过 CSV 文件中的数据丰富您的活动。
我已经通过 Google 群组获得了我认为最好的答案。
可以通过以下link找到答案:https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/elasticsearch/88dajXfzSwk/80gVTXws8VcJ
它基本上建议我使用 Logstash 的翻译过滤器:http://logstash.net/docs/1.4.2/filters/translate 我认为这是最好的解决方案。