需求说明
首先这是一个表格,数据源使用的是elasticsearch,这里统计的数据来源是nginx的请求日志,目的是统计出一段时间内接口的平均请求时间,最大请求时间,最小请求时间,然后按照url进行聚合,并统计出top10的数据,如下所示:
表格出来后,然后点击统计出来的top10的url进行跳转,跳转到一个关于对应url的详细请求趋势图,如下图所示:
需求是大概这么个需求,下面是具体的操作方法。
详细示例
添加Elasticsearch数据源
我的es索引格式是:nginx-aggregation-log-20210125
这种格式,所以在配置Elasticsearch数据源时需要如下设置:
注意:index name: [nginx-aggregation-log-]YYYYMMDD
创建一个dashboard和panel
配置查询语句
然后给表的表头改一个名字,改成我们想要的名称
配置一个变量
查询语句理论上来说随便设置一个就行,因为我们不是通过选择url来进行动态出图,也可以写一个查询语句
{"find":"terms","field":"url","size":10,"query":"http_host:\"xx.xxxxom\" OR http_host:\"xxx.xxxxxx.com\""}
设置这个变量就是后面要传递的,通过这个变量,动态画出一个请求图
添加详细请求地址趋势图
这次添加的是一个曲线图,查询语句也简单很多,如下所示:
有时候我们需要在图的下方显示具体的URL,那么就可以这样设置
到这里这个图就建好了,下面的操作就不需要它了,下面我们再次配置我们的那个表
给图表添加一个links
通过Overrides
中的Fields with name
来选择我们的一个表头
说明下,url
就是表格中的第一列中的url的名称,而添加的链接实际上是刚才添加的详细请求图中的dashboard所在的地址
当我们输入$
的时候会自动弹出一个可用的变量列表,如下所示:
设置好,点击保存,就可以了,哈哈哈,效果图如下:
注意:
如果点击链接打开的图是和源图在一个dashboard中时,只需要设置一个变量就可以了,如果不在一个dashboard中时,需要把两个dashboard都设置好变量,且变量名设置成一样的。
欢迎各位朋友关注我的公众号,来一起学习进步哦
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。