【Azure Log A workspace】Azure上很多應用日誌收集到Log A workspace後如何來分別各自的佔比呢?

路边两盏灯發表於2024-03-22

問題描述

Azure Log Analytics Workspace作為Azure雲上統一儲存日誌的服務,可以由多個服務直接傳送日誌到Log A Workspace。如 Application Insights, Azure Diagnostic Settings 等。

【Azure Log A workspace】Azure上很多應用日誌收集到Log A workspace後如何來分別各自的佔比呢?

只是,當資料都收集到同一個Workspace後,如何來分別是那些資源傳送的日誌呢?分別佔用了多少的儲存總量呢?

問題解答

在Workspace的Table中,有一個Usage表可以檢視到該工作區中每一個表的資料用量,並使用圖示展示:

Usage 
| where TimeGenerated > ago(32d)
| where StartTime >= startofday(ago(31d)) and EndTime < startofday(now())
| where IsBillable == true
| summarize BillableDataGB = sum(Quantity) / 1000. by bin(StartTime, 1d), DataType 
| render columnchart

【Azure Log A workspace】Azure上很多應用日誌收集到Log A workspace後如何來分別各自的佔比呢?

但是,這只是一個總量的分佈。如何檢視不同資料來源的佔比情況呢?

經過調查:

目前,沒有一個直接的辦法來檢視不同來源資料量的佔比情況。

但是,可以透過對每一個表中資料的分組統計同一個來源( _ResourceIdAppRoleName )的資料總數佔比情況,進行轉換比對每一個資料來源的佔比情況。

例如:App Requests資料量總量為佔比2GB, Application Insights 1的count為30萬,其它為70萬。那麼可以推斷Application Insights 1的日誌儲存佔用了大約0.6個GB。

union AppAvailabilityResults, AppDependencies, AppExceptions, AppMetrics, AppPerformanceCounters, AppRequests, AppSystemEvents, AppTraces 
| where TimeGenerated > ago(32d) 
| summarize  count() by AppRoleName 
| render piechart 

【Azure Log A workspace】Azure上很多應用日誌收集到Log A workspace後如何來分別各自的佔比呢?

(以上方法,供你參考)

參考資料

在 Azure Monitor 中分析 Log Analytics 工作區的使用情況 : https://learn.microsoft.com/zh-cn/azure/azure-monitor/logs/analyze-usage#querying-data-volumes-from-the-usage-table

相關文章