【中間件】.net Core中使用HttpReports進行接口統計,分析, 可視化, 監控,追蹤等...

? HttpReports ?基于.Net Core 開發的APM監控系統,使用MIT開源協議,主要功能包括,統計, 分析, 可視化, 監控,追蹤等,適合在微服務環境中使用。

? 官方地址:https://www.yuque.com/httpreports/docs/uyaiil

主要功能

?????接口調用指標分析

?????多服務節點數據聚合分析

?????慢請求,錯誤請求分析

?????接口調用日志查詢?

?????多類型預警監控

?????HTTP,Grpc 調用分析?

?????分布式追蹤

?????多數據庫支持,集成方便

?????程序性能監控

第一步打開VS新建.net項目我這里用的是.net core webapi 進行演示

第二步 使用Nuget安裝MHttpReports.Dashboard包和HttpReports.SqlServer

25ea5b5fedfad5a1bd011bf6282c48bc.png

第三步配置appsetting.json

{"HttpReportsDashboard": {"ExpireDay": 3,"Storage": {"ConnectionString": "Server=10.1.30.252;Database=GEISDB;user id=sa;password=Mg2021;","DeferSecond": 10,"DeferThreshold": 100},"Check": {"Mode": "Self","Switch": true,"Endpoint": "","Range": "500,2000"},"Mail": {"Server": "smtp.163.com","Port": 465,"Account": "HttpReports@qq.com","Password": "*******","EnableSsL": true,"Switch": true}}
}

參數介紹:? ?

ExpireDay - 數據過期天數,默認3天,HttpReports 會自動清除過期的數據

Storage - 存儲信息?

DeferSecond - 批量數據入庫的秒數,建議值 5-60

DeferThreshold - 批量數據入庫的數量,建議值100-1000

Mail - 郵箱信息,配置監控的話,可以發告警郵件

Check - 健康檢查配置,具體看 健康檢查 頁面

第四步配置Startup

// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940public void ConfigureServices(IServiceCollection services){services.AddHttpReportsDashboard().AddSQLServerStorage();}// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IWebHostEnvironment env){app.UseHttpReportsDashboard();}

? 把Dashboard 程序啟動起來,如果沒有問題的話,會跳轉到Dashboard的登陸頁面

c4ba06028019a62d8dedf75aa933d414.png

默認賬號:

admin 密碼: 123456

現在Dashboard 可視化有了,但是沒有數據,我們還需要 給服務端程序,添加 HttpReports 來收集信息。

第五步 我新建一個WebAPI 項目 UserService ,來充當用戶服務,然后安裝 HttpReports,HttpReports.Transport.Http??

b5fd485e3acf7b235c5324b301ca9cc2.png

第六步修改Services的Appsettings.json 簡單配置一下

{"HttpReports": {"Transport": {"CollectorAddress": "http://localhost:5000/","DeferSecond": 10,"DeferThreshold": 100},"Server": "http://localhost:7000","Service": "User","Switch": true,"RequestFilter": [ "/api/health/*", "/HttpReports*" ],"WithRequest": true,"WithResponse": true,"WithCookie": true,"WithHeader": true}
}

參數介紹:? ?

Transport -? ?

CollectorAddress - 數據發送的地址,配置Dashboard 的項目地址即可

DeferSecond - 批量數據入庫的秒數,建議值 5-60

DeferThreshold - 批量數據入庫的數量,建議值100-300

Server - 服務的地址,?

Service - 服務的名稱

Switch - 是否開啟收集數據

RequestFilter - 數據過濾,用 * 來模糊匹配

WithRequest - 是否記錄接口的入參

WithResponse - 是否記錄接口的出參

WithCookie - 是否記錄Cookie 信息

WithHeader - 是否記錄請求Header信息

最后一步我們接著修改 UserService 項目的 Startup.cs 文件

?app.UseHttpReports();? ? 這一行最好放到 Configure 方法 最上面

