Kibana: 更改可视化/仪表板上的索引

创建于 2015-04-23  ·  170评论  ·  资料来源: elastic/kibana

2018 年 4 月 4 日更新
到目前为止,我们非常感谢您对这个大问题的所有反馈,但我们需要您的帮助,因为我们将其分解为更具体的项目来处理。 即使您已经为此特定问题 +1,如果您可以 +1 并在下面提供的更详细的问题中描述您的用例,那将非常有帮助。 我们不会忽略到目前为止人们在这个问题上提供的所有反馈,但对个别功能建议的更集中的反馈将是无价的。

以下是我认为构成这个大问题的三个子问题:

更改可视化上的索引模式:#17542
仪表盘级索引模式:#16917
改进了导出/导入以包含引用的对象。 然后您可以对单个文件中的索引模式 ID 进行搜索/替换:#16831
嵌套仪表板: https :

仪表板级别的索引模式似乎最匹配这个初始请求,目前有一个可用的解决方法,在https://github.com/elastic/kibana/issues/16917 中提到

如果这三个问题未涵盖您的特定情况,请告诉我们!


原始问题请求:

我处于一种情况,我有完全相同的仪表板和可视化,但希望它使用不同的别名/索引。

这个想法是隔离不同用户的数据/视图,但每个人都有相同的视图/仪表板(只是他/她的索引/别名不同),特别是当我读到 Shield 通过别名/索引进行授权/访问控制时,这就是我需要/想要用于用户授权/访问控制。

Dashboard Visualizations enhancement

最有用的评论

目前的架构有可能吗? 索引似乎绑定到可视化,而不是 K4 中的仪表板。 这对我来说非常有用。 像大多数人(我想)一样,我将每个环境拆分为单独的索引; 维护仪表板变得困难...

在 Kibana 3 中,我修改了一个选择列表框,它允许用户为每个仪表板切换索引,这意味着所有环境只需要维护 1 个仪表板。 然而 Kibana 4 将索引绑定到可视化而不是仪表板。 如果仪表板可以(可选)覆盖其可视化上的索引,这可能会有所帮助? 但是,我可以看到在某些用例中拥有一个与索引无关的仪表板是多么有用。

所有170条评论

您可以通过在 elasticsearch 中复制可视化文档并更改索引参数来实现。 我认为我们不会很快支持此类功能的 UI。

