管理数据视图编辑

要自定义数据视图中的数据字段,您可以向现有文档添加运行时字段,添加脚本字段以动态计算数据,以及更改 Kibana 显示数据字段的方式。

使用运行时字段探索您的数据编辑

运行时字段是在您摄取数据后添加到文档的字段,并在查询时进行评估。使用运行时字段,您可以允许更小的索引和更快的摄取时间,以便您可以使用更少的资源并降低运营成本。您可以在使用数据视图的任何地方使用运行时字段,例如,您可以在 发现 中探索运行时字段,并为您的仪表板创建使用运行时字段的可视化。

使用运行时字段,您可以

  • 为特定用例定义字段,而无需修改底层模式。
  • 覆盖从索引字段返回的值。
  • 在不了解结构的情况下开始处理您的数据。
  • 向现有文档添加字段,而无需重新索引您的数据。

运行时字段会影响 Kibana 的性能。当您运行查询时,Elasticsearch 会首先使用您索引的字段来缩短响应时间。索引您经常搜索和过滤的字段,例如 timestamp,然后使用运行时字段来限制 Elasticsearch 用于计算值的字段数量。

有关如何在 Elasticsearch 中使用运行时字段的详细信息,请参阅 运行时字段

添加运行时字段编辑

要向数据视图添加运行时字段,请打开要更改的数据视图,然后通过使用 Painless 脚本语言 发射单个值来定义字段值。您也可以在 发现透镜 中添加运行时字段。

  1. 打开主菜单,然后单击 堆栈管理 > 数据视图
  2. 选择要添加运行时字段的数据视图,然后单击 添加字段
  3. 输入字段 名称,然后选择 类型
  4. 选择 设置自定义标签,然后输入要在使用数据视图的地方显示的标签,例如 发现
  5. 选择 设置值,然后定义脚本。脚本必须与 类型 匹配,否则数据视图在任何使用它的位置都会失败。
  6. 为了帮助您定义脚本,请使用 预览

    • 要查看其他可用字段,请使用 文档 ID 箭头。
    • 要过滤字段列表,请在 过滤字段 中输入关键字。
    • 要将常用字段固定到列表顶部,请将鼠标悬停在字段上,然后单击 将字段固定到列表顶部的图标
  7. 单击 创建字段

运行时字段示例编辑

使用 示例 Web 日志 数据自己尝试运行时字段示例。

返回关键字值编辑

返回 Hello World!

emit("Hello World!");

Runtime field with keyword type

对单个字段执行计算编辑

从字节计算千字节

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 时,单个运行时字段也可以生成多个子字段。脚本编辑器提供可以为每个子字段自定义的默认类型。

返回 keyworddouble 类型子字段。请注意,emit 的第一个参数是子字段的名称。

emit('subfield_a', 'Hello');
emit('subfield_b', 42);

Runtime field with composite type

将空值替换为空白编辑

null 值替换为 None

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");
}

管理运行时字段编辑

编辑运行时字段的设置,或从数据视图中删除运行时字段。

  1. 打开主菜单,然后单击 堆栈管理 > 数据视图
  2. 选择包含要管理的运行时字段的数据视图,然后打开运行时字段编辑选项或删除运行时字段。

向数据视图添加脚本字段编辑

在 7.13 中已弃用。

使用 运行时字段 而不是脚本字段。运行时字段支持 Painless 脚本,并提供更大的灵活性。

脚本字段从 Elasticsearch 索引中的数据动态计算数据。数据显示在发现选项卡上,作为文档数据的一部分,您可以在可视化中使用脚本字段。您可以使用 Kibana 查询语言 查询脚本字段,并使用过滤器栏对其进行过滤。脚本字段值在查询时计算,因此它们不会被索引,并且无法使用 Kibana 默认查询语言进行搜索。

使用脚本字段动态计算数据可能非常占用资源,并且会直接影响 Kibana 的性能。请记住,脚本字段没有内置验证。如果您的脚本有错误,您将在尝试查看动态生成的数据时收到异常。

在 Kibana 中定义脚本字段时,您可以选择 Lucene 表达式Painless 脚本语言。

您可以在表达式中引用任何单个值数字字段,例如

doc['field_name'].value

有关脚本字段和更多示例的详细信息,请参阅 在 Kibana 脚本字段中使用 Painless

创建脚本字段编辑

创建并向数据视图添加脚本字段。

  1. 打开主菜单,然后单击 堆栈管理 > 数据视图
  2. 选择要添加脚本字段的数据视图。
  3. 选择 脚本字段 选项卡,然后单击 添加脚本字段
  4. 为脚本字段输入一个 名称,然后输入要用于从索引数据动态计算值的 脚本
  5. 单击 创建字段

有关 Elasticsearch 中脚本字段的更多信息,请参阅 脚本

管理脚本字段编辑

  1. 打开主菜单,然后单击 堆栈管理 > 数据视图
  2. 选择包含要管理的脚本字段的数据视图。
  3. 选择 脚本字段 选项卡,然后打开脚本字段编辑选项或删除脚本字段。

脚本字段不支持内置验证。当您的脚本包含错误时,您在查看动态生成的数据时会收到异常。

