管理数据视图
编辑管理数据视图
编辑要自定义数据视图中的数据字段,您可以向现有文档添加运行时字段,添加脚本字段以动态计算数据,并更改 Kibana 显示数据字段的方式。
使用运行时字段浏览您的数据
编辑运行时字段是在您摄取数据后添加到文档的字段,并在查询时进行评估。使用运行时字段,您可以拥有更小的索引和更快的摄取时间,从而可以使用更少的资源并降低运营成本。您可以在使用数据视图的任何地方使用运行时字段,例如,您可以在Discover中浏览运行时字段,并为仪表板创建带有运行时字段的可视化。
使用运行时字段,您可以
- 在不修改底层架构的情况下,为特定用例定义字段。
- 覆盖从索引字段返回的值。
- 在不了解结构的情况下开始处理您的数据。
- 在不重新索引数据的情况下向现有文档添加字段。
运行时字段可能会影响 Kibana 的性能。当您运行查询时,Elasticsearch 会首先使用您索引的字段来缩短响应时间。索引您常用的搜索和筛选字段,例如 timestamp
,然后使用运行时字段来限制 Elasticsearch 用于计算值的字段数量。
有关如何在 Elasticsearch 中使用运行时字段的详细信息,请参阅运行时字段。
添加运行时字段
编辑要向数据视图添加运行时字段,请打开要更改的数据视图,然后使用Painless 脚本语言发出单个值来定义字段值。您还可以在Discover和Lens中添加运行时字段。
- 使用导航菜单或全局搜索字段转到数据视图管理页面。
- 选择要添加运行时字段的数据视图,然后单击添加字段。
- 输入字段名称,然后选择类型。
- 选择设置自定义标签,然后输入要在使用数据视图的位置(例如Discover)中显示的标签。
- 选择设置值,然后定义脚本。脚本必须与类型匹配,否则数据视图在任何使用它的地方都会失败。
-
为了帮助您定义脚本,请使用预览
- 要查看其他可用字段,请使用文档 ID箭头。
- 要筛选字段列表,请在筛选字段中输入关键字。
- 要将常用字段固定到列表顶部,请将鼠标悬停在字段上,然后单击。
- 单击创建字段。
运行时字段示例
编辑使用示例 Web 日志数据,亲自尝试运行时字段示例。
返回关键字值
编辑返回 Hello World!
emit("Hello World!");
对单个字段执行计算
编辑从字节计算千字节
emit(doc['bytes'].value / 1024)
返回子字符串
编辑返回 URL 中最后一个斜杠后出现的字符串
def path = doc["url.keyword"].value; if (path != null) { int lastSlashIndex = path.lastIndexOf('/'); if (lastSlashIndex > 0) { emit(path.substring(lastSlashIndex+1)); return; } } emit("");
使用复合运行时字段返回多个字段
编辑当选择 Composite
类型时,单个运行时字段也可以生成多个子字段。脚本编辑器提供可为每个子字段自定义的默认类型。
返回 keyword
和 double
类型子字段。请注意,emit
的第一个参数是子字段的名称。
emit('subfield_a', 'Hello'); emit('subfield_b', 42);
用空白替换 Null
编辑用 None
替换 null
值
def source = doc['referer'].value; if (source != null) { emit(source); return; } else { emit("None"); }
指定操作系统条件
def source = doc['machine.os.keyword'].value; if (source != "") { emit(source); } else { emit("None"); }
管理运行时字段
编辑编辑运行时字段的设置,或从数据视图中删除运行时字段。
- 使用导航菜单或全局搜索字段转到数据视图管理页面。
- 选择包含要管理的运行时字段的数据视图,然后打开运行时字段编辑选项或删除运行时字段。
向数据视图添加脚本字段
编辑在 7.13 中已弃用。
请使用运行时字段代替脚本字段。运行时字段支持 Painless 脚本,并提供更大的灵活性。
脚本字段从 Elasticsearch 索引中的数据动态计算数据。这些数据在“Discover”选项卡上显示为文档数据的一部分,您可以在可视化中使用脚本字段。您可以使用Kibana 查询语言查询脚本字段,并可以使用筛选栏筛选它们。脚本字段值在查询时计算,因此它们不会被索引,并且无法使用 Kibana 默认查询语言进行搜索。
使用脚本字段动态计算数据可能会非常消耗资源,并且会对 Kibana 的性能产生直接影响。请记住,没有对脚本字段进行内置验证。如果您的脚本存在错误,那么每当您尝试查看动态生成的数据时,都会收到异常。
在 Kibana 中定义脚本字段时,您可以选择Lucene 表达式或Painless 脚本语言。
您可以在表达式中引用任何单个值数字字段,例如
doc['field_name'].value
有关脚本字段和更多示例的详细信息,请参阅在 Kibana 脚本字段中使用 Painless
创建脚本字段
编辑创建脚本字段并将其添加到您的数据视图。
- 使用导航菜单或全局搜索字段转到数据视图管理页面。
- 选择要向其添加脚本字段的数据视图。
- 选择脚本字段选项卡,然后单击添加脚本字段。
- 输入脚本字段的名称,然后输入要用于从索引数据动态计算值的脚本。
- 单击创建字段。
有关 Elasticsearch 中脚本字段的详细信息,请参阅脚本。
管理脚本字段
编辑- 使用导航菜单或全局搜索字段转到数据视图管理页面。
- 选择包含要管理的脚本字段的数据视图。
- 选择脚本字段选项卡,然后打开脚本字段编辑选项或删除脚本字段。
脚本字段不支持内置验证。当您的脚本包含错误时,在查看动态生成的数据时会收到异常。
格式化数据字段
编辑Kibana 使用与 Elasticsearch 相同的字段类型,但是,某些 Elasticsearch 字段类型在 Kibana 中不受支持。要自定义 Kibana 显示数据字段的方式,请使用格式化选项。
- 使用导航菜单或全局搜索字段转到数据视图管理页面。
- 单击包含要更改的字段的数据视图。
- 找到该字段,然后打开编辑选项()。
- 选择设置自定义标签,然后输入该字段的自定义标签。
- 选择设置格式,然后输入该字段的格式。
对于数值字段,默认字段格式化程序基于 meta.unit
字段。单位与时间单位、百分比或字节相关联。百分比的惯例是使用值 1 表示 100%。
字符串字段格式化程序
编辑字符串字段支持 字符串和Url格式化程序。
字符串字段格式化程序使您能够对字段应用转换。
支持的转换包括
- 转换为小写
- 转换为大写
- 转换为标题大小写
- 应用短点转换,该转换将
.
字符之前的内容替换为内容的首字符。例如
原始 |
变为 |
|
|
您可以为 Url
字段格式化程序指定以下类型
- 链接 — 将字段内容转换为 URL。您可以指定图像的宽度和高度,同时保持宽高比。当图像小于指定的参数时,图像无法放大。
- 图像 — 指定图像目录。
- 音频 — 指定音频目录。
要自定义 URL 字段格式,请使用模板。URL 模板使您能够向部分 URL 添加值。要将字段的内容添加到固定的 URL,请使用 {{value}}
字符串。
例如,当
- 字段包含用户 ID
- 字段使用
Url
字段格式化程序 - URI 模板为
http://company.net/profiles?user_id={{value}}
生成的 URL 会将 {{value}}
替换为该字段中的用户 ID。
{{value}}
模板字符串会对字段的内容进行 URL 编码。当编码到 URL 中的字段包含非 ASCII 字符时,这些字符将替换为 %
字符和相应的十六进制代码。例如,字段内容 users/admin
会导致 URL 模板添加 users%2Fadmin
。
当格式化器类型为 Image 时,{{value}}
模板字符串指定指定 URI 上的图像名称。
当格式化器类型为 Audio 时,{{value}}
模板字符串指定指定 URI 上的音频文件名。
要将未转义的值直接传递到 URL,请使用 {{rawValue}}
字符串。
标签模板 使您可以指定一个文本字符串,该字符串会显示而不是原始 URL。您可以在标签模板中正常使用 {{value}}
模板字符串。您还可以使用 {{url}}
模板字符串来显示格式化后的 URL。
日期字段格式化器
编辑日期字段支持 Date、String 和 Url 格式化器。
Date 格式化器使您可以使用 moment.js 标准格式定义来选择日期戳的显示格式。
字符串字段格式化程序使您能够对字段应用转换。
支持的转换包括
- 转换为小写
- 转换为大写
- 转换为标题大小写
- 应用短点转换,该转换将
.
字符之前的内容替换为内容的首字符。例如
原始 |
变为 |
|
|
您可以为 Url
字段格式化程序指定以下类型
- 链接 — 将字段内容转换为 URL。您可以指定图像的宽度和高度,同时保持宽高比。当图像小于指定的参数时,图像无法放大。
- 图像 — 指定图像目录。
- 音频 — 指定音频目录。
要自定义 URL 字段格式,请使用模板。URL 模板使您能够向部分 URL 添加值。要将字段的内容添加到固定的 URL,请使用 {{value}}
字符串。
例如,当
- 字段包含用户 ID
- 字段使用
Url
字段格式化程序 - URI 模板为
http://company.net/profiles?user_id={{value}}
生成的 URL 会将 {{value}}
替换为该字段中的用户 ID。
{{value}}
模板字符串会对字段的内容进行 URL 编码。当编码到 URL 中的字段包含非 ASCII 字符时,这些字符将替换为 %
字符和相应的十六进制代码。例如,字段内容 users/admin
会导致 URL 模板添加 users%2Fadmin
。
当格式化器类型为 Image 时,{{value}}
模板字符串指定指定 URI 上的图像名称。
当格式化器类型为 Audio 时,{{value}}
模板字符串指定指定 URI 上的音频文件名。
要将未转义的值直接传递到 URL,请使用 {{rawValue}}
字符串。
标签模板 使您可以指定一个文本字符串,该字符串会显示而不是原始 URL。您可以在标签模板中正常使用 {{value}}
模板字符串。您还可以使用 {{url}}
模板字符串来显示格式化后的 URL。
地理点字段格式化器
编辑地理点字段支持 String 格式化器。
字符串字段格式化程序使您能够对字段应用转换。
支持的转换包括
- 转换为小写
- 转换为大写
- 转换为标题大小写
- 应用短点转换,该转换将
.
字符之前的内容替换为内容的首字符。例如
原始 |
变为 |
|
|
数字字段格式化器
编辑数字字段支持 Bytes、Color、Duration、Histogram、Number、Percentage、String 和 Url 格式化器。
Bytes、Number 和 Percentage 格式化器使您可以使用 Kibana 维护的 Elastic 数字模式 语法来选择字段中数字的显示格式。
Histogram 格式化器仅用于 histogram 字段类型。当您使用 Histogram 格式化器时,您可以将 Bytes、Number 或 Percentage 格式应用于聚合数据。
您可以为 Url
字段格式化程序指定以下类型
- 链接 — 将字段内容转换为 URL。您可以指定图像的宽度和高度,同时保持宽高比。当图像小于指定的参数时,图像无法放大。
- 图像 — 指定图像目录。
- 音频 — 指定音频目录。
要自定义 URL 字段格式,请使用模板。URL 模板使您能够向部分 URL 添加值。要将字段的内容添加到固定的 URL,请使用 {{value}}
字符串。
例如,当
- 字段包含用户 ID
- 字段使用
Url
字段格式化程序 - URI 模板为
http://company.net/profiles?user_id={{value}}
生成的 URL 会将 {{value}}
替换为该字段中的用户 ID。
{{value}}
模板字符串会对字段的内容进行 URL 编码。当编码到 URL 中的字段包含非 ASCII 字符时,这些字符将替换为 %
字符和相应的十六进制代码。例如,字段内容 users/admin
会导致 URL 模板添加 users%2Fadmin
。
当格式化器类型为 Image 时,{{value}}
模板字符串指定指定 URI 上的图像名称。
当格式化器类型为 Audio 时,{{value}}
模板字符串指定指定 URI 上的音频文件名。
要将未转义的值直接传递到 URL,请使用 {{rawValue}}
字符串。
标签模板 使您可以指定一个文本字符串,该字符串会显示而不是原始 URL。您可以在标签模板中正常使用 {{value}}
模板字符串。您还可以使用 {{url}}
模板字符串来显示格式化后的 URL。
字符串字段格式化程序使您能够对字段应用转换。
支持的转换包括
- 转换为小写
- 转换为大写
- 转换为标题大小写
- 应用短点转换,该转换将
.
字符之前的内容替换为内容的首字符。例如
原始 |
变为 |
|
|
Duration 字段格式化器以以下增量显示字段的数值
- 皮秒
- 纳秒
- 微秒
- 毫秒
- 秒
- 分钟
- 小时
- 天
- 周
- 月
- 年
您可以为输入和输出格式指定这些增量,最多 20 位小数。
Color 字段格式化器使您可以为数字字段指定具有值范围的颜色。
当您选择 Color 格式化器时,请单击 添加颜色,然后指定 范围、文本颜色 和 背景颜色。