public void ConfigureServices(IServiceCollection services){services.AddHttpReports().AddHttpTransport();services.AddControllers();}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IWebHostEnvironment env){app.UseHttpReports();if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseRouting();app.UseAuthorization();app.UseEndpoints(endpoints =>{endpoints.MapControllers();});}

刷新下 UserService 的接口,再回到Dashboard的頁面上面,已經可以看到數據了

773f351d7cf85d0fa79cae09e1f795eb.png

總結

本篇博客描述了使用HttpReports進行接口統計,分析, 可視化, 監控,追蹤等

如果覺得還不錯,請給個關注

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287682.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287682.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287682.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【遙感數字圖像處理】實驗:遙感影像輻射糾正(大氣糾正)完整操作圖文教程(Erdas版)

一、實驗平臺:Erdas 9.1 二、實驗數據:dmtm.img 三、實驗內容:利用回歸分析法校正影像 四、實驗原理:大氣散射只影響短波波段,長短波進行對比,找出影響短波的程輻射值,將其減去 五、實驗目的:掌握回歸分析法校正影像的方法及步驟,能熟練地對影像進行校正 六、實…

Android之開源視頻壓縮框架RxFFmpeg的commands設置

1 Android視頻壓縮框架 地址:https://github.com/microshow/RxFFmpeg 2 問題 用ffmpeg進行壓縮的時候,我們需要采用ffmpeg命令壓縮官網給的命令如下 String text = "ffmpeg -y -i /storage/emulated/0/1/input.mp4 -vf boxblur=25:5 -preset superfast /storage/emul…

Acitivty生命周期

為什么80%的碼農都做不了架構師?>>> Acitivty 有七個生命周期: onCreate:當第一次調用一個Activity就會執行onCreate方法 onStart:當Activity處于可見狀態的時候就會調用onStart方法 onResume:當Activity可…

listview嵌套gridview

