精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SpringBoot自帶Controller接口監控,趕緊用起來

開發 前端
在SpringBoot中我們可通過Actuator來實現對Http接口進行監控記錄,接下來我們通過實操來演示如何通過Actuator來監控記錄我們的即可。

環境:SpringBoot2.7.18

1. 簡介

項目中監控記錄接口請求的相關信息是一個至關重要的環節,它對于提升系統穩定性、優化性能、快速定位問題以及保障數據安全等方面都起著至關重要的作用。大致可概況如下幾方面:

問題追蹤與定位:當系統出現錯誤或異常時,通過查看接口調用的請求信息,可以快速定位問題發生的源頭。比如,通過查看請求參數、響應狀態碼、執行時間等

性能優化:監控接口請求的處理時間、響應時間性能指標,可以幫助開發團隊了解系統的瓶頸所在,從而進行相應的優化。

用戶行為分析:通過記錄用戶的請求信息,包括請求頻率、請求時間、請求參數等,可以對用戶行為進行分析,了解用戶的使用習慣和需求,從而優化產品功能和用戶體驗。

安全審計:記錄接口請求信息也是安全審計的一部分。通過監控和分析請求數據,可以發現潛在的安全威脅,如惡意請求、SQL注入、跨站腳本攻擊等

在SpringBoot中我們可通過Actuator來實現對Http接口進行監控記錄,接下來我們通過實操來演示如何通過Actuator來監控記錄我們的即可。

2. 實戰案例

2.1 引入依賴&配置

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

要使用Actuator的http接口監控功能,你還需要注冊一個HttpTraceRepository類型的Bean,Actuator默認提供的是基于內存的實現

@Configuration
public class HttpActuatorConfig {
  
  @Bean
  InMemoryHttpTraceRepository inMemoryHttpTraceRepository() {
    return new InMemoryHttpTraceRepository() ;
  }
}

默認情況下,Actuator只開啟了health接口(健康檢查),我們還需要手動開啟httptrace接口。

management:
  endpoints:
    web:
      exposure:
        include: httptrace

以上配置后,可以通過/actuator接口查看是否開啟了httptrace接口

成功開啟成功開啟

2.2 測試接口

編寫幾個測試用的接口

@RestController
@RequestMapping("/users")
public class UserController {
  
  private static List<User> DATAS = new ArrayList<>() ;
  static {
    DATAS.add(new User(1L, "張三", 22)) ;
    DATAS.add(new User(2L, "李四", 32)) ;
    DATAS.add(new User(3L, "王五", 33)) ;
    DATAS.add(new User(4L, "趙六", 26)) ;
    DATAS.add(new User(5L, "田七", 29)) ;
    DATAS.add(new User(6L, "嘿哈", 44)) ;
  }


  @PostMapping("")
  public ResponseEntity<Void> save(@RequestBody User user) {
    DATAS.add(user) ;
    return ResponseEntity.created(URI.create(String.format("/users/%s", user.getId()))).build() ;
  }
  @DeleteMapping("/{id}")
  public ResponseEntity<Void> delete(@PathVariable("id") Long id) {
    DATAS.removeIf(user -> user.getId() == id) ;
    return ResponseEntity.noContent().build() ;
  }
  @PutMapping("")
  public ResponseEntity<Void> update(@RequestBody User user) {
    DATAS.stream()
      .filter(u -> u.getId() == user.getId())
      .findFirst()
      .ifPresent(u -> {
        u.setAge(user.getAge()) ;
        u.setName(u.getName()) ;
      });
    return ResponseEntity.noContent().build() ;
  }
  @GetMapping("")
  public ResponseEntity<List<User>> list() {
    return ResponseEntity.ok(DATAS) ;
  }
  @GetMapping("/{id}")
  public ResponseEntity<User> get(@PathVariable("id") Long id) {
    return ResponseEntity.ok(DATAS.stream()
            .filter(u -> u.getId() == id)
            .findFirst().orElse(null)
          ) ;
  }
  // 測試異常情況
  @GetMapping("/exception")
  public ResponseEntity<Void> exce() {
    System.out.println(1 / 0) ;
    return ResponseEntity.noContent().build() ;
  }
}

為了簡單,上面操作都是基于內存數據進行。包括了CRUD及異常情況。

