如何通过ELK统计一段时间内接口被调用次数及平均响应时间

Posted 格子衫111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过ELK统计一段时间内接口被调用次数及平均响应时间相关的知识,希望对你有一定的参考价值。

ELK,全名是: Elasticsearch,有了它,我们可以很方便地进行日志查询。
那么,假如想要统计某个服务的接口在某段时间内的被调用次数平均响应时间,类似于下面的效果:

那应该怎么做呢?
步骤如下,

1、打开ELK地址,找到Dev Tools

2、点击Dev Tools,输入执行内容

GET /xxx/_search

  "query": 
    "bool": 
      "filter": [
        
          "range": 
            "@timestamp": 
              "from": "1668009600000",
              "to": "1668095999000",
              "include_lower": true,
              "include_upper": true
            
          
        ,
        
          "exists": 
            "field": "response_time"
          
        
      ]
    
  ,
  "aggs": 
    "group_by_uri": 
      "terms": 
        "field": "uri",
        "size": 50,
        "order": 
          "avg_length": "asc"
        
      ,
      "aggs": 
        "avg_length": 
          "avg": 
            "field": "response_time"
          
        
      
    
  ,
  "size": 0

说明:

注意:
1)需要修改统计时间,你想统计一天就统计一天,想统计一周就一周;
2)需要按需求修改服务名,服务名和日志搜索时的服务相同

3、运行Dev Tools内容

这样,就得到想要的结果啦,将对应接口的统计情况写到表格中即可

以上是关于如何通过ELK统计一段时间内接口被调用次数及平均响应时间的主要内容,如果未能解决你的问题,请参考以下文章

redis统计服务平均耗时

JavaScript 如何统计一段时间内鼠标点击次数

基于 kafka,zabbix 构建应用统计数据收集展示系统

接口调用限制次数

java 怎样实现记录一段时间内(如一个月)发生的事件,并且对其分类并统计次数?用链表吗 具体如何实现?

统计接口QPS