.NET開源的實(shí)時(shí)應(yīng)用監(jiān)控系統(tǒng) - WatchDog
項(xiàng)目介紹
WatchDog是一個(gè)開源(MIT License)、免費(fèi)、針對ASP.Net Core Web應(yīng)用程序和API的實(shí)時(shí)應(yīng)用監(jiān)控系統(tǒng)。開發(fā)者可以實(shí)時(shí)記錄和查看他們的應(yīng)用程序中的消息、事件、HTTP請求和響應(yīng),以及運(yùn)行時(shí)捕獲的異常。
圖片
項(xiàng)目工作原理
它利用SignalR進(jìn)行實(shí)時(shí)監(jiān)控,并使用LiteDB作為無需配置的類似MongoDB的無服務(wù)器數(shù)據(jù)庫,同時(shí)也支持使用外部數(shù)據(jù)庫(如MSSQL、MySQL、Postgres、MongoDB)。
支持.NET版本
.NET Core 3.1 及更高版本。
項(xiàng)目源代碼
圖片
WatchDog安裝
搜索WatchDog.NETNuGet包安裝:
圖片
WatchDog服務(wù)注冊
在ASP.NET Core Web API的Program.cs中注冊WatchDog服務(wù):
builder.Services.AddWatchDogServices(opt =>
{
opt.IsAutoClear = true;
opt.ClearTimeSchedule = WatchDogAutoClearScheduleEnum.Monthly;
opt.DbDriverOption = WatchDogDbDriverEnum.Mongo;
opt.SetExternalDbConnString = "mongodb://localhost:27017";
});
builder.Logging.AddWatchDogLogger();
添加異常記錄器
app.UseWatchDogExceptionLogger();
設(shè)置訪問日志的賬號密碼
app.UseWatchDog(conf =>
{
conf.WatchPageUsername = "Admin";
conf.WatchPagePassword = "9999999999";
conf.Blacklist = "/auth, user";
});
圖片
項(xiàng)目監(jiān)控截圖
圖片
圖片
圖片
圖片