2.3 記錄接口訪問情況

訪問上面定義的任意接口之后通過/actuator/httptrace接口查看訪問情況

圖片圖片

每個接口會詳細的記錄請求的URL,header,響應狀態碼及header信息。上圖中的timeTaken屬性記錄的是該接口請求的耗時情況(單位:毫秒)。

通過以上的示例演示,使用Actuator監控接口還是非常簡單的,你只需要做簡單的配置即可,接下來繼續介紹更多的配置及使用。

2.4 自定義記錄信息

要自定義記錄的信息,可以通過如下配置

management:
  trace:
    http:
      include:
      - time-taken
      - response-headers

注:在SpringBoot3以上的版本這里的配置發生了變化使用的是如下配置:

management:
  httpexchanges:
    recording:
      include:
      - time-taken

通過上面的配置后,再次訪問接口

圖片圖片

此時,將不再包含請求headers。還支持如下的配置:

圖片圖片

2.5 手動獲取請求響應信息

在項目中你可以通過 HttpTraceRepository 獲取所有請求中的請求-響應交換信息。如下示例,獲取所有錯誤的請求(狀態碼為500)。

private final HttpTraceRepository httpTraceRepository ;
public HttpController(HttpTraceRepository httpTraceRepository) {
  this.httpTraceRepository = httpTraceRepository ;
}


@GetMapping("/{status}")
public Object info(@PathVariable("status") Integer status) {
  return httpTraceRepository.findAll()
          .stream()
          .filter(trace -> trace.getResponse().getStatus() == status)
          .collect(Collectors.toList()) ;
}

通過上面的接口,我們可以過濾指定狀態碼的請求信息。

2.6 自定義存儲方式

InMemoryHttpExchangeRepository,默認情況下,它會存儲最近 100 次請求-響應信息,并且是內存級的。所以如果你需要在生產環境下使用還是建議你自定義HttpTraceRepository實現,將信息存入到Redis或者是ES中。如下存入Redis示例

@Component
public class PackHttpTraceRepository implements HttpTraceRepository {


  private static final String HTTP_TRACE_KEY = "http_request_response" ;
  
  private final StringRedisTemplate stringRedisTemplate ;
  public PackHttpTraceRepository(StringRedisTemplate stringRedisTemplate) {
    this.stringRedisTemplate = stringRedisTemplate ;
  }
  
  @Override
  public List<HttpTrace> findAll() {
    return this.stringRedisTemplate.opsForList().range(HTTP_TRACE_KEY, 0, -1).stream().map(json -> {
      try {
        return objectMapper.readValue(json, HttpTrace.class);
      }
    }).collect(Collectors.toList()) ;
  }


  @Override
  public void add(HttpTrace trace) {
    String json = null ;
    try {
      json = objectMapper.writeValueAsString(trace) ;
    }
    this.stringRedisTemplate.opsForList().leftPush(HTTP_TRACE_KEY, json) ;
  }
}

這樣我們就可以持久化存儲數據了,你還可以根據當前日期來進行存儲。

責任編輯:武曉燕 來源: Spring全家桶實戰案例源碼
相關推薦

2024-09-05 09:38:55

SpringActuator應用程序

2021-01-29 17:40:00

Flyme安卓手機安全

2021-06-30 09:20:18

NuShell工具Linux

2020-08-25 08:00:18

Python開發數據庫

2024-08-12 12:20:49

Controller接口性能

2021-03-10 09:54:43

RustNuShell系統

2019-08-08 16:12:33

2022-05-22 21:16:46

TypeScriptOmit 工具

2012-07-11 09:34:39

微軟云計算

2025-11-10 09:04:55

2021-09-18 08:52:45

人工智能

2024-05-21 10:28:51

API設計架構

2022-01-26 07:42:13

SpringBoot性能系統

2024-06-13 08:19:08

Controller接口參數

2020-07-06 15:13:16

安卓AirDrop無線傳輸

2022-12-27 17:56:40

ack機制RocketMQ

2021-04-18 07:18:31

Chrome

2021-09-29 07:13:12

編程 Python Merge

2020-01-06 15:00:43

Linux電腦發行版

2021-10-29 11:25:41

代碼編程語言Java
點贊
收藏

51CTO技術棧公眾號

