我已经创建了一整套可视化。由于某些原因,我必须在弹性中删除该索引。我们需要创建一个新的索引模式。问题是删除索引后可视化无效。我将不得不一个接一个地重新创造它。 有没有办法可以去编辑可视化,只修改索引模式,而不是自己创建一个新的可视化。
答案 0 :(得分:18)
转到设置 - >对象 - >可视化,您可以手动编辑定义。
答案 1 :(得分:1)
首先让我们讨论一下 为什么,整个问题即将到来。
我的环境是: Kibana v7.0.1 / 7 +
如果您创建了一个 Index-Pattern (使用Kibana的GUI /网站)而不是使用ELK / Kibana的 Saved Objects REST-API创建了相同的索引,则会出现此问题。例如:使用Curl或某些Python / Groovy脚本调用其余api来创建索引模式。
使用GUI创建索引模式时,基本上
STEP 1 :只需输入索引名称,然后
步骤2: 一个非常重要的字段,称为:时间过滤器字段名称(又名“ timeFieldName ”)用于生成/处理索引数据中可用的“事件” (数据存在于您为模式所获得的 匹配 Elasticsearch索引中在 STEP 1 中提供)。
示例::如果您在Kibana中创建名称为 jira-* 的索引模式,则它将在Elasticsearch中查找索引开始的任何可用索引与 jira-(例如: jira-dev,jira-prod,.. jira-demo ,.. etc)
无论如何,一旦通过GUI完成此操作,我们就不能或不允许指定的是INDEX-PATTERN的 ID 值(这是非常重要且直接相关的 >转到问题)。
在Kibana的GUI中创建索引模式时,ELK进程会将随机/唯一索引模式 ID 值分配给您创建的新创建的索引模式。
/
后的最后一个值)。下一步,创建可视化(在其中绑定要使用的索引模式),然后将可视化添加到仪表板。
很酷:比如说,有一天您不小心删除了此索引模式(即Kibana中的* jira-**)或索引本身(Elasticsearch索引即 jira-dev )。 / p>
在情况中:您最终只删除了索引(在Elasticsearch中),则可以使用相同的索引 name jira再次重新创建索引和现有的 index-pattern 即 jira-* 可以轻松选择新创建的Elasticsearch索引(您可能需要单击刷新按钮)。>
在案例中:您很幸运地删除了索引模式(此处为 jira-* ),然后删除了 magical / hidden / auto-generate long免费生成的字母数字索引 ID (将被删除),可视化和仪表板(使用这种可视化)栏以及您的经理肯定会哭泣寻求紧急帮助!>
一种解决方法是:重新创建索引模式* jira- 。找到它的ID(您可以在index-pattern上使用Saved Object的GET rest api来获取此值),然后单击Gear button > under Saved Objects > search your visulization
并在** references JSON部分中查看ID
值并进行更改(已删除的* jira-**索引的旧字母数字值,以及新创建的索引模式的新 ID 值。这可以助您一臂之力。
现在,如何如何避免所有这 MESS :如果您是使用Kibana的创建了索引模式保存的对象 REST API 然后,它允许,您提供 ID 值(其余的最后一个值, /
之后的api URL)这是人类可读的字符串名称,这是含义:如果您删除/丢失了索引模式 em>和如果重新创建相同的索引模式,那么您将从不不必担心这些长的自动生成的字母数字 Kibana GUI在后台创建的> ID 值,您无需在Visualizations / Dashbaord中进行任何更改。
示例:如何在Kibana(v7.0.1 / 7+)中创建索引模式是:
(venvPython375) [gigauser@ip-11.22.33.44 myfolder]$ curl -X POST -u $user:$pass -H "Content-Type: application/json" -H "kbn-xsrf:true" "${KIBANA_URL}/api/saved_objects/index-pattern/jira-index" -d '{ "attributes": { "title":"jira-*","timeFieldName":"sprint_start_date"}}' -w "\n"|jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 327 100 250 100 77 543 167 --:--:-- --:--:-- --:--:-- 543
{
"type": "index-pattern",
"id": "jira-index",
"attributes": {
"title": "jira-*",
"timeFieldName": "start_of_work"
},
"references": [],
"migrationVersion": {
"index-pattern": "6.5.0"
},
"updated_at": "2020-02-25T22:56:44.531Z",
"version": "Wzg5NCwxNV0="
}
注意:"id": "jira-index",
这很重要,它是您刚创建的索引的人可读( ID )值。
您基本上通过名称(请参阅TITLE值)即 jira-* 创建了索引模式,其 ID 值为:jira-index(人类可读),此ID值更易于维护,记忆和在GET
操作中使用! (现在,您不必记住在Kibana的GUI /网页中创建索引模式时获得的长动态生成的ID)。
要查看索引模式,现在您可以使用人类可读的ID值来查看它,而不是一些长的字母数字ID。
curl -X GET "${KIBANA_URL}/api/saved_objects/index-pattern/jira-index" | jq
现在,如果您创建一个新的可视化文件并使用“ jira- ”作为索引模式,并且曾经删除该索引模式,则使用 title重新创建相同的jira-模式/ name 作为“ jira-* ”将始终保留“ jira-index”作为其 ID (因为您的可视化使用的是HUMAN可读ID,并且是在意外删除/重新创建之后创建的),您将永远不会丢失数据,也永远不必删除或重新创建可视化/仪表板!
有关索引样式(如何获取人类可读的索引样式ID)的信息,请参见此处:https://stackoverflow.com/a/60404691/1499296
答案 2 :(得分:0)
从Kibana 4.3.1开始,对于某些可视化,您必须转到设置 - >对象 - >搜索。