来自多个弹性搜索索引的 Kibana 可视化

Posted

技术标签:

【中文标题】来自多个弹性搜索索引的 Kibana 可视化【英文标题】:Kibana Visualization from multiple Elastic Search Indexes 【发布时间】:2021-10-16 03:46:23 【问题描述】:

我需要查找客户注册的移动应用程序的数量。弹性搜索索引设计如下(移动应用在一个索引中,客户在一个索引中,两者之间的关联在第三个索引中)。当我为这 3 个索引一起创建 Kibana 索引模式时,它没有提供有意义/有效的字段集来查询它们。

mobile_users


"_index": "mobile_users",
"_type": "_doc",
"_id": "mobileuser_id1",
"_score": 1,
"_source": 
  "userid": "mobileuser_id1",
  "name": "jack",
  "username": "jtest",
  "identifiers": [ ],
  "contactEmails": [ ],
  "creationDate": "2020-09-29 09:18:36 GMT",
  "lastUpdated": 1601371117354,
  "isSuspended": false,
  "authStrategyIds": [ ],
  "subscription": false
  

mobile_applications


"_index": "mobile_applications",
"_type": "_doc",
"_id": "mobileapp_id1",
"_source": 
"appDefinition": 
"info": 
"version": "1.0",
"title": "TEST.MobileAPP"
,
"AppDisplayName": "TEST.MobileAPP1.0",
"appName": "TEST.MobileAPP",
"appVersion": "1.0",
"maturityState": "Test",
"isActive": false,
"owner": "mobileappowner",
"creationDate": "2020-09-24 11:21:44 GMT",
"lastModified": "2020-10-13 11:58:22 GMT",
"id": "mobileapp_id1"

registered_mobile_applications


"_index": "registered_mobile_applications",
"_type": "_doc",
"_id": "mobileuser_id1",
"_version": 1,
"_score": 1,
"_source": 
"applicationId": "mobileuser_id1",
"mobileappIds": [
"mobileapp_id1", "mobileapp_id2"
],
"lastUpdated": 1601371117929


您能否告知是否有任何方法可以获取给定客户的注册申请数量?

【问题讨论】:

【参考方案1】:

这是 Elasticsearch,不是 Elastic Search :)

鉴于您的每个文档结构都截然不同,因此您无法从单个索引模式中获得太多意义也就不足为奇了

但是,在 Kibana 中,无法对文档中的数组值进行原生计数。您可以创建一个应该执行此操作的脚本字段,或者在摄取期间将其添加为单独的字段

【讨论】:

以上是关于来自多个弹性搜索索引的 Kibana 可视化的主要内容,如果未能解决你的问题,请参考以下文章

基于弹性堆栈(ELK堆栈)的日志分析存储及展示

架构师成长之路-docker 搭建kibana可视化平台操作es索引

一图看懂如何使用kibana

ELK总结——第四篇Kibana的简介

ElasticsearchFluentd与Kibana:开源的日志搜索与可视化方案

Kibana:在表格可视化中加入两个文档