python抓取skywalking中超過2s的告警接口
更新時間:2023年06月16日 14:10:49 作者:軟件開發(fā)技術修煉
這篇文章主要為大家介紹了python抓取skywalking中超過2s的告警接口詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
優(yōu)化慢接口
因技術需要優(yōu)化慢接口,故需抓取響應超過2s的接口。skywalking中有超過2s的所有接口的報警,代碼對最近一周接口響應超過2s的接口地址進行了提取。
skywalking中想要抓取的超過2s的告警接口
# -*- coding: utf-8 -*- ''' @Time : 2023/4/20 16:50 @Author : Celeste @File : zq_req_2.py ''' import csv import urllib import requests import json import re # 爬取連接2s以上接口的方法,分頁處理 def get_alarm_api(current_page): headers = {"Content-Type": "application/json"} post_param = { "query": "query queryAlarms($keyword: String, $scope: Scope, $duration:Duration!, $tags:[AlarmTag], $paging: Pagination!) {\n getAlarm(keyword: $keyword, scope: $scope, duration: $duration, paging: $paging, tags: $tags) {\n items: msgs {\n key: id\n message\n startTime\n scope\n tags {\n key\n value\n }\n events {\n uuid\n source {\n service serviceInstance endpoint\n }\n name\n type\n message\n parameters {\n key\n value\n }\n startTime\n endTime\n }\n }\n }}", "variables": { "duration": { "start": "2023-04-20 09", "end": "2023-04-25 09", "step": "HOUR" }, "paging": { "pageNum": current_page, "pageSize": 2 } } } return_data = requests.post("http://××.×.×.××:8080/graphql",headers=headers,data=json.dumps(post_param)) resp_data = return_data.json() return resp_data # 對爬取的返回數(shù)據(jù)處理,提取出接口信息 def get_api_list(resp_data): api_list = [] for mesg in resp_data['data']['getAlarm']['items']: # c = mesg['message'].split() # c1 = c.split() #matches = re.findall(r'(?<!\w)(\/\w+)', c) for m_api in mesg['message'].split(): #print(j) if m_api.startswith("/"): api_list.append(m_api) page_api = set(api_list) return page_api
獲取返回中所有的message中的接口地址列表且去重
上一步是一頁的所有接口地址去重;
取出數(shù)據(jù)中的接口地址去重
此步是取出30頁數(shù)據(jù)中的接口地址,再對所有接口地址進行去重
# 挨個調用方法 def page_api_list(): pageNum = 30 page_apis = [] for current_page in range(1, pageNum + 1): resp_data = get_alarm_api(current_page) page_api = get_api_list(resp_data) page_apis += page_api qc_page_apis = set(page_apis) return qc_page_apis
# #將爬出的數(shù)據(jù)寫入到csv表格 def scrpe_csv(qc_page_apis): # 寫模式打開csv文件 with open('api.csv','a+',encoding="utf-8") as csv_obj: # 寫入一行標題 csv.writer(csv_obj).writerow(["api地址"]) # for i in list(qc_page_apis): # 逐個寫入api信息 print("==========正在寫入api為: %s,的信息=======" %(i)) csv.writer(csv_obj).writerow(i.split()) #csv.writer(csv_obj).writerow([i]) print("finshed") if __name__ == '__main__': data = page_api_list() scrpe_csv(data)
抓取到最近一周,響應時間超過2s的所有接口
以上就是python抓取skywalking中超過2s的告警接口的詳細內容,更多關于python抓取skywalking告警接口的資料請關注腳本之家其它相關文章!
您可能感興趣的文章:
- Skywalking-agent調試說明以trace-ignore為例
- SpringCloudGateway使用Skywalking時日志打印traceId解析
- Apache?SkyWalking?修復TTL?timer?失效bug詳解
- Apache?SkyWalking?監(jiān)控?MySQL?Server?實戰(zhàn)解析
- 全鏈路監(jiān)控平臺Pinpoint?SkyWalking?Zipkin選型對比
- skywalking源碼解析javaAgent工具ByteBuddy應用
- skywalking分布式服務調用鏈路追蹤APM應用監(jiān)控
- skywalking容器化部署docker鏡像構建k8s從測試到可用
- 解析Arthas協(xié)助排查線上skywalking不可用問題
相關文章
使用python執(zhí)行shell腳本 并動態(tài)傳參 及subprocess的使用詳解
這篇文章主要介紹了使用python執(zhí)行shell腳本 并動態(tài)傳參 及subprocess的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03pycharm激活碼免費分享適用最新pycharm2020.2.3永久激活
免費為大家分享Pycharm激活碼,適用最新版pycharm2020.2.3永久激活,pycharm2018,pycharm2019也可永久激活,可成功激活到2089年2020-11-11Android+OpenCv4實現(xiàn)邊緣檢測及輪廓繪制出圖像最大邊緣
最近工作需求,需要用opencv來先做一個demo,掃描照片進行邊緣檢測和最大邊緣,就整理出來介紹一下,感興趣的小伙伴們可以參考一下2021-05-05