:( 然后它变成了一个快速棘手的 O(M*N) 问题(N = 索引的数量,M 是可视化的数量。

目前的架构有可能吗? 索引似乎绑定到可视化,而不是 K4 中的仪表板。 这对我来说非常有用。 像大多数人(我想)一样,我将每个环境拆分为单独的索引; 维护仪表板变得困难...

在 Kibana 3 中,我修改了一个选择列表框,它允许用户为每个仪表板切换索引,这意味着所有环境只需要维护 1 个仪表板。 然而 Kibana 4 将索引绑定到可视化而不是仪表板。 如果仪表板可以(可选)覆盖其可视化上的索引,这可能会有所帮助? 但是,我可以看到在某些用例中拥有一个与索引无关的仪表板是多么有用。

+1

在 elasticsearch 中复制可视化文档并不是一个真正的选择。 这会产生大量重复的信息,更新将是一场噩梦。

+1 对此。 “索引模式”概念自然映射到数据“源”上,而仪表板目前无法做到这一点。

至少,仪表板页面顶部的搜索栏应该允许按“更具体”的索引模式进行过滤,但它似乎不接受使用_index:­...-*模式(也不是特定值)的搜索)。

我们当前的解决方法是为每个源使用单独的文档类型,因为这是在保持相同仪表板的同时按源快速过滤的唯一方法,但这会产生另一个配置问题 (tm),因为我们需要为每个环境创建新的类型映射...

我们面临这样一种情况:来自不同部门的用户扮演不同的角色,通过他们自己的仪表板访问相同的数据。
例如开发人员与前线支持人员。

我们如何限制仪表板修改 - 以便开发人员为例如开发人员创建的仪表板集。 不能由支持人员修改?

如果屏蔽仅与索引相关联,则它不会起作用,因为两个仪表板的基础数据是相同的。

谢谢你。

+1 为此。
目前我正在使用 Ansible 和模板来至少自动化一些复制和替换过程,但这不应该是 _THE_ 方式来做到这一点。 从维护的角度来看,冗余并不酷......

+1

+1 为此。
当您对每个环境(开发、同源、生产)都有一个索引模式但仪表板和可视化是相同的时,拥有此功能将非常有用。

+1
将索引与可视化相关联,嵌入到仪表板中,是一场彻头彻尾的噩梦。 如果不完全重写仪表板,就不可能对最近的数据和长期的日志数据使用别名。

请看看仪表板界面和设计如何在 Grafana 2 中工作,这完全符合我的观点。 例如,图形不是单独的实体,而是在仪表板内创建的。

+1 现在,当您拥有复杂的平台时,这完全是一场噩梦。

+1 请快速添加此支持...

+1

+1 必须在 3 个不同的环境中创建并维护 3 个不同的仪表板,这对我们来说是一个巨大的噩梦。 仪表板在每个环境中对我们来说应该是相同的,但是如果没有此功能,我们必须手动创建可视化和仪表板 3 次。

+1

+1

+1

+1
重复的可视化不是办法。
为什么要更改 Kibana 3 处理仪表板的方式!?!?

+1

+1

+1

+1

+1

+1 这对我们来说真的很重要

+1

在 Bitergia 中,我们创建了一个工具来从模板仪表板创建自动仪表板。 主要任务之一是修改索引。

这是开源工具,以防它对任何人有用:

https://github.com/acs/GrimoireELK/blob/master/utils/e2k.py

+1

+1

@rashidkpc :我尝试了您的建议,但在创建正确的条目时遇到了困难。 然后我收到 Kibana 警告:

“谨慎行事

修改对象仅供高级用户使用。 对象属性未经过验证,无效对象可能会导致错误、数据丢失或更糟。 除非熟悉密码的人告诉你在这里,否则你可能不应该在这里。”

您能否提供一个复制此类仪表板的示例? 看起来用户很可能会因为这个而弄乱他们的 kibana 实例。

+1

+1

+5

+1

+1

+1

+1

+1

嗨@rashidkpc
一年后仍然对这个问题有同样的感觉吗?

也许是关于如何处理上述环境的“官方”回应?

+1

+1

+1

+1

+1 请。

+1

+1

+1

+1

+1

+1

+1

+1

+1

👍

+1

+1

+1

+1

+1

+1

+1

我的天啊。 这将非常有用!!!

+1 - Kibana 确实需要支持可重用的“资产”。

+1

+1

+1111!!!1个

+1

+1

+1 这会很棒!

+1 为此。

+1

+1

+1

+1

+1

+1

+1! 可能非常有用

+1

+1

+1

+1

+1
我认为这已经可能了:(

+1

这是定义。 必须有。 请让它发生。

+1

+1

+1

请求的功能在 2 年后会存在吗? 谁知道! +1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+100000000000

+1

+1

+1

+1

+1

+1

+1

+1

那么 Elastic 的任何人都想真正实现这一点吗?

+1

+1

+1

+1

+1为此,是否有实施它的计划?

仅供参考,您可以非常轻松地在 Saved Objects 选项卡中手动编辑每个可视化的 JSON 表示: /app/kibana#/management/kibana/objects?_g=()&_a=(tab:visualizations) 。 还没有尝试过,但执行导出、查找替换(或管道到jq )和重新导入可能适用于大多数批量重新分配工作流程。

+1 绝对是,这是一个非常需要的功能; 它将减少大量手动仪表板创建工作及其维护工作。

+1

+1

可以使用导出和导入实现

image

8e39432f-4136-4061-8c5d-945fc81ce1e6

+1

我不明白为什么在发现时我们可以更改索引,但在可视化方面我们不得不重新开始。

我只是用 nginx 索引构建一些复杂的可视化,想检查是否使用清漆索引我可以获得更好的结果......但由于我们不允许更改索引,我必须打开一个新选项卡,更改索引和再次设置可视化字段。

请注意,这对于在不同环境之间复制已实现的可视化没有用,但对于比较索引可视化并帮助创建用于可视化的最佳索引也很有用。 对维护也很有帮助,如果一个字段名改变了,我们可以改变一个可视化,并保存到多个环境中。 另一种方法是导出所有可视化,再次编辑和导入......它有效,但它非常hacky

请加这个。

+1

+1

我通过将 JS 脚本注入 Kibana 页面来实现此功能。 请参阅https://github.com/gofreddo/kibana-copy-objects/

+1

+1 这对我们来说将是一个巨大的进步。 目前,我们要么将所有数据都放在一组每日索引中,以便我们可以共享仪表板,要么必须手动复制并保持最新仪表板,以便更改它们处理的索引。

+1

+1

+1

+1

最好的解决方法是将搜索保存在 Kibana 的发现选项卡中,并根据保存的搜索而不是索引模式构建可视化/仪表板。 现在,每当您需要切换到不同的索引时,您都可以返回到保存的搜索并从下拉列表中更改索引并保存。 这将更改可视化/仪表板中的索引。

save_search

viz

@svadapalli当搜索以索引模式保存时,这有什么帮助?

您可以通过将现有搜​​索映射到新索引来替换它。 如果您碰巧有任何相关的可视化,则会自动切换到索引。

₊1

伙计们,这是一个开源软件,老实说,对于每个可视化/仪表板的 URI 传递配置级别,我觉得有一种简单的方法可以覆盖引用索引模式的所有实例。

这种用例在权限和安全实施领域很常见,在这种情况下,您可能拥有大量具有相同架构的 JSON 存储桶,但这些存储桶的类别不同,以及不同的数据以向用户显示相同的仪表板但具有不同的索引。 说出来就超级性感

+1

+1

+1

+1

+1

+1 ..... 但是 111+ 人 * 等了两年......在开源软件中应该有一些门槛,在一定数量的人年(人年?) 请求应该固定在问题列表的顶部,并且慷慨地给予他/她时间成为区域所有者的人应该输入一些解决问题的详细指示(代码,策略),然后是其余的一个我们会感到有能力去实现它。

我敢肯定,如果他们能够将空气提升到 10,000 的水平,会有更多的人会潜入水中。

+1

+1

1+。 在 ELK 新升级到 6.X 后,不再支持类型,我们将不得不对我们的仪表板进行整体迁移,因为它们都基于相同的索引,只是类型不同。

+1

+1

+1
我们可以在 grafana 中更改仪表板的索引吗?

如果没有此功能的计划,任何 kibana 都可以关闭此问题

查看 .kibana,我们可能需要更新可视化和搜索的 searchsourcejson 中的值索引。

"searchSourceJSON": """{"index":"024642a0-faf5-11e7-bacc-890ff6c3f975","filter":[],"query":{"query":"","language":"lucene" }}”

无论如何,如果我们可以将索引作为一个单独的属性来获取,并提供 API 来更改该属性将对所有人都有帮助。

也想要这个 +1

我让https://github.com/ArtemUstynov/kibana_dashboard_manager成为可能。 另外,如果您需要为新索引复制仪表板,只需给我发短信

当我开始探索解决这些问题的不同方法时,我向热切期待此功能实现的每个人提出一些问题。

首先让我试着理解这里讨论的主要问题:

问题 1:在给定的一组现有仪表板和可视化中,无法轻松地将一种索引模式替换为另一种索引模式。

问题 2:您不想维护大量重复的可视化和仪表板,其中唯一不同的是索引模式。 出现这种情况是因为仪表板的查看者可以访问驻留在不同索引模式中的数据。

这听起来准确吗?

现在我只想专注于问题 2。

举一个假设的场景,一家公司为其客户(客户 A 和客户 B)创建 Kibana 仪表板。客户 A 的数据采用client-a-*索引模式,客户 B 的数据采用client-b-*索引模式。 该公司现在有两组重复的可视化和仪表板,除了用于创建可视化的索引模式之外,所有东西都是平等的。

这与你们许多人遇到的情况相似吗? 如果是这样,我很好奇是否有人试图通过创建一组指向索引模式client-*的可视化来解决这个问题。 两个客户端的数据自然会因为权限被过滤掉,所以只能看到自己的数据。

如果问题是仪表板创建者希望能够轻松查看每个客户端看到的数据,您是否可以添加一个client字段来过滤?

screen shot 2018-03-01 at 10 47 49 am

作为旁注,有一个_index元字段,但您不能在其上使用通配符进行搜索,这意味着如果您的模式是client-a-date您将无法跨日期查看.

如果你走这条路,只有一组可视化和一个仪表板需要维护。 根据查看者的权限自然地为查看者过滤数据,但有权访问所有索引模式的管理员可以查看所有内容或对数据进行分段。 客户将看到客户字段,但只会看到他们自己的名字作为在其中进行选择的选项(因此他们根本看不到对a的引用)。

了解该变通方法作为解决方案的不足之处将帮助我弄清楚在考虑实施此功能时需要解决哪些问题。

那么你所描述的对我来说不是问题。 说我索引 N 个元素
弹性并将其命名为“方法 1”,然后我索引具有相同 Json 的数据
字段,但该数据是在不同的(希望更好)中提取的,并且
将其命名为“方法 2”,所以现在我想要一组我的可视化
应用于不同的索引。 将仪表板视为指针和索引
由于数据指针指向,所以我想要指针(仪表板与所有
我的可视化)要应用于新索引。

老实说,我制作了一个 python 脚本来解决这个问题。
你可以看看我把它作为解决方案发布了。 我还添加了功能
“克隆”仪表板将其应用于新索引,因此您将拥有两个
仪表板,但它们将引用不同的索引。

2018 年 3 月 1 日星期四下午 5:11,Stacey Gammon通知@ github.com
写道:

我有几个问题要问所有热切期待的人
正在实施的功能,因为我开始探索不同的方法
解决这些问题。

首先让我试着理解讨论的主要问题
这里:

问题 1:没有办法轻松地将一种索引模式交换为
给定的一组现有仪表板和可视化中的另一个。

问题 2:您不想维护大量重复的可视化
和仪表板,唯一不同的是索引模式。 这
出现这种情况是因为仪表板的查看者可以访问数据
驻留在不同的索引模式中。

这听起来准确吗?

现在我只想专注于问题 2。

为了给出一个假设场景,一家公司创建了 Kibana 仪表板,用于
他们的客户,客户 A 和客户 B。客户 A 的数据在 client-a-*
索引模式和客户端 B 的数据采用 client-b-* 索引模式。 这
公司现在有两组重复的可视化和仪表板,其中
除了用于创建可视化的索引模式之外,一切都是平等的。

这与你们许多人遇到的情况相似吗? 如果是这样,我是
好奇是否有人试图通过创建单个
指向索引模式 client-* 的一组可视化。 他们俩
客户数据自然会因为他们的权限而被过滤,所以
他们只会看到自己的数据。

如果问题是仪表板创建者希望能够轻松查看
每个客户看到的数据,你能添加一个客户字段来过滤吗?

[图像:屏幕截图 2018-03-01 at 10 47 49 am]
https://user-images.githubusercontent.com/16563603/36854121-2f297614-1d3e-11e8-8036-c9f69aa99ea0.png

作为旁注,有一个 _index 元字段,但您不能使用
上面有一个通配符,这意味着如果你的模式是客户约会你
将无法跨日期查看。

如果你走这条路,只有一组可视化,还有一个
要维护的仪表板。 数据是根据观众自然过滤的
他们的权限,但有权访问所有索引模式的管理员可以
查看所有内容,或细分数据。 客户将看到客户字段,但
只会看到他们自己的名字作为在其中选择的选项(所以他们不会
请参阅对 a 的引用)。

了解该解决方法如何作为解决方案不足将帮助我
弄清楚在我考虑实施时需要解决哪些问题
此功能。


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看
https://github.com/elastic/kibana/issues/3668#issuecomment-369642283
或静音线程
https://github.com/notifications/unsubscribe-auth/Ae1KBra2IKRCwsvTuL6wLY0UKVBlwDXxks5taB2_gaJpZM4EHRML
.

有趣,感谢@ArtemUstynov 的回复。 我无法访问您在上面提供的链接,出现 404 错误。

您多久使用不同的方法创建新索引? 一旦你有了这两种方法,你是保留两种方法,还是选择一种而丢弃另一种?

如果您的第二个索引与第一个方法创建的索引共享一个前缀,并且您向两个索引添加了一个名为“方法”的字段,那么我上面的解决方案对您有用吗? 您将能够使用共享前缀作为索引模式获得一组可视化,并且可以通过过滤来切换方法。

如果我们允许用户在自动包含的_index字段上使用通配符进行过滤,那么您甚至不需要手动添加额外的字段。

我绝对可以看到批量索引更改对选定的一组已保存对象在一次性情况下的用处。 例如,您创建了所有指向approach-a-*可视化,现在您想将它们指向approach-*

我只是不确定更改索引和过滤索引之间有什么区别(假设索引映射是相同的,它们必须是索引交换才能无缝工作)。 两者都是一种表达“我只想查看这组数据,排除其他所有数据”的方式。 用户已经知道如何在仪表板上过滤他们的数据,但更改索引将是一个具有新 UI 的新概念。 在我们引入新的 UI/UX 之前,我想确保它不会过于复杂或混淆,并且没有已经在使用的东西,我们可以利用它来解决问题。

@Stacey-Gammon 给你https://github.com/ArtemUstynov/kibana_dashboard_manager/blob/master/kibana_manager.py
`

import os
import string
import requests
import json

nativeURL = "http://localhost:5601/es_admin/.kibana/_mget"
HEADERS = {'Content-Type': 'application/json', 'kbn-xsrf': 'true', 'Host': 'localhost:5601',
'Connection': 'keep-alive', 'Accept': 'application/json'}

visURL = "http://localhost:5601/api/saved_objects/visualization?per_page=2000"

vis_list = requests.get(visURL, headers=HEADERS).json()['saved_objects']
oldName = input("Old index name: ")
newName = input("New index name: ")
for vis in vis_list:
    payload = "{\"docs\":[{\"_id\":\"" + vis['id'] + "\" ,\"_type\": \"visualization\"}]}" `'`

    VIS = json.dumps(requests.post(nativeURL, json=json.loads(payload), headers=HEADERS).json())
    VIS = json.dumps(json.loads(VIS)['docs'][0]['_source']).replace(oldName, newName)

    POSTURL = "http://localhost:5601/es_admin/.kibana/visualization/" + vis['id']
    print("ERRORS: " + str(requests.post(POSTURL, json=json.loads(VIS), headers=HEADERS).raise_for_status()))`

好吧,如果我没有正确解释自己,我很抱歉,我们最终谈论了两件不同的事情。 这个脚本几乎完成了我想要的。 我还为“克隆”仪表板制作了一个。 如果有一种本地方法可以做到这一点,那么我很抱歉浪费了您的时间。

@ArtemUstynov

我有问题:
nativeURL = " http://localhost :5601/es_admin/.kibana/_mget"
{"statusCode":404,"error":"未找到"}'

在线:VIS = json.dumps(requests.post(nativeURL, json=json.loads(payload), headers=HEADERS).json())

你能帮助我吗?

谢谢!!!

我通过ssh访问kibana,所以你的url可能不同,你可以找到
转到浏览器并监视网络是什么(右键单击 - >
检查元素 -> 网络)。 然后去kibana管理看看
下载一些东西,它应该会给你你的“本地网址”
响应(它不会被称为“本机网址”),但很容易
发现它,只需将我的网址更改为您的网址即可。

2018 年 3 月 13 日,星期二,晚上 9:17,juancar1979 [email protected]
写道:

@ArtemUstynov https://github.com/artemustynov

我有问题:
nativeURL = " http://localhost :5601/es_admin/.kibana/_mget"
{"statusCode":404,"error":"未找到"}'

在线:VIS = json.dumps(requests.post(nativeURL,
json=json.loads(payload), headers=HEADERS).json())

你能帮助我吗?

谢谢!!!


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/elastic/kibana/issues/3668#issuecomment-372803715
或静音线程
https://github.com/notifications/unsubscribe-auth/Ae1KBmkOB6q1cFJaBnm_s6NXcdv92W86ks5teClUgaJpZM4EHRML
.

谢谢@ArtemUstynov ,但我在任何地方都找不到这个 URL。 你知道我怎么找吗? 非常感谢你!
:)

@juancar1979正如我上面所说 -> 打开你的 kibana -> 转到管理 -> 保存的对象 -> 在浏览器中右键单击 -> 检查元素 -> 网络 ->(如果有明确的东西(交叉圆圈)) -> 现在在 kibana 单击导出所有内容 -> 一些内容将出现在您的网络菜单中 -> 在“名称”列下选择任何字段(例如第一个)-> 将出现“请求 URL”-> 使用它,您将找出您的网址。 也许下载其他东西,这对我来说也不是直接的,但我尽量使它成为一种通用的方法。 还尝试从脚本中打印出中间值,因为出于某种原因控制台 url 并不总是与 ui 匹配。 对不起,但我认为我不能帮助你更多,如果你对弹性服务器等使用一些不寻常的配置,我可以为你调试。 询问设置服务器的人他可能会提供帮助。 祝你好运(你也可以在文本编辑器中导出所有内容并更改索引名称并将其导入回来,但这并不那么酷)

谢谢@ArtemUstynov !!!! 我试着说你!!! 👍

@juancar1979如果您使用任何类型的代理,这可能是它失败的原因。 只需添加标志不要在脚本中使用代理(很容易googleble,我不记得了)

+1。 为什么这个非常基本的要求 3 岁了而且没有受到关注?

@ReanimationXP - 这是我们的雷达。 部分问题是有许多请求集中在这个单一问题中。 我将它们分开以帮助我们更好地确定工作的优先级:

更改可视化上的索引模式: https :
仪表盘级索引模式: https :
改进了导出/导入以包含引用的对象。 然后您可以在单个文件中对索引模式 ID 进行搜索/替换: https :

在考虑之后,我认为最好的方法是关闭这个大问题,希望能够引导社区就子问题向我们提供更具体的反馈。 如果有人强烈反对这条前进的道路,我当然愿意重新考虑,所以请随时发表评论!

重申我刚刚添加到问题顶部的内容:

到目前为止,我们非常感谢您对这个大问题的所有反馈,但我们需要您的帮助,因为我们将其分解为更具体的项目来处理。 即使您已经为此特定问题 +1,如果您可以 +1 并在下面提供的更详细的问题中描述您的用例,那将非常有帮助。 我们不会忽略到目前为止人们在这个问题上提供的所有反馈,但对个别功能建议的更集中的反馈将是无价的。

以下是我认为构成这个大问题的三个子问题:

更改可视化上的索引模式:#17542
仪表盘级索引模式:#16917
改进了导出/导入以包含引用的对象。 然后您可以对单个文件中的索引模式 ID 进行搜索/替换:#16831

仪表板级别的索引模式似乎与这个初始请求最匹配,目前有一个可用的解决方法,在 #16917 中提到。

如果这三个问题未涵盖您的特定情况,请告诉我们!

唯一没有解决的问题是我可以看到有人也想做相反的事情 - 在一个仪表板中监视来自多个站点(假设站点 == 索引)的相同字段,改变搜索的其他部分..即“显示湿度当温度 > 50 时,所有地点的水平。” “好的,现在 > 51。” Splunk 使用可选的仪表板级“全局”用户变量和控件,这些变量和控件注入到每个可视化的搜索字符串(包括索引)中,以解决此问题和索引问题,如我在 #17542 中所述。 我不认为当前的过滤可以跨多个索引处理这样的请求,但我可能是错的。 也就是说,我认为简单地按站点(索引)更改视觉效果显然会更常见。 我怀疑,用于更改索引的简单“全局”下拉列表或跨多个可视化批量更改索引的方法都比当前存在的解决方案更好、更快地实施中间解决方案。

非常有趣的@ReanimationXP。 我认为我们的过滤器可以处理这个问题,至少使用https://github.com/elastic/kibana/issues/16917 中提到的解决方法

这是我的尝试 - 我有两个索引animal-catsanimal-dogs ,我有三个可视化 - 一个只显示猫的声音,一个显示狗的声音,一个显示所有。 我可以添加一个过滤器,它会过滤可视化,即使它们具有来自不同索引的数据:

screen shot 2018-04-11 at 2 51 01 pm
screen shot 2018-04-11 at 2 51 19 pm

差不多吧?

我认为这种解决方法的缺点是您可能不想为每个“站点/索引模式”创建可视化,在这种情况下,我可以看到仪表板面板级别的索引模式是更好的解决方案(尽管那时我们遇到了仪表盘级别索引模式的一些相同问题)。

听起来像您提到的 splunk 那样使用某种搜索/替换变量是否值得研究。 虽然很难融入我们当前的基础设施,但我们需要改变很多东西以使其用户友好,IMO。

我遇到了同样的问题。
我正在使用一些技巧来解决这个问题。

  1. 保存您的可视化。(选中“另存为新的可视化”)
  2. 去管理。 => 保存的对象 => 可视化
    并保存您想要的可视化。
  3. 并删除可视化。
  4. 打开json文件。 并将“kibanaSavedObjectMeta - searchSourceJSON - index uuid”更改为任何 uuid
    我将“5dad88d0-475b-11e8-9a8b-51472dd99c91”更改为“5dad88d0-475b-11e8-9a8b-51472dd99c92”
  5. 去管理。 => 保存的对象 => 可视化
    并导入该 json 文件。
  6. 你可以选择一个新的索引。

祝你好运。

+1

+1

+1

+1

+1

@heris25 ,你能解释一下为什么在第 3 步中删除了可视化吗? 另外,在第 4 步中,能否请您说明在何处找到索引 uuid,我没有看到任何名为 uuid 的内容。 如果您能澄清我需要在 kibanaSavedObjectMeta.searchSourceJSON 中修改哪个字段,我将不胜感激。

{
  "query": {
    "query": "",
    "language": "kuery"
  },
  "filter": [
    {
      "$state": {
        "store": "appState"
      },
      "meta": {
        "alias": null,
        "disabled": false,
        "key": "cloudwatch_logs.log_group",
        "negate": false,
        "params": {
          "query": "/aws/lambda/b2_record_processor"
        },
        "type": "phrase",
        "value": "/aws/lambda/b2_record_processor",
        "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index"
      },
      "query": {
        "match": {
          "cloudwatch_logs.log_group": {
            "query": "/aws/lambda/b2_record_processor",
            "type": "phrase"
          }
        }
      }
    },
    {
      "meta": {
        "alias": null,
        "negate": false,
        "type": "phrase",
        "key": "message",
        "value": "ERROR - RECPROC - PROCESS",
        "params": {
          "query": "ERROR - RECPROC - PROCESS"
        },
        "disabled": false,
        "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index"
      },
      "query": {
        "match": {
          "message": {
            "query": "ERROR - RECPROC - PROCESS",
            "type": "phrase"
          }
        }
      },
      "$state": {
        "store": "appState"
      }
    }
  ],
  "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index"
}
此页面是否有帮助?
0 / 5 - 0 等级