狠狠做深爱婷婷综合一区| 毛片免费看不卡网站| 国产成人一区二区精品非洲| 国语自产精品视频在免费| 在线观看国产免费视频| 暖暖成人免费视频| 亚洲蜜桃精久久久久久久| 精品视频高清无人区区二区三区| 国产情侣免费视频| 欧美日韩亚洲一区三区| 亚洲欧美在线播放| 中文国产在线观看| xxxxx性欧美特大| 亚洲欧美色图小说| 日本一区二区久久精品| 性一交一乱一伧老太| 日韩高清不卡一区二区三区| 色综合五月天导航| 永久免费观看片现看| 国产精品午夜av| 欧美日韩中文精品| 免费成人在线视频网站| 在线中文免费视频| 国产日韩欧美a| 国产日韩欧美一区二区三区四区 | 黑人乱码一区二区三区av| 日韩高清不卡在线| 欧美做受高潮电影o| 麻豆成人在线视频| 国产精品成人一区二区不卡| 亚洲精品天天看| 扒开伸进免费视频| 日韩08精品| 欧美精品电影在线播放| 欧美视频第三页| free性m.freesex欧美| 国产精品免费av| 日本一区免费在线观看| 偷拍自拍在线| 成人免费视频视频| 97超碰最新| 国产精品久久久久久久久久久久久久久久久久 | 亚洲在线精品视频| 日韩不卡一区二区| 国产成人拍精品视频午夜网站 | 国产精品免费一区二区三区| 97超视频在线观看| 久久精品国产亚洲aⅴ| 国产精品精品久久久久久| 日韩av大片在线观看| 亚洲精品视频啊美女在线直播| 久久中文精品视频| 国产美女久久久久久| 国产精品99久久精品| 丝袜亚洲另类欧美重口| 日本黄色小视频在线观看| 欧美日韩高清| 在线色欧美三级视频| 亚洲理论片在线观看| 欧美日韩xxxx| 深夜福利一区二区| 亚洲不卡在线播放| 牛牛国产精品| 久久久久国产精品一区| 久久精品国产亚洲AV无码麻豆| 欧美不卡在线| 久久久久久91| 女人十八岁毛片| 首页综合国产亚洲丝袜| 国产精品成人观看视频国产奇米| 成人公开免费视频| 理论电影国产精品| 91久久精品国产91久久性色tv| 亚洲成人精品女人久久久| 成人久久18免费网站麻豆| 国产一区二区无遮挡| 青青九九免费视频在线| 国产日韩欧美激情| 日本一区二区三区四区五区六区| 日本理论片午伦夜理片在线观看| 亚洲综合一区二区精品导航| 国产精品自拍片| 欧美成人精品三级网站| 3751色影院一区二区三区| 中文字幕在线观看91| 欧美天堂影院| 日韩视频中文字幕| 黄色激情视频在线观看| 久久狠狠婷婷| 亚洲一区二区三区sesese| 免费观看毛片网站| 国产欧美精品一区二区色综合朱莉| 色中色综合成人| 国语对白在线刺激| 色婷婷激情综合| 超碰人人草人人| 欧美日韩夜夜| 日韩亚洲欧美成人| 久久久精品一区二区涩爱| 蜜桃伊人久久| av电影成人| 欧美视频免费一区二区三区| 亚洲人成影院在线观看| 777久久久精品一区二区三区| 日韩三区免费| 亚洲国产天堂久久综合网| 成人欧美一区二区三区黑人一 | 欧美韩国理论所午夜片917电影| 天天综合网久久综合网| 国产精品一区久久久久| 欧洲久久久久久| 日本不卡影院| 欧美精品粉嫩高潮一区二区| 久久久精品人妻无码专区| 一区二区三区毛片免费| 国产成人一区二区三区| 国精产品乱码一区一区三区四区| 中文幕一区二区三区久久蜜桃| 福利视频免费在线观看| 99er精品视频| 一区二区欧美在线| 天堂在线免费观看视频| 国产不卡在线播放| 黄色一级片网址| 欧美日韩精品一区二区三区视频| 亚洲精品美女免费| 久久久99精品| 精品夜夜嗨av一区二区三区| 欧美亚洲丝袜| 僵尸再翻生在线观看| 日韩精品一区二| 永久免费看片视频教学| 日本va欧美va精品发布| 欧美日韩精品中文字幕一区二区| 成人影院在线播放| 欧美成人一区二区三区在线观看| 久久精品色妇熟妇丰满人妻| 日韩不卡免费视频| 日韩国产一区久久| 外国成人直播| 精品一区二区三区四区在线| 日韩精品视频免费播放| 国产.欧美.日韩| 欧美 亚洲 视频| 看亚洲a级一级毛片| 麻豆国产精品va在线观看不卡| 伊人成人在线观看| 国产精品三级av| 日本一二区免费| 色乱码一区二区三区网站| 国产福利视频一区二区| 在线免费av网站| 欧美欧美欧美欧美| 亚洲AV成人无码精电影在线| 精品一区二区精品| av磁力番号网| 日韩区欧美区| 欧美国产日韩视频| 国精品人妻无码一区二区三区喝尿| 亚洲综合网站在线观看| 中文字幕在线视频播放| 亚洲欧美日本国产专区一区| 欧美一区二区三区电影在线观看| 精品人妻一区二区三区香蕉| www 日韩| 欧美日韩情趣电影| 懂色av粉嫩av浪潮av| 麻豆成人久久精品二区三区红| 日韩精品不卡| 四虎地址8848精品| 美女少妇精品视频| 农村少妇久久久久久久| 欧美日韩人人澡狠狠躁视频| 六月婷婷七月丁香| 麻豆精品视频在线观看| 一级特黄妇女高潮| 国产成人在线中文字幕| 97人人爽人人喊人人模波多 | 精品欧美乱码久久久久久1区2区| 精品一级少妇久久久久久久| 99re亚洲国产精品| 国产又黄又猛又粗又爽的视频| 久久精品国产亚洲夜色av网站| 91九色偷拍| 中文不卡1区2区3区| 在线观看不卡av| 精品人妻一区二区三区四区不卡 | 亚洲精品成人在线视频| 国产精品嫩草影院com| 日本人dh亚洲人ⅹxx| 亚洲综合三区| 日本xxx免费| 丝袜美腿综合| 91九色国产视频| 韩日毛片在线观看| 日韩中文字幕网站| 亚洲av成人精品日韩在线播放| 欧美怡红院视频| 免费一级片在线观看| 久久这里只有精品6| 一级黄色在线播放| 久久精品盗摄| 日韩欧美视频免费在线观看| 色综合中文网| 成人9ⅰ免费影视网站| 国产韩日精品| 91精品国产91久久久久久| 午夜视频在线观看免费视频| 亚洲精品一区二区在线观看| 一起草av在线| 色综合天天综合网天天看片 | 狠狠色狠狠色综合日日小说| 精品无码一区二区三区蜜臀| 久久久久国产精品人| 国产视频精品视频| 精东粉嫩av免费一区二区三区| 国内自拍在线观看| 欧美三区不卡| 一区二区三区国产福利| 妖精一区二区三区精品视频| 96成人在线视频| 日本a人精品| 国产精品国产三级国产aⅴ浪潮 | 欧美日韩国产精品一区二区三区四区 | 亚洲美女淫视频| 亚洲精品视频网址| 久久精品亚洲一区二区三区浴池| 久久国产劲爆∧v内射| 国模大尺度一区二区三区| 欧美激情国产精品日韩| 在线看片日韩| 国产精品国三级国产av| 91精品国产91久久久久久密臀| 日韩在线三区| 杨幂一区二区三区免费看视频| 精品久久久久久中文字幕动漫| 精品国产一区二区三区性色av| 国产欧美在线看| 亚洲不卡系列| 国产精品久久久久久av下载红粉| 中文字幕色婷婷在线视频| 97在线日本国产| 国产黄色大片在线观看| 欧美激情xxxxx| 啦啦啦中文在线观看日本| 欧美成人免费va影院高清| 69xxx在线| 欧美多人乱p欧美4p久久| 婷婷丁香在线| 97色在线观看免费视频| 国产精品25p| 欧美有码在线观看视频| 亚洲风情在线资源| 国产成人精品综合| 丰满少妇一区| 5566中文字幕一区二区| 日本高清精品| 国产伦精品一区二区三区免费视频| 白嫩白嫩国产精品| 精品国产免费人成电影在线观...| 超碰在线成人| 免费在线一区二区| 欧洲三级视频| 欧美一级黄色录像片| 欧美日韩精品免费观看视频完整| 国产精品久久久久久久乖乖| 99综合视频| 看欧美ab黄色大片视频免费 | 国产精品视频色| 亚洲精品伊人| 国产精品swag| 九九热精品视频在线观看| 香蕉久久免费影视| 永久亚洲成a人片777777| 日韩国产成人无码av毛片| 国产午夜精品一区二区三区欧美 | 日本午夜视频在线观看| 色噜噜久久综合| 亚洲天堂网在线视频| 日韩免费看网站| 日本天堂影院在线视频| 中文字幕不卡av| 乱插在线www| 国产精品久久不能| 9l视频自拍蝌蚪9l视频成人| 精品欧美一区二区久久久伦| 三上亚洲一区二区| 成人免费在线网| 日本成人在线视频网站| 中文字幕av一区二区三区人妻少妇| 成人av资源在线观看| 美女100%露胸无遮挡| 亚洲图片欧美一区| 五月天中文字幕| 精品国产一区二区三区久久影院| 国产色a在线| 久精品免费视频| 人人鲁人人莫人人爱精品| 97久久精品午夜一区二区| 亚洲警察之高压线| 免费看黄色a级片| 鲁大师成人一区二区三区| 无套内谢丰满少妇中文字幕| 2023国产精品视频| 国产性xxxx| 在线观看成人小视频| 你懂的网站在线| 欧美成年人网站| 欧美日韩国产网站| 久久99精品久久久水蜜桃| 欧美激情在线| 日本中文字幕影院| 久久九九99视频| 国产在线观看你懂的| 6080国产精品一区二区| 国产主播福利在线| 亚洲**2019国产| 欧美日韩黄网站| 亚洲精品一区二区三区av| 亚洲免费综合| 日韩综合第一页| 亚洲欧美一区二区三区极速播放| 一级特黄免费视频| 亚洲精品国产精品国自产在线| 2024最新电影免费在线观看| 国产精品丝袜高跟| 国产精品一区2区3区| 日韩在线综合网| www.欧美色图| 久久精品国产亚洲AV无码男同| 日韩一区二区在线观看| 欧美激情午夜| 国产精品视频最多的网站| 精品99久久| 激情综合网婷婷| 久久久久综合网| 中文字幕精品无码一区二区| 亚洲黄一区二区| free性欧美16hd| 国产女主播一区二区| 红桃视频国产精品| 色哟哟网站在线观看| 一区二区在线观看不卡| 国产精品探花视频| 久久综合免费视频| 经典三级久久| 成人短视频在线观看免费| 国产美女精品在线| 69xx绿帽三人行| 精品国产髙清在线看国产毛片 | 欧美视频免费| 91精品无人成人www| 国产精品美女视频| 一卡二卡在线视频| 久久91精品国产91久久久| 亚洲一区二区免费在线观看| 国产成人亚洲综合无码| 成人中文字幕在线| 色婷婷在线观看视频| 国产婷婷色综合av蜜臀av| 日韩电影大全网站| 亚洲草草视频| 国产真实乱偷精品视频免| 欧美日韩综合一区二区| 精品免费日韩av| 色是在线视频| 亚洲人成人77777线观看| 精品在线一区二区| 久久久久久久九九九九| 亚洲缚视频在线观看| 丝袜美腿一区| 99re99热| aaa国产一区| 久久国产香蕉视频| 久久亚洲精品毛片| 狠狠久久伊人| 我看黄色一级片| 一区二区三区免费看视频| 天天综合网在线观看| 国产精品久久久久久久一区探花| 99精品在线观看| 欧美xxxxx精品| 欧美日韩一区二区三区高清| 在线电影福利片| 蜜桃成人在线| 国产真实乱偷精品视频免| 国产在线观看黄色| 久久精品91久久久久久再现| 国产精品qvod| 中文字幕 91| 黄色精品在线看| 日本三级在线播放完整版| 国产一区二区久久久| 青青草国产精品97视觉盛宴| 国产一级在线视频| 最近2019年日本中文免费字幕| 66精品视频在线观看| 欧美黄色性生活| 亚洲成av人片一区二区梦乃| 日本福利专区在线观看|