帮酷LOGO
  • 显示原文与译文双语对照的内容
A Kibana plugin for displaying objects and arrays of objects.

  • 源代码名称:kibana-object-format
  • 源代码网址:http://www.github.com/istresearch/kibana-object-format
  • kibana-object-format源代码文档
  • kibana-object-format源代码下载
  • Git URL:
    git://www.github.com/istresearch/kibana-object-format.git
  • Git Clone代码到本地:
    git clone http://www.github.com/istresearch/kibana-object-format
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/istresearch/kibana-object-format
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • kibana_object_format

    这个Kibana插件允许你为 Discover tab中的对象数组和仪表板中的Search tables配置字段格式化程序。

    Screenshot

    特性

    • Kibana 6.x 和 5.x 兼容
    • 为对象和对象数组启用字段格式设置
    • 包含通用对象字段格式化程序,以满足以下大多数需要:
      • 点击突出显示
      • 单元格单击筛选
      • 支持文本,超链接和图像

    工作原理

    Kibana长期需要一个好方法来显示在"发现"选项卡中的对象数组。 从Kibana得到的是数据的json字符串表示和警告 icon 状态,即"数组中的对象不受支持"。 这个原因是Elasticsearch不会在索引映射中注意或者存储你的字段是对象的array 。 索引映射是数据的展平视图。

    查看索引模式选项卡上的字段列表也显示了这一点。 可以找到对象的所有具体值的条目,但不包含包含对象的条目。 这里插件允许你在字段列表中创建合成条目。 在列表中显示了要显示的路径的条目后,可以以将任何字段格式化程序应用于该路径。

    命令行指令

    安装插件后的官方文档文件的

    将索引 Pattern 配置为包含附加的field(s) 。

    插件将一个新属性添加到高级设置表名为 fieldMapperHack:fields table 。 值是一个JSON对象,它定义每个索引 Pattern 中包含和排除列表。 include和排除列表值可以是 正规表达式,并且应包括第一个,然后排除第。

    如果索引 Pattern 键为'*',则该条目将用作未定义特定项的所有索引模式的默认值。 除了下面的示例JSON之外,所有索引模式都被忽略,只是一个名为的名称为。 对于这个索引 Pattern,我们将字段条目注入到位于 my.field的字段的列表中。

    索引 Pattern的ID必须在配置中使用,而不是显示名称。

     {
     "index_pattern":{
     "*":{
     "include":[
     ],
     "exclude":[
     ".*" ]
     },
     "my_index_pattern":{
     "include":[
     "my.field" ]
     }
     }
     }

    刷新索引 Pattern的字段列表。

    为新字段项选择字段格式化程序 !

    示例

    格式化基本对象

    数据示例:

    {
     "book": {
     "author": "John Jenkins",
     "title": "Building Code" }
    }

    索引映射:

    {
     "my_index": {
     "mappings": {
     "doc": {
     "properties": {
     "book": {
     "properties": {
     "author": {
     "type": "text",
     "fields": {
     "keyword": {
     "type": "keyword",
     "ignore_above": 256 }
     }
     },
     "title": {
     "type": "text",
     "fields": {
     "keyword": {
     "type": "keyword",
     "ignore_above": 256 }
     }
     }
     }
     }
     }
     }
     }
     }
    }

    在 discover 索引中索引上述文档将在发现选项卡中产生以下内容。

    在 trivial trivial中,我们可以在 discover discover中将整个 book作为单个项目显示,并选择其中的哪个字段包含 include 。 为此,必须通过编辑收费的高级配置,将字段插入字段列表中,以包括我们的索引映射和字段,如下所见。

    {
     "index_pattern":{
     "*":{
     "include":[
     ],
     "exclude":[
     ".*" ]
     },
     "my_index":{
     "include":[
     "book" ]
     }
     }
    }

    接下来,我们必须在索引的字段列表中刷新 。 这将为 book对象添加一个新的字段条目。 由于这个新字段,Discover选项卡将更改前两个字段的演示,并且只将book字段显示为json对象。

    在发现选项卡中看到的book对象作为JSON并不完全是理想的结果。 但是它演示了这个插件用来合成字段条目的基本行为,这样我们就可以应用一个字段格式化程序。

    让我们返回 my_index 索引 Pattern 字段列表,并将对象字段格式化程序应用到它。 然后让我们配置格式化程序,以便得到对象的一个很好的非json视图。

    现在让我们回到 Discover tab并查看结果。

    这个特殊例子的有用性很低,超越了配置的基本步骤。 接下来让我们看一个更高级的场景。

    格式化对象的array

    数据示例:

    {
     "new_releases":[
     {
     "author":"Yoon Ha Lee",
     "title":"Raven Stratagem",
     "cover_art":"https://images-na.ssl-images-amazon.com/images/I/51jo1k%2BX00L._SY160_.jpg" },
     {
     "author":"Cixin Liu, Ken Liu",
     "title":"The Three-Body Problem",
     "cover_art":"https://images-na.ssl-images-amazon.com/images/I/51ZEDZNEs1L._SY160_.jpg" },
     {
     "author":"Rachel Caine",
     "title":"Stillhouse Lake",
     "cover_art":"https://images-na.ssl-images-amazon.com/images/I/41leYSjxbyL._SY160_.jpg" }
     ]
    }

    索引映射:

    {
     "my_index": {
     "mappings": {
     "doc": {
     "properties": {
     "new_releases": {
     "properties": {
     "author": {
     "type": "text",
     "fields": {
     "keyword": {
     "type": "keyword",
     "ignore_above": 256 }
     }
     },
     "cover_art": {
     "type": "text",
     "fields": {
     "keyword": {
     "type": "keyword",
     "ignore_above": 256 }
     }
     },
     "title": {
     "type": "text",
     "fields": {
     "keyword": {
     "type": "keyword",
     "ignore_above": 256 }
     }
     }
     }
     }
     }
     }
     }
     }
    }

    在 discover 索引中索引上述文档将在发现选项卡中产生以下内容。

    现在,编辑 fieldMapperHack:fields 高级配置:

    {
     "index_pattern":{
     "*":{
     "include":[
     ],
     "exclude":[
     ".*" ]
     },
     "my_index":{
     "include":[
     "new_releases" ]
     }
     }
    }

    接下来,我们必须在索引 Pattern 字段列表刷新,并将对象字段格式化程序应用到新的new_releases字段 formatter 。

    现在让我们回到 Discover tab并查看结果。

    插件开发

    请参阅 kibana提供指导指南,了解你的开发环境。 完成上述任务后,请使用下列任务。

    • yarn start

      启动kibana并让它包含这个插件。

    • yarn build

      构建可以分发的归档文件。




    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语