我有一個從Azure App Services輸出的診斷日志中獲取的查詢,并推送到一個日志分析作業區。
AppServiceAppLogs
| where TimeGenerated >= now(-1h) and Level =="Error"
|專案 TimeGenerated , _ResourceId , Source, ResultDescription
|總結 ErrorsLogged = count() by _ResourceId
|按ErrorsLogged排序
| 渲染餅狀圖
當圖表(任何圖表)渲染時,它顯示正確的完整的_ResourceId表內容,例如...
/subscriptions/00000-000000-00000000/resourcegroups/my-resource-group/providers/Microsoft.web/sites/my-webapp
這些最后都太長了,無法顯示。是否有辦法修剪掉結果中的/subscriptions/00000-000000-00000000/resourcegroups/my-resource-group/providers/microsoft.web/sites/?
預先感謝
uj5u.com熱心網友回復:
你可以嘗試這樣的方法:
AppServiceAppLogs
| where TimeGenerated >= now(-1h) and Level == "Error"
|專案 TimeGenerated, ResourceName=tostring(split(_ResourceId, "/")[-1]), Source, ResultDescription
|總結 ErrorsLogged = count() by ResourceName
| 按ErrorsLogged排序
| 渲染餅狀圖
基本上,它使用"/"作為分隔符來分割_ResourceId(這給你一個陣列),然后獲得該陣列中的最后一個元素并將其別名為ResourceName。
參考文獻:
- split()。https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/splitfunction
- 通過
arr[-index]從陣列的末端檢索'index'-th的值(訪問最后一個值是通過arr[-1]完成的--這里是參考.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/326092.html
標籤:
