天天看点

微服务框架(二十五)Kibana 可视化图表及 Timelion 插件

此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。

本文为Kibana 可视化图表及 Timelion 插件使用

本系列文章中所使用的框架版本为Spring Boot 2.0.3-RELEASE,Spring 5.0.7-RELEASE,Dubbo 2.6.2。

Kibana 图表

Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。

Spring Boot Logstash日志采集

可视化大盘

微服务框架(二十五)Kibana 可视化图表及 Timelion 插件

创建索引

Management -> Index Pattern -> Create Index Pattern

推荐索引为

%{[@metadata][index_prefix]}-*

,详见微服务框架(十三)Spring Boot Logstash日志采集

请求总量

Metric -> Count

微服务框架(二十五)Kibana 可视化图表及 Timelion 插件

日志级别情况

Metric -> Count

Buckets -> Spilt Slices{Aggregation: Terms, Field: level.keyword, Order By:metric:Count, Order: Descending, Size:10}

微服务框架(二十五)Kibana 可视化图表及 Timelion 插件

访问情况

Metric -> Y-Axis{Aggregation: Count}

Buckets -> X-Axis{Aggregation: Date Histogram, Field: @timestamp, Interval: Auto}

微服务框架(二十五)Kibana 可视化图表及 Timelion 插件

响应时间情况

Metric -> Y-Axis{Aggregation: Average, Field: resp_time_ms}

Buckets -> X-Axis{Aggregation: Date Histogram, Field: @timestamp, Interval: Auto}

微服务框架(二十五)Kibana 可视化图表及 Timelion 插件

Timelion

Timelion是一个时间序列数据可视化工具,使您能够在单个可视化中组合完全独立的数据源。它由一种简单的表达式语言驱动,用于检索时间序列数据,执行计算以梳理复杂问题的答案,并可视化结果。

Timelion基本表达式

环比折线图

索引的请求数量环比折线图(今日、昨天、一个月前)

.es(index=prod-*,[email protected],metric=count,fit=average).label("current day").lines(fill=1,width=2),
.es(index=prod-*,[email protected],metric=count,offset=-1d,fit=average).label("last day").lines(width=2).legend(columns=3, position=nw),
.es(index=prod-*,[email protected],metric=count,offset=-1M,fit=average).label("last month").lines(width=2).color(gray).legend(columns=3, position=nw)
           
微服务框架(二十五)Kibana 可视化图表及 Timelion 插件

参考资料:

  1. Timelion
  2. Timelion入门