問題描述
Azure Log Analytics Workspace作為Azure雲上統一儲存日誌的服務,可以由多個服務直接傳送日誌到Log A Workspace。如 Application Insights, Azure Diagnostic Settings 等。
只是,當資料都收集到同一個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
但是,這只是一個總量的分佈。如何檢視不同資料來源的佔比情況呢?
經過調查:
目前,沒有一個直接的辦法來檢視不同來源資料量的佔比情況。
但是,可以透過對每一個表中資料的分組統計同一個來源( _ResourceId 或 AppRoleName )的資料總數佔比情況,進行轉換比對每一個資料來源的佔比情況。
例如: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 Monitor 中分析 Log Analytics 工作區的使用情況 : https://learn.microsoft.com/zh-cn/azure/azure-monitor/logs/analyze-usage#querying-data-volumes-from-the-usage-table