日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HttpReports 2.0 发布了 !!!

發布時間:2023/12/4 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HttpReports 2.0 发布了 !!! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://www.cnblogs.com/myshowtime/p/13806631.html

來源

???? 前言介紹

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

Github地址:https://github.com/dotnetcore/HttpReports

在線預覽:?http://122.51.188.23:8080?(帶寬有限,第一次會有點慢)

在線文檔:?https://www.yuque.com/httpreports/docs

賬號:?admin?密碼?123456

開源不易,感興趣的同學還希望點個Star,支持下

???? 簡單架構

???? 主要功能

  • 接口調用指標分析

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

  • 慢請求,錯誤請求分析

  • 接口調用日志查詢

  • 多類型預警監控

  • HTTP,Grpc 調用分析

  • 分布式追蹤

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

  • 程序性能監控

2.0 更新

HttpReports 上一次發布HttpReports 還是在3個月前,HttpReports 2.0 版本的改動還是挺大的,所以建議老版本的升級前,還是先看下文檔,本次更新主要以下幾個方面

  • 項目結構調整,統一使用 HttpTransport

  • 使用 Vue + Antv + ElementUI 重構了Dashboard

  • 使用FreeSql ORM重構了存儲層,之前兼容多數據庫是個很頭疼的問題,要寫很多sql,FreeSql兼容的很好,現在項目里面你找不到一行sql, 用起來非常方便,性能也有提升,這里給葉老板點個贊

???? 預覽

引用 HttpReports.Dashboard

首先,需要創建Dashboard 項目來接收,處理和展示數據,Dashboard 使用了 Vue + Antv +ElementUI 構建頁面并打包到程序集,只需要Web項目引用 Nuget包安裝即可,非常方便。

新建一個 .Net Core 的空Web項目,支持 2.1 及以上版本

新建完成后,通過Nuget包分別安裝 HttpReports.Dashboard ,HttpReports.MySQL(或者是HttpReports.SqlServer, HttpReports.PostgreSQL)

引用完成后,簡單配置一下, 修改項目的 appsetting.json 文件

{"HttpReportsDashboard": { "ExpireDay": 3,"Storage": {"ConnectionString": "DataBase=HttpReports;Data Source=localhost;User Id=root;Password=123456;", "DeferSecond": 10,"DeferThreshold": 100},"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 - 郵箱信息,配置監控的話,可以發告警郵件

修改完成后,我們接著修改 Dahboard 項目的 Startup.cs 文件

public void ConfigureServices(IServiceCollection services) { services.AddHttpReportsDashboard().UseMySqlStorage(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseHttpReportsDashboard(); }

把Dashboard 程序啟動起來,如果沒有問題的話,會跳轉到Dashboard的登陸頁面 默認賬號:admin 密碼: 123456

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

引用HttpReports

我新建一個WebAPI 項目 UserService ,來充當用戶服務,然后安裝 HttpReports,當然你可以在你的項目中直接使用

Nuget 引用 HttpReports , HttpReports.Transport.Http

修改 appsettings.json,簡單配置一下

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

參數介紹:

Transport -
CollectorAddress - 數據發送的地址,配置Dashboard 的項目地址即可
DeferSecond - 批量數據入庫的秒數,建議值 5-60
DeferThreshold - 批量數據入庫的數量,建議值100-1000

Server - 服務的地址,
Service - 服務的名稱
Switch - 是否開啟收集數據
RequestFilter - 數據過濾,用 * 來模糊匹配
WithRequest - 是否記錄接口的入參
WithResponse - 是否記錄接口的出參
WithCookie - 是否記錄Cookie 信息
WithHeader - 是否記錄請求Header信息

修改完成后,我們接著修改 UserService 項目的 Startup.cs 文件

public void ConfigureServices(IServiceCollection services) {services.AddHttpReports().UseHttpTransport();services.AddControllers(); }public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {app.UseHttpReports();....

修改 UserService 項目的啟動端口為7000, 然后 VS 設置多項目啟動, 同時運行 UserService 和Dashboard

public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>().UseUrls("http://localhost:7000");});

刷新下 UserService 的接口,再回到Dashboard的頁面上面,已經可以看到數據了,一個簡單的服務接入HttpReports,已經完成了,是不是很簡單!

配置IP和端口 Server

HttpReports 需要顯式指定Web程序的IP和端口,當然這個地址用外網和內網的都可以,在微服務環境中, 一個服務會開啟多個實例, HttpReports 通過IP和端口來區分不同的程序實例。

在appsetting.json 中配置

我們直接在 appsetting.json 中設置 Urls 屬性,你可以設置 "Server": "http://127.0.0.1:3000"
在命令行參數中配置

dotnet UserService.dll --urls="http://127.0.0.1:3000"

或者

dotnet UserService.dll --HttpReports:Server="http://127.0.0.1:5000"

交流溝通

貢獻的最簡單的方法之一就是是參與討論和討論問題(issue)。你也可以通過提交的 Pull Request 代碼變更作出貢獻。

可以添加QQ群溝通,也可以添加的微信,我拉你進微信群

寫在最后

HttpReports 從第一次提交代碼到現在已經10個月了,兼職開源,占據了生活很大一部分的時間, 一個個版本迭代到現在,2.0 不是最終版,未來可能會有 3.0 5.0,我看支持的同學也有很多,有很多人提了很多意見,感謝各位的支持,讓我們覺得做這件事是有意義的,一定會把 HttpReports 做的越來越好

總結

以上是生活随笔為你收集整理的HttpReports 2.0 发布了 !!!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。