格式化数据字段编辑

Kibana 使用与 Elasticsearch 相同的字段类型,但是 Kibana 中不支持某些 Elasticsearch 字段类型。要自定义 Kibana 显示数据字段的方式,请使用格式化选项。

  1. 打开主菜单,然后单击 堆栈管理 > 数据视图
  2. 单击包含要更改的字段的数据视图。
  3. 找到字段,然后打开编辑选项 (数据字段编辑图标).
  4. 选择 设置自定义标签,然后为字段输入一个 自定义标签
  5. 选择 设置格式,然后为字段输入 格式

对于数字字段,默认字段格式化程序基于 meta.unit 字段。该单位与 时间单位、百分比或字节相关联。百分比的约定是使用值 1 来表示 100%。

字符串字段格式化程序编辑

字符串字段支持 字符串URL 格式化程序。

字符串 字段格式化程序使您能够对字段应用转换。

支持的转换包括

  • 转换为小写
  • 转换为大写
  • 转换为标题大小写
  • 应用短点转换,该转换将 . 字符之前的內容替换为內容的第一个字符。例如

原始

变为

com.organizations.project.ClassName

c.o.p.ClassName

  • Base64 解码
  • 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

当格式化程序类型为 图像 时,模板字符串 {{value}} 指定了指定 URI 上图像的名称。

当格式化程序类型为 音频 时,模板字符串 {{value}} 指定了指定 URI 上音频文件的名称。

要将未转义的值直接传递到 URL,请使用 {{rawValue}} 字符串。

标签模板 允许您指定一个文本字符串,该字符串将显示在原始 URL 而不是原始 URL 本身。您可以在标签模板中正常使用 {{value}} 模板字符串。您还可以使用 {{url}} 模板字符串来显示格式化的 URL。

日期字段格式化程序edit

日期字段支持 日期字符串URL 格式化程序。

日期 格式化程序允许您使用 moment.js 标准格式定义来选择日期戳的显示格式。

字符串 字段格式化程序使您能够对字段应用转换。

支持的转换包括

  • 转换为小写
  • 转换为大写
  • 转换为标题大小写
  • 应用短点转换,该转换将 . 字符之前的內容替换为內容的第一个字符。例如

原始

变为

com.organizations.project.ClassName

c.o.p.ClassName

  • Base64 解码
  • 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

当格式化程序类型为 图像 时,模板字符串 {{value}} 指定了指定 URI 上图像的名称。

当格式化程序类型为 音频 时,模板字符串 {{value}} 指定了指定 URI 上音频文件的名称。

要将未转义的值直接传递到 URL,请使用 {{rawValue}} 字符串。

标签模板 允许您指定一个文本字符串,该字符串将显示在原始 URL 而不是原始 URL 本身。您可以在标签模板中正常使用 {{value}} 模板字符串。您还可以使用 {{url}} 模板字符串来显示格式化的 URL。

地理点字段格式化程序edit

地理点字段支持 字符串 格式化程序。

字符串 字段格式化程序使您能够对字段应用转换。

支持的转换包括

  • 转换为小写
  • 转换为大写
  • 转换为标题大小写
  • 应用短点转换,该转换将 . 字符之前的內容替换为內容的第一个字符。例如

原始

变为

com.organizations.project.ClassName

c.o.p.ClassName

  • Base64 解码
  • URL 参数解码

数字字段格式化程序edit

数字字段支持 字节颜色持续时间直方图数字百分比字符串URL 格式化程序。

字节数字百分比 格式化程序允许您使用 Kibana 维护的 Elastic 数字模式 语法来选择字段中数字的显示格式。

直方图 格式化程序仅用于 直方图字段类型。当您使用 直方图 格式化程序时,您可以将 字节数字百分比 格式应用于聚合数据。

您可以为 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

当格式化程序类型为 图像 时,模板字符串 {{value}} 指定了指定 URI 上图像的名称。

当格式化程序类型为 音频 时,模板字符串 {{value}} 指定了指定 URI 上音频文件的名称。

要将未转义的值直接传递到 URL,请使用 {{rawValue}} 字符串。

标签模板 允许您指定一个文本字符串,该字符串将显示在原始 URL 而不是原始 URL 本身。您可以在标签模板中正常使用 {{value}} 模板字符串。您还可以使用 {{url}} 模板字符串来显示格式化的 URL。

字符串 字段格式化程序使您能够对字段应用转换。

支持的转换包括

  • 转换为小写
  • 转换为大写
  • 转换为标题大小写
  • 应用短点转换,该转换将 . 字符之前的內容替换为內容的第一个字符。例如

原始

变为

com.organizations.project.ClassName

c.o.p.ClassName

  • Base64 解码
  • URL 参数解码

持续时间 字段格式化程序以以下增量显示字段的数值

  • 皮秒
  • 纳秒
  • 微秒
  • 毫秒
  • 分钟
  • 小时

您可以为输入和输出格式指定最多 20 位小数的这些增量。

颜色 字段格式化程序允许您为数字字段指定具有值范围的颜色。

当您选择 颜色 格式化程序时,单击 添加颜色,然后指定 范围文本颜色背景颜色