我可以在Kibana中更改可视化的索引模式吗?

时间:2015-04-03 06:47:16

标签: java elasticsearch kibana kibana-4

我已经创建了一整套可视化。由于某些原因,我必须在弹性中删除该索引。我们需要创建一个新的索引模式。问题是删除索引后可视化无效。我将不得不一个接一个地重新创造它。 有没有办法可以去编辑可视化,只修改索引模式,而不是自己创建一个新的可视化。

3 个答案:

答案 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)

enter image description here

无论如何,一旦通过GUI完成此操作,我们就不能或不允许指定的是INDEX-PATTERN的 ID 值(这是非常重要且直接相关的 >转到问题)。

在Kibana的GUI中创建索引模式时,ELK进程会将随机/唯一索引模式 ID 值分配给您创建的新创建的索引模式。

  1. 如果您将鼠标悬停在GUI上的索引模式上(在以下位置,可以看到该索引模式的ID:在Gear键>索引模式下>悬停在索引模式上,然后在状态栏中查看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开始,对于某些可视化,您必须转到设置 - >对象 - >搜索