亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

.NET?6?中的?dotnet?monitor詳細(xì)解析

 更新時間:2021年12月07日 11:17:48   作者:曉晨Master  
dotnet?monitor?是一種工具,它提供了一種統(tǒng)一的方法來收集這些診斷信息,而不管您是在桌面計算機還是在?kubernetes?集群中運行,dotnet?monitor?已經(jīng)為?Azure?App?Service(Linux)提供?.NET?應(yīng)用程序的診斷工具提供支持,我們希望它在更多環(huán)境中使用

原文:Announcing dotnet monitor in .NET 6

我們在 2020 年 6 月首次推出了dotnet monitor 作為實驗工具,并在去年(2020年)努力將其轉(zhuǎn)變?yōu)樯a(chǎn)級工具。今天,我很高興地的宣布 dotnet monitor 的第一個正式版將和 .NET 6 一起發(fā)布,作為 .NET 6 的一部分。

dotnet monitor 已經(jīng)為 Azure App Service(Linux)提供 .NET 應(yīng)用程序的診斷工具提供支持,我們希望它在更多環(huán)境中使用。

一.什么是 dotnet monitor

在不同的環(huán)境中運行 .NET 應(yīng)用程序可能會使收集診斷信息(例如日志、跟蹤、dump)變得困難。dotnet monitor 是一種工具,它提供了一種統(tǒng)一的方法來收集這些診斷信息,而不管您是在桌面計算機(desktop machine 可理解為我們?nèi)粘J褂玫碾娔X)還是在 kubernetes 集群中運行。

收集這些診斷信息有兩種不同的機制:

  • 按需收集診斷信息的 HTTP API。當(dāng)您的應(yīng)用程序遇到問題并且想收集更多信息時,可以調(diào)用這些 HTTP API。
  • 基于規(guī)則配置的觸發(fā)器。您可以配置規(guī)則,以便在滿足所需條件時收集診斷信息,例如在 CPU 持續(xù)一段時間保持較高的指標(biāo)時收集進程轉(zhuǎn)儲(process dump)。

二.入門

dotnet monitor 可以通過兩種不同的分發(fā)機制獲得:

  • .NET CLI 工具
  • 通過 Microsoft Container Registry (MCR) 獲得的容器鏡像

.NET CLI 工具

dotnet monitor CLI 工具首先需要安裝 .NET 6 SDK,如果你沒有足夠新的 SDK,可以通過 .NET 下載網(wǎng)頁獲取安裝包進行安裝。

你可以使用一下命令獲取最新版的 dotnet monitor:

dotnet tool install -g dotnet-monitor --version 6.0.0

如果你已經(jīng)安裝但是想更新到最新,可以運行以下命令:

dotnet tool update -g dotnet-monitor --version 6.0.0

容器鏡像

dotnet monitor 容器鏡像在 MCR 上可用,你可以通過以下命令獲取最新的鏡像:

docker pull mcr.microsoft.com/dotnet/monitor:6.0.0

三.HTTP API

dotnet monitor 公開了一個 HTTP API 來查詢可用進程、收集診斷信息并檢查請求信息的狀態(tài)。

暴露了以下 HTTP API:

  • /processes- 獲取可被發(fā)現(xiàn)的進程的詳細(xì)信息
  • /dump- 在不使用調(diào)試器的情況下捕獲進程的 dump
  • /gcdump- 捕獲進程的 GC dump
  • /trace- 不使用 profiler 來追蹤進程
  • /metrics- 以 Prometheus exposition 格式捕獲默認(rèn)進程的指標(biāo)快照
  • /livemetrics- 捕獲進程的實時指標(biāo)流
  • /logs- 捕獲進程的日志
  • /info- 獲取有關(guān) dotnet monitor 的信息
  • /operations- 獲取操作狀態(tài)和取消操作

下面的示例演示如何使用 dotnet monitor 從目標(biāo)進程開始,在60秒的時間內(nèi)從Microsoft.AspNetCore.Server.Kestrel.Connections 日志級別為 Debug 的日志流數(shù)據(jù)。

PS> curl.exe -X POST "https://localhost:52323/logs?name=myWebApp&durationSeconds=60" `

? ? -H "Accept: application/x-ndjson" `

? ? -H "Content-Type: application/json" `

? ? --negotiate -u $(whoami)`

? ? -d '{"filterSpecs": {"Microsoft.AspNetCore.Server.Kestrel.Connections": "Debug"}}'?

{"Timestamp":"2021-11-05 08:12:54Z","LogLevel":"Debug","EventId":39,"EventName":"ConnectionAccepted","Category":"Microsoft.AspNetCore.Server.Kestrel.Connections","Message":"Connection id u00220HMD06BUKL2CUu0022 accepted.","State":{"Message":"Connection id u00220HMD06BUKL2CUu0022 accepted.","ConnectionId":"0HMD06BUKL2CU","{OriginalFormat}":"Connection id u0022{ConnectionId}u0022 accepted."}}

{"Timestamp":"2021-11-05 08:12:54Z","LogLevel":"Debug","EventId":1,"EventName":"ConnectionStart","Category":"Microsoft.AspNetCore.Server.Kestrel.Connections","Message":"Connection id u00220HMD06BUKL2CUu0022 started.","State":{"Message":"Connection id u00220HMD06BUKL2CUu0022 started.","ConnectionId":"0HMD06BUKL2CU","{OriginalFormat}":"Connection id u0022{ConnectionId}u0022 started."}}

