此系列文章将会描述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 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。
可视化大盘
创建索引
Management -> Index Pattern -> Create Index Pattern
推荐索引为
%{[@metadata][index_prefix]}-*
,详见微服务框架(十三)Spring Boot Logstash日志采集
请求总量
Metric -> Count
日志级别情况
Metric -> Count
Buckets -> Spilt Slices{Aggregation: Terms, Field: level.keyword, Order By:metric:Count, Order: Descending, Size:10}
访问情况
Metric -> Y-Axis{Aggregation: Count}
Buckets -> X-Axis{Aggregation: Date Histogram, Field: @timestamp, Interval: Auto}
响应时间情况
Metric -> Y-Axis{Aggregation: Average, Field: resp_time_ms}
Buckets -> X-Axis{Aggregation: Date Histogram, Field: @timestamp, Interval: Auto}
Timelion
Timelion是一个时间序列数据可视化工具,使您能够在单个可视化中组合完全独立的数据源。它由一种简单的表达式语言驱动,用于检索时间序列数据,执行计算以梳理复杂问题的答案,并可视化结果。
环比折线图
索引的请求数量环比折线图(今日、昨天、一个月前)
.es(index=prod-*,timefield=@timestamp,metric=count,fit=average).label("current day").lines(fill=1,width=2),
.es(index=prod-*,timefield=@timestamp,metric=count,offset=-1d,fit=average).label("last day").lines(width=2).legend(columns=3, position=nw),
.es(index=prod-*,timefield=@timestamp,metric=count,offset=-1M,fit=average).label("last month").lines(width=2).color(gray).legend(columns=3, position=nw)
参考资料:
1.Timelion
2.Timelion入门