1.首先要自定義一個繼承gridview的類 public class MyGridView extends GridView {public boolean hasScrollBar true;public MyGridView(Context context) {super(context);}public MyGridView(Context context, AttributeSet attrs) {super(context, attrs);}Overrideprotec…

還不懂你現在學習的編程語言能做什么?還不懂如何進階?過來看圖

前言說七說八 本篇文章的配圖標注、內容并不代表僅有;本篇僅以個人經驗及當前大學(大專、本科)相關課程作對比,列出比較常規的語言發展走向及相關技術;再次重申,本圖及本文所涉及的技術發展走向并不代表著…

IT新起之秀

辭職以后自己比較迷茫,不知道自己能干什么,09年畢業到現在雖然工作經驗有7、8年,但是感覺自己什么都不會,除了自己能下車間別的好像也做不成,沒有一技之長。我更像是一個經驗用了7、8年而不是有7、8年的經驗 在齊魯人才…

【遙感數字圖像處理】實驗:遙感影像幾何糾正完整操作流程(Erdas版)

☆☆☆ 幾何糾正預備知識 ☆☆☆ 1、幾何變形誤差的影響因素 遙感器本身引起的畸變外部因素引起的畸變處理過程中引起的畸變2、需要做精糾正的情況 景與景之間作比較GIS建模之前監督分類時提取樣本創建高精度比例尺的影像地圖與矢量數據疊加源于不同比例尺的地圖之間比較提取精…

openid 釘釘_釘釘開發入門,微應用識別用戶身份,獲取用戶免登授權碼code,獲取用戶userid,獲取用戶詳細信息...

最近有個需求,在釘釘內,點擊微應用,獲取用戶身份,根據獲取到的用戶身份去企業內部的用戶中心做校驗,校驗通過,相關子系統直接登陸;就是在獲取這個用戶身份的時候,網上的資料七零八落的,找的人煩躁的很,所以自己記錄一下;實現這個要求,有好幾種方式,使用ISV方式相對來說比較簡單…

趣味二維碼生成

1背景介紹 最近在 Github 看到了一個有趣的項目 amazing-qr,它支持生成普通二維碼,帶圖片的藝術二維碼,動態二維碼。項目是用 python 編寫的,以命令行的方式運行生成,不太方便調用,因此,我…

學習進度博客十二

本周學習軟件工程所花時間為:4小時 代碼:200行 博客發表篇數:3 了解到的知識點:這周我們開始了第二次沖刺階段 轉載于:https://www.cnblogs.com/wulun/p/5610433.html

Android Studio提示No virtual method asBitmap()Lcom/bumptech/glide/RequestBuilder

1 問題 android studio導入別人項目的module,運行點擊app,程序奔潰,錯誤日志如下 Process: com.example.chenyu, PID: 6302java.lang.NoSuchMethodError: No virtual method asBitmap()Lcom/bumptech/glide/RequestBuilder; in class Lcom/bumptech/glide/RequestM…

電腦開機后,就會自動運行chkdsk,我想取消chkdsk,怎么取消

每次開機都自動檢查磁盤,檢測通過后下次還是一樣,NTFS/FAT32分區都有可能有這樣的情況,即使重裝系統,仍可能出現同樣情況,但是硬盤可以通過Dell 隨機帶的檢測程序解決方法:在命令行窗口中輸入…

《零基礎看得懂的C++入門教程 》——(1)第一個C++程序就讓你知其所以然

一、學習目標 了解第一個C程序了解第一個C程序結構了解什么是注釋了解什么是命名空間了解C語言的輸出(如何在程序運行時顯示內容)了解語句結束后需要使用什么符號表示結束 了解程序入口 目錄 預備第一篇,使用軟件介紹在這一篇,…

1、Locust壓力測試環境搭建

環境準備:阿里云服務器一臺、python2.7、pip Locust 介紹Locust 是一個開源負載測試工具。使用 Python 代碼定義用戶行為,也可以仿真百萬個用戶。 Locust 簡單易用,分布式,用戶負載測試工具。Locust 主要為網站或者其他系統進行負…

MicroStation V8i簡體中文版完全補丁安裝教程(附安裝包下載)

MicroStation是一款非常不錯的二維和三維設計軟件,由奔特力(Bentley)工程軟件系統有限公司開發的一款軟件。在CAD設計上該軟件是和AutoCAD是齊名的軟件,其專用的文件格式是DGN,當然該軟件還兼容AutoCAD的DWG/DXF等格式,該軟件的應用已經非常廣泛,在建筑、土木工程、交通…

交互式 .Net

1名詞解析 1. 交互式交互式是指輸入代碼后可直接運行該代碼,然后持續輸入運行代碼。2. 交互式 .Net.Net 是一種編譯型語言,不像 python 這類的腳本型語言,可以邊輸入代碼邊運行結果。幸運的是,軟微推出了 interactive 這個項…

Android Studio之編譯t提示Invoke-customs are only supported starting with Android O (--min-api 26)

1 問題 編譯別人的項目,錯誤提示如下 Invoke-customs are only supported starting with Android O (--min-api 26) 2 解決辦法 在app的build.gradle的android節點下添加如下代碼 android {compileSdkVersion 28defaultConfig {}buildTypes {}//需要添加如下代碼…

mysql signed 長度_淺談mysql字段長度設置

mysql 中最常用的數據類型是tinyint,smallint,int,bigint,char,varchar;char(n)和varchar(n)存儲固定長度的字符數據,長度最大為254字節。使用 ‘n’字節的存儲空間;有符號和無符號區別:有符號可以存儲負值,無符號只能存儲0和非負值數值;tinyint 占用1字節的存儲空間…

R語言-異常數據處理2

在R中進行基于穩健馬氏距離的異常檢驗 前言 我們研究的數據中經常包含著一些不同尋常的樣本,這稱之為異常值(Outlier)。這些異常值會極大的影響回歸或分類的效果。異常值產生的原因有很多,其中可能是人為錯誤、數據測量誤差,或者是實際確實存…

【遙感數字圖像處理】實驗:遙感影像增強方法大全處理看過來(Erdas版)

目錄 1、空間增強(spatial enhancement) 1.1 卷積增強(convolution) 1.2 非定向邊緣增強(non-directional edge)