{"Timestamp":"2021-11-05 08:12:54Z","LogLevel":"Debug","EventId":9,"EventName":"ConnectionKeepAlive","Category":"Microsoft.AspNetCore.Server.Kestrel.Connections","Message":"Connection id u00220HMD06BUKL2CUu0022 completed keep alive response.","State":{"Message":"Connection id u00220HMD06BUKL2CUu0022 completed keep alive response.","ConnectionId":"0HMD06BUKL2CU","{OriginalFormat}":"Connection id u0022{ConnectionId}u0022 completed keep alive response."},"Scopes":[{"ConnectionId":"0HMD06BUKL2CU"},{"RequestId":"0HMD06BUKL2CU:00000002","RequestPath":"/"}]}

如上面的示例所示,您可以使用 dotnet monitor 按需從目標(biāo)進程中捕獲診斷信息。除了日志,您還可以從目標(biāo)進程收集跟蹤、內(nèi)存轉(zhuǎn)儲、GC轉(zhuǎn)儲和 metrics。

四.觸發(fā)器

dotnet monitor 可以配置為根據(jù)發(fā)現(xiàn)的進程中的條件自動收集診斷信息。 發(fā)現(xiàn)新進程時,如果該進程數(shù)據(jù)與規(guī)則匹配,則 dotnet monitor 將嘗試應(yīng)用配置的規(guī)則。 應(yīng)用的規(guī)則將開始監(jiān)視觸發(fā)器描述的條件的過程。 如果滿足該條件,則假定尚未達(dá)到指定的限制來執(zhí)行操作列表。

示例:如果 dotnet monitor 檢測到持續(xù)超過一分鐘的CPU使用率在80%以上,則它將收集進程 dump,限制每小時不超過1個。

{
  "CollectionRules": {
    "HighCpuRule": {
      "Filters": [
        {
          "Key": "ProcessName",
          "Value": "MyApp",
          "MatchType": "Exact"
        }
      ],
      "Trigger": {
        "Type": "EventCounter",
        "Settings": {
          "ProviderName": "System.Runtime",
          "CounterName": "cpu-usage",
          "GreaterThan": 80,
          "SlidingWindowDuration": "00:01:00"
        }
      },
      "Limits": {
        "ActionCount": 1,
        "ActionCountSlidingWindowDuration": "1:00:00"
      },
      "Actions": [
        {
          "Type": "CollectDump",
          "Settings": {
            "Type": "Triage",
            "Egress": "myBlobStorageAccount"
          }
        }
      ]
    }
  }
}

規(guī)則文檔:https://github.com/dotnet/dotnet-monitor/blob/main/documentation/collectionrules.md

五.反饋

github issue: https://github.com/dotnet/dotnet-monitor/issues/new/choose

到此這篇關(guān)于.NET 6 中的 dotnet monitor的文章就介紹到這了,更多相關(guān).NET6 dotnet monitor內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 三層+存儲過程實現(xiàn)分頁示例代碼

    三層+存儲過程實現(xiàn)分頁示例代碼

    本文為大家介紹下三層+存儲過程分頁的具體實現(xiàn),前后臺及存儲過程代碼如下,感興趣的朋友可以參考下哈
    2013-06-06
  • asp.net iis 無法顯示網(wǎng)頁的解決方法分析

    asp.net iis 無法顯示網(wǎng)頁的解決方法分析

    使用過IIS的朋友都可能遇到過這樣的情況:即使您按照教科書的步驟做好各步設(shè)置以后,仍會出現(xiàn)“無法顯示網(wǎng)頁”的現(xiàn)象。
    2010-06-06
  • mvc重定向方式詳解

    mvc重定向方式詳解

    這篇文章主要為大家詳細(xì)介紹了mvc重定向的幾種方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Asp.net中斷點續(xù)傳的原理與實現(xiàn)方法分享

    Asp.net中斷點續(xù)傳的原理與實現(xiàn)方法分享

    在了解HTTP斷點續(xù)傳的原理之前,讓我們先來了解一下HTTP協(xié)議,HTTP協(xié)議是一種基于tcp的簡單協(xié)議,分為請求和回復(fù)兩種
    2012-08-08
  • .NET實現(xiàn)工資管理系統(tǒng)

    .NET實現(xiàn)工資管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了.NET實現(xiàn)工資管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 如何使用.NET Core 選項模式【Options】

    如何使用.NET Core 選項模式【Options】

    這篇文章主要介紹了如何使用.NET Core 選項模式,文中講解非常詳細(xì),代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • asp.net TripleDES加密、解密算法

    asp.net TripleDES加密、解密算法

    加密,使用密碼產(chǎn)生加密算法的公鑰,并使用TripleDES對密碼進行加密。解密,使用密碼產(chǎn)生加密算法的公鑰,并使用TripleDES對加密數(shù)據(jù)進行解密。
    2008-08-08
  • asp.net 控件驗證 FCKeditor

    asp.net 控件驗證 FCKeditor

    FCKEditor是一個很不錯的在線編輯器,可稱得上完美,但是它有一個問題,就是在使用RequiredFieldValidator進行驗證的時候,即使內(nèi)容不為空,也需要點擊兩次才能完成
    2009-06-06
  • .net實現(xiàn)微信公眾賬號接口開發(fā)實例代碼

    .net實現(xiàn)微信公眾賬號接口開發(fā)實例代碼

    這篇文章主要介紹了.net實現(xiàn)微信公眾賬號接口開發(fā)實例代碼,有需要的朋友可以參考一下
    2013-12-12
  • asp.net實現(xiàn)中英文多域名檢測的方法

    asp.net實現(xiàn)中英文多域名檢測的方法

    這篇文章主要介紹了asp.net實現(xiàn)中英文多域名檢測的方法,涉及asp.net針對URL中域名的解析及字符串操作相關(guān)技巧,需要的朋友可以參考下
    2016-08-08

最新評論