ELK实践-Kibana定制化扩展

    纵观任何一家大数据平台的技术架构,总少不了ElasticSearch;ES做为溶合了后端存储、快速检索、OLAP分析等功能的一套开源组件,更绝的是提供了一套集数据采集与前端展示为一体的框架(即ELK), 在咱们的应用过程当中,与ES集成的前端框架包含有Kibana、Grafana等系统,实际应用过程当中,以Kibana框架为例,从系统易用性方面进行了一些定制扩展,具体扩展功能总结以下:前端

一、Kibana框架汉化后端


  • kibana 没有支持多语言的语言包,在正式系统使用时,须要汉化,以下图:

二、身份及数据权限集成前端框架


  • 咱们的大数据平台里面,使用了多种开源的前端框架来知足不一样的应用,经过扩展开发一套通用的组件来实现各类开源框架与大数据平台的集成,包含与大数据平台系统的身份集成、数据权限集成、路由均衡等功能,示意图以下:
  • 框架集成后示意效果图以下:

二、高级过滤扩展架构


  • Kibana原生提供的搜索方式在须要多条件组合精确查询的状况下,比较难用,而且须要使用者对Query语法很是熟悉,提升了使用门槛,为了解决此问题,咱们扩展了公共的高级过滤组件与Kibana集成(5.6之后的Kibana也带着了过滤,但使用起来仍是不方便),以下图:

  主要特性以下:框架

  • 支持索引上的任何字段进行匹配检索条件定义
  • 根据索引字段类型不一样,可选择的比较符不同,例如:数字类型支持 >、>=、=、<、<= 等, 对于Text 或 KeyWord 类型支持:等于、包含操做。
  • 支持 与、或、非的条件定义组合(有点太专业、有更好的名字建议没?)
  • 当索引上的字段过多,选择字段名比较麻烦,所以支持智能定位选择,如上图。
  • 定义条件的过程当中,比较值支持手工输入、智能帮助(如:若是字段是日期类型,比较值支持弹出日期选择。若是字段是关联类型,好比:城市,比较值支持配置弹出帮助选择等)
  • 支持新增、复制条件组合、删除、禁用某行定义的条件。

 定义好过滤条件,在使用的过程当中,当前组合的查询条件会以标签的形式展示在列表顶端,以下图红框:大数据

  • 为了方便在使用的过程当中快速禁用或删除组合条件的某一项,支持在标签上直接删除或禁用该条件,以下图:当mouse悬浮在标签上时,用户可选择禁用或删除操做。

三、查询方案编码


扩展后的方案按索引进行拆分(即只显示该索引下的方案),分为公共方案(开发人员预制)与私有方案(运行时、用户调整查询格式及查询条件后保存的方案),以下图:spa

  • 公用方案不容许修改或编辑,在与咱们的框架集成后,用户运行时在公用方案基础上调整后的保存的方案自动会保存至私有方案分类,容许当前用户删除本身保存的方案,以下图:

每套方案里面包含的内容3d

  • 查询条件、时间范围
  • 显示的数据列、每页数据条数、列顺序、表头是否固定等配置。

四、页面显示数据条数blog


  • 将每页显示数据条数暴露在前端页面,容许用户在查询时修改当前页面展示数据量大小
  • 后端配置界面进行扩展,容许开发人员配置条数枚举项,以下图:
  •  
  • 运行效果:
  • 注意:ES 索引 在查询时默认返回最大的数据条数是10000,如上图,当设置每页的条数超过10000时,须要修改ES索引的最大返回数据条数参数。

五、数据导出


  • 主要是将查询结果导出为Excel文件,扩展的导出功能包含前端导出和后台导出两类。
  • 前端导出:指快速导出当前页面显示的内容(通常指10000之内的小数据量)、后端导出指根据当前页面设置的条件、列显示顺序从后端将知足条件的数据导出为Excel(适用于超出 10000条大数据量导出),以下图:

六、时序图隐藏与显示


  • Kibana在运行时显示的时候,默认在顶部带着按时序的柱状统计图, 在有些场景的列表查询中,并不须要这块图形的显示,经过扩展,能够在后台配置,以下图:
  • 运行效果:见上面的一些图,都是没带着柱状统计图的。

七、菜单自定义配置


  • 右上角的菜单容许用户自定义进行配置,以下图:
  • 运行效果:
  • 统计分析菜单说明:将该索引定义的Visualize方案经过配置的方式挂在统计分析菜单下,实现列表与图表结合更直观探索数据价值。

八、列选择智能检索


  • 当索引的列达到几十甚至上百个列时,以下图,在设置显示列时查找很是不方便,扩展一种快速检索选择的方法

九、显示列中文别名设置


  • 扩展容许配置列显示别名,以下图:

十、数据权限控制


  • 数据权限:指不一样的用户能看到的数据范围不同,这里主要指与各自业务系统的权限集成。

十一、表头固定


  • 扩展经过设置如图红框内的锁图标,设置滚动翻页查看数据时,表头标题行是否固定。

十二、变量解析


  • 设置列联查,在联查的地址中须要获取当前行数据的其它字段做为联查地址的参数,扩展以下图参数定义及解析
  • 运行效果:

 在扩展完善的过程当中,后续会持续更新该文档,有了这些扩展的功能点,再开发一套报表是否是零编码的秒开呢?

相关文章
相关标签/搜索