Azure 監視器記錄定價詳細資料

大部分 Azure 監視器實作的最大費用通常是在 Log Analytics 工作區中擷取和保留資料。 Azure 監視器中的數個功能沒有直接成本,但會新增至所收集的工作區資料。 本文說明如何計算 Log Analytics 工作區和應用程式Insights資源的資料費用,以及影響成本的不同設定選項。

定價模式

Log Analytics 的預設定價是以內嵌的資料量和資料保留為基礎的隨用隨付模型。 每項 Log Analytics 工作區都是個別計費的服務,並且會計入到您的 Azure 訂用帳戶帳單。 Log Analytics 的定價 是地區設定的。 視下列因素而定,資料擷取的數量可能會相當大:

  • 已啟用的一組管理解決方案及其組態
  • 受監視資源的數目和類型
  • 從每個受監視資源收集的資料類型

資料大小計算

資料量會測量為儲存在 GB (10^9 個位元組的資料大小,) 。 單一記錄的資料大小是從儲存在該記錄之 Log Analytics 工作區中的資料行字串表示來計算,不論資料是從代理程式傳送或在擷取過程中新增。 這包括 自訂記錄 API新增的任何自訂資料行、 擷取時間轉換,或新增為數據的 自訂欄位 會收集並儲存在工作區中。

注意

可計費的資料量計算遠小於整個傳入 JSON 封裝事件的大小。 所有事件種類的平均計費大小大約小於傳入資料大小 25%。 對於小型事件,這最多可以有 50%。 在估計成本與其他定價模式比較時,請務必瞭解計費資料大小的計算。

排除的資料行

下列所有資料表通用 的標準資料 行都會在計算記錄大小時排除。 儲存在 Log Analytics 中的所有其他資料行都會包含在記錄大小的計算中。

  • _ResourceId
  • _SubscriptionId
  • _ItemId
  • _IsBillable
  • _BilledSize
  • Type

排除的資料表

有些資料表完全沒有資料擷取費用,包括 AzureActivity活動訊號使用量作業。 這一律會由 _IsBillable 資料行指出,這表示記錄是否已從資料擷取的計費中排除。

其他解決方案和服務的費用

有些解決方案有更多關於免費資料擷取的特定原則。 例如 ,Azure Migrate 會在伺服器評量的前 180 天免費提供相依性視覺效果資料。 適用於雲端的 Microsoft DefenderMicrosoft Sentinel設定管理等服務都有自己的定價模式。

如需任何唯一計費計算,請參閱不同服務和解決方案的檔。

承諾用量層

除了隨用隨付模型之外,Log Analytics 還有 承諾用量層,相較于隨用隨付價格,可節省您 30% 的費用。 使用承諾層定價,您可以承諾購買工作區的資料擷取,從 100 GB/天開始,價格低於隨用隨付定價。 任何高於承諾用量層級 (超額) 的使用量,會以與目前承諾用量層級所提供的相同價格計費。 從選取承諾用量層的時間起,承諾用量層級會有 31 天的承諾期。

  • 在承諾期間,您可以變更為較高的承諾用量層級 (這會重新開機 31 天的承諾用量期間) ,但您無法回到隨用隨付或降低承諾用量層級,直到完成承諾期間之後。
  • 在承諾期間結束時,工作區會保留選取的承諾用量層,而且工作區可以隨時移至隨用隨付或不同的承諾用量層。

承諾用量層級的計費會每天針對每個工作區進行。 如果工作區是 專用叢集的一部分,則叢集的計費 (請參閱下方) 。 如需承諾用量層級及其價格的詳細清單,請參閱 Azure 監視器定價

提示

每個 Log Analytics 工作區的 [使用量和估計成本 ] 功能表項目如何評估每個承諾用量層級的每月費用。 您應該定期檢閱這項資訊,以判斷您是否可藉由移至另一層來降低費用。 如需此檢視的資訊,請參閱 使用量和估計成本

專用叢集

Azure 監視器記錄專用叢集是單一受控 Azure Data Explorer叢集中的工作區集合。 專用叢集支援進階功能,例如 客戶管理的金鑰 ,並使用與工作區相同的承諾層定價模型,不過它們必須具有至少 500 GB/天的承諾用量層級。 任何高於承諾用量層級 (超額) 的使用量,會以與目前承諾用量層級所提供的相同價格計費。 叢集沒有隨用隨付選項。

叢集承諾用量層級在承諾用量層級增加之後會有 31 天的承諾期間。 在承諾期間,無法減少承諾用量層級層級,但可以隨時增加。 當工作區與叢集相關聯時,這些工作區的資料擷取計費會使用設定的承諾層層級在叢集層級完成。

您在建立叢集時指定的叢集有兩種計費模式。

  • 叢集 (預設) :擷取資料的計費是在叢集層級完成。 從與叢集相關聯的每個工作區擷取的資料數量會匯總,以計算叢集的每日帳單。 在叢集中所有工作區匯總資料之前,會先在工作區層級套用來自適用於雲端的 Microsoft Defender的每個節點配置。

  • 工作區:叢集的承諾層成本會依每個工作區的資料擷取磁片區,依每個工作區的資料擷取磁片區 (依比例計算適用於雲端的 Microsoft Defender每個工作區中每個節點配置的成本。)

    如果一天擷取到叢集的總數據量小於承諾用量層,則每個工作區都會依每個 GB 承諾用量層的有效使用量費率來收取其內嵌資料的費用,方法是將其計費為承諾用量層的分數。 接著,承諾用量層的未使用部分會向叢集資源計費。

    如果一天擷取到叢集的總數據量超過承諾用量層,則每個工作區會根據該天內嵌的資料分數,以及每個工作區在承諾用量層上方內嵌的資料分數來計費。 如果一天內嵌至工作區的資料量總計高於承諾用量層,則不會對叢集資源收取任何費用。

在叢集計費選項中,資料保留會針對每個工作區計費。 不論工作區是否與叢集相關聯,叢集計費都會在建立叢集時啟動。

當您將工作區連結至叢集時,定價層會變更為叢集,而擷取會根據叢集的承諾用量層計費。 與叢集相關聯的工作區不再有自己的定價層。 工作區可以隨時從叢集取消連結,而定價層會變更為每 GB。

如果您的連結工作區使用舊版的「每一節點」定價層,則會根據叢集承諾用量層內嵌的資料來計費,且不再依每個節點計費。 適用於雲端的 Microsoft Defender的每個節點資料配置將會繼續套用。

如需建立專用叢集和指定其計費類型的詳細資訊,請參閱 建立專用叢 集。

基本記錄

您可以在 Log Analytics 工作區中設定特定資料表,以使用 基本記錄。 這些資料表中的資料會大幅減少擷取費用和有限的保留期間。 不過,對這些資料表進行搜尋會收取費用。 基本記錄適用于用於偵錯、疑難排解和稽核的高磁片區詳細資訊記錄,但不適用於分析和警示。

針對基本記錄進行搜尋的費用是以執行搜尋時掃描的資料 GB 為基礎。

如需基本記錄的詳細資訊,請參閱 在 Azure 監視器中設定基本記錄 ,包括如何設定和查詢其資料。

記錄資料保留和封存

除了資料擷取之外,每個 Log Analytics 工作區中的資料保留也會收費。 您可以設定整個工作區或每個資料表的保留期間。 在此期間之後,資料會被移除或封存。 封存的記錄具有較低的保留費用,而且會針對這些記錄進行費用搜尋。 使用封存記錄來降低您必須儲存以進行合規性或偶爾調查的資料成本。

如需資料保留和封存的詳細資訊,請參閱 在 Azure 監視器記錄中設定資料保留和封存 原則,包括如何設定這些設定和存取封存的資料。

搜尋作業

搜尋封存的記錄會使用 搜尋作業。 搜尋作業是非同步查詢,可將記錄擷取到工作區內的新搜尋資料表,以進行進一步的分析。 搜尋作業的計費方式是每天掃描的資料 GB 數目,以執行搜尋。

記錄資料還原

對於需要大量查詢舊版或封存的記錄檔以及完整分析查詢功能的情況, 資料還原 功能是功能強大的工具。 還原作業會在經常性快取中提供資料表中特定時間範圍的資料,以供高效能查詢使用。 您稍後可以在完成時關閉資料。 記錄資料還原的計費方式是還原的資料量,以及還原保持作用中的時間。 任何資料還原所計費的最小值為 2 TB 和 12 小時。 還原超過 2 TB 和/或持續時間超過 12 小時的資料會依比例計費。

記錄資料匯出

Log Analytics 工作區中的資料匯出可讓您持續將工作區中每個所選資料表的資料匯出至Azure 儲存體帳戶,或Azure 事件中樞到達 Azure 監視器管線時。 使用資料匯出的費用是根據匯出的資料量。 匯出的資料大小是匯出 JSON 格式資料中的位元組數目。

Application Insights 計費

由於工作區型應用程式Insights資源將其資料儲存在 Log Analytics 工作區中,因此資料擷取和保留的計費是由應用程式Insights資料所在的工作區完成。 這可讓您利用 Log Analytics 定價模型的所有選項,包括隨用隨付以外的 承諾用量層

傳統應用程式Insights資源的資料擷取和資料保留遵循與工作區型資源相同的隨用隨付定價,但無法利用承諾用量層。

Ping 測試和多步驟測試的遙測會向您收取與應用程式其他遙測資料使用量相同的費用。 仍會透過應用程式Insights報告使用 Web 測試和啟用自訂計量維度的警示。 使用 即時計量串流不會收取任何資料量費用。

如需適用于早期採用應用程式Insights的舊版層的詳細資訊,請參閱每個節點) 定價層的應用程式Insights舊版企業 (。

使用 Microsoft Sentinel 的工作區

在 Log Analytics 工作區中啟用 Microsoft Sentinel 時,該工作區中收集的所有資料除了 Log Analytics 費用之外,也會受限於 Sentinel 費用。 基於這個理由,您通常會在不同的工作區中分隔安全性與運算元據,這樣您就不會產生 作業資料的 Sentinel 費用 。 不過,在某些情況下,合併此資料實際上可能會導致節省成本。 這通常是當您未收集足夠的安全性和運算元據,以自行達到承諾用量層,但合併的資料足以達到承諾層時。 如需詳細資料和範例成本計算,請參閱在設計 Microsoft Sentinel 工作區架構合併您的 SOC 和非 SOC 資料

具有適用於雲端的 Microsoft Defender的工作區

適用于伺服器的 Microsoft Defender (監視服務數目的一部分適用於雲端的 Defender) 計費,並提供 500 MB/伺服器/天的資料配置,這些配置會套用至下列安全性資料類型子集:

受監視伺服器的計數會以每小時的資料細微性計算。 每個受監視伺服器的每日資料配置貢獻都會匯總在工作區層級。 如果工作區位於舊版的 [每個節點] 定價層中,適用於雲端的 Microsoft Defender和 Log Analytics 配置會合並並套用至所有可計費的內嵌資料。

舊版定價層

在 2018 年 4 月 2 日包含 Log Analytics 工作區或應用程式Insights資源的訂用帳戶,或連結到在 2019 年 2 月 1 日之前啟動且仍在作用中的Enterprise 合約,將會繼續存取下列舊版定價層:

  • 每 GB 獨立 ()
  • 每個節點 (OMS)

從 2022 年 7 月 1 日開始,將進一步限制舊版免費試用定價層的存取權 (如下所示。)

免費試用定價層

免費試用定價層中的工作區每日資料擷取限制為 500 MB (,但適用於雲端的 Microsoft Defender) 所收集的安全性資料類型除外,且資料保留期限制為七天。 免費試用定價層僅供評估之用。 免費層不提供 SLA。

注意

只有在 2022 年 7 月 1 日之前,才能在 中建立新的工作區,或將現有的工作區移至舊版免費試用定價層。

獨立定價層

獨立定價層上的使用量是由擷取的資料量計費。 它會在 Log Analytics 服務中報告,且計量名為「分析的資料」。 獨立定價層中的工作區具有使用者可設定的保留期,從 30 天到 730 天。 獨立定價層中的工作區不支援使用 基本記錄

每個節點定價層

每一節點定價層會針對每個受監視的 VM (節點收費,) 每小時的資料細微性。 針對每個受監視的節點,工作區每天會配置 500 MB 的資料,而不會計費。 此配置會以每小時細微度計算,並每天在工作區層級匯總。 高於每日資料配置彙總量的擷取資料則會在資料超額時按 GB 計費。 在您的帳單上,如果工作區位於 [每個節點] 定價層,服務將會是 Log Analytics 使用量的深入解析和分析 。 每個節點定價層中的工作區具有使用者可設定的保留期,從 30 到 730 天。 每個節點定價層中的工作區不支援使用 基本記錄。 使用量會報告三公尺:

  • 節點:這是節點月份單位 (VM) 監視節點數目的使用方式。
  • 每個節點的資料超額:這是超過匯總資料配置的資料擷取 GB 數目。
  • 每個節點包含的資料:這是匯總資料配置所涵蓋的內嵌資料量。 當工作區位於所有定價層時,也會使用此計量來顯示適用於雲端的 Microsoft Defender所涵蓋的資料量。

提示

如果您的工作區可以存取 [每個節點 ] 定價層,但您想知道它是否在隨用隨付層中成本較低,您可以使用 下列查詢 來取得建議。

標準和進階版定價層

在 2016 年 4 月之前建立的工作區可以分別使用固定資料保留期為 30 天和 365 天的標準和進階版定價層。 新的工作區無法在標準進階版定價層中建立,而且如果工作區移出這些層,就無法將它移回。 這些定價層中的工作區不支援使用 基本記錄。 這些舊層的 Azure 帳單上的資料擷取計量稱為「已分析資料」。

使用舊版定價層適用於雲端的 Microsoft Defender

以下是舊版 Log Analytics 層之間的考慮,以及如何針對適用於雲端的 Microsoft Defender計費使用量。

  • 如果工作區位於舊版標準或進階版層,適用於雲端的 Microsoft Defender只會針對 Log Analytics 資料擷取計費,而不是每個節點。
  • 如果工作區位於舊版的 [每一節點] 層中,適用於雲端的 Microsoft Defender會使用目前的適用於雲端的 Microsoft Defender節點型定價模式來計費。
  • 在其他定價層 (包括承諾用量層) ,如果在 2017 年 6 月 19 日之前啟用適用於雲端的 Microsoft Defender,適用於雲端的 Microsoft Defender只會針對 Log Analytics 資料擷取計費。 否則,適用於雲端的 Microsoft Defender會使用目前的適用於雲端的 Microsoft Defender節點型定價模型來計費。

如需定價層限制的詳細資訊,請參閱 Azure 訂用帳戶和服務限制、配額和限制

沒有任何舊版定價層具有區域型定價。

注意

若要使用購買 OMS E1 套件、OMS E2 Suite 或 OMS Add-On來取得System Center的權利,請選擇 Log Analytics Per Node定價層。

評估舊版 Per Node 定價層

通常很難判斷具有舊版 Per Node 定價層存取權的工作區在該層或目前隨用隨 承諾用量層中較好。 這牽涉到了解每一節點定價層中每一已監視節點的固定成本與其內含的資料配置「500 MB/節點/天」,以及隨用隨付 (每 GB) 層只需支付所擷取資料的成本之間的取捨。

下列查詢可用來根據工作區的使用模式,針對最佳定價層提出建議。 此查詢會查看過去七天內內嵌到工作區的受監視節點和資料,並針對每天,它會評估哪一個定價層是最佳的。 若要使用查詢,您必須指定:

  • 工作區是否使用 適用於雲端的 Microsoft Defender,方法是將workspaceHasSecurityCenter設定為truefalse
  • 如果您有特定的折扣,請更新價格。
  • 藉由設定 daysToEvaluate來指定要回溯及分析的天數。 如果查詢花費太長的時間嘗試查看七天的資料,這會很有用。
// Set these parameters before running query
// For Pay-As-You-Go (per-GB) and commitment tier pricing details, see https://azure.microsoft.com/pricing/details/monitor/.
// You can see your per-node costs in your Azure usage and charge data. For more information, see https://docs.microsoft.com/en-us/azure/cost-management-billing/understand/download-azure-daily-usage.  
let PerNodePrice = 15.; // Monthly price per monitored node
let PerNodeOveragePrice = 2.30; // Price per GB for data overage in the Per Node pricing tier
let PerGBPrice = 2.30; // Enter the Pay-as-you-go price for your workspace's region (from https://azure.microsoft.com/pricing/details/monitor/)
let CommitmentTier100Price = 196.; // Enter your price for the 100 GB/day commitment tier
let CommitmentTier200Price = 368.; // Enter your price for the 200 GB/day commitment tier
let CommitmentTier300Price = 540.; // Enter your price for the 300 GB/day commitment tier
let CommitmentTier400Price = 704.; // Enter your price for the 400 GB/day commitment tier
let CommitmentTier500Price = 865.; // Enter your price for the 500 GB/day commitment tier
let CommitmentTier1000Price = 1700.; // Enter your price for the 1000 GB/day commitment tier
let CommitmentTier2000Price = 3320.; // Enter your price for the 2000 GB/day commitment tier
let CommitmentTier5000Price = 8050.; // Enter your price for the 5000 GB/day commitment tier
// ---------------------------------------
let SecurityDataTypes=dynamic(["SecurityAlert", "SecurityBaseline", "SecurityBaselineSummary", "SecurityDetection", "SecurityEvent", "WindowsFirewall", "MaliciousIPCommunication", "LinuxAuditLog", "SysmonEvent", "ProtectionStatus", "WindowsEvent", "Update", "UpdateSummary"]);
let StartDate = startofday(datetime_add("Day",-1*daysToEvaluate,now()));
let EndDate = startofday(now());
union * 
| where TimeGenerated >= StartDate and TimeGenerated < EndDate
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| summarize nodesPerHour = dcount(computerName) by bin(TimeGenerated, 1h)  
| summarize nodesPerDay = sum(nodesPerHour)/24.  by day=bin(TimeGenerated, 1d)  
| join kind=leftouter (
    Heartbeat 
    | where TimeGenerated >= StartDate and TimeGenerated < EndDate
    | where Computer != ""
    | summarize ASCnodesPerHour = dcount(Computer) by bin(TimeGenerated, 1h) 
    | extend ASCnodesPerHour = iff(workspaceHasSecurityCenter, ASCnodesPerHour, 0)
    | summarize ASCnodesPerDay = sum(ASCnodesPerHour)/24.  by day=bin(TimeGenerated, 1d)   
) on day
| join (
    Usage 
    | where TimeGenerated >= StartDate and TimeGenerated < EndDate
    | where IsBillable == true
    | extend NonSecurityData = iff(DataType !in (SecurityDataTypes), Quantity, 0.)
    | extend SecurityData = iff(DataType in (SecurityDataTypes), Quantity, 0.)
    | summarize DataGB=sum(Quantity)/1000., NonSecurityDataGB=sum(NonSecurityData)/1000., SecurityDataGB=sum(SecurityData)/1000. by day=bin(StartTime, 1d)  
) on day
| extend AvgGbPerNode =  NonSecurityDataGB / nodesPerDay
| extend OverageGB = iff(workspaceHasSecurityCenter, 
             max_of(DataGB - 0.5*nodesPerDay - 0.5*ASCnodesPerDay, 0.), 
             max_of(DataGB - 0.5*nodesPerDay, 0.))
| extend PerNodeDailyCost = nodesPerDay * PerNodePrice / 31. + OverageGB * PerNodeOveragePrice
| extend billableGB = iff(workspaceHasSecurityCenter,
             (NonSecurityDataGB + max_of(SecurityDataGB - 0.5*ASCnodesPerDay, 0.)), DataGB )
| extend PerGBDailyCost = billableGB * PerGBPrice
| extend CommitmentTier100DailyCost = CommitmentTier100Price + max_of(billableGB - 100, 0.)* CommitmentTier100Price/100.
| extend CommitmentTier200DailyCost = CommitmentTier200Price + max_of(billableGB - 200, 0.)* CommitmentTier200Price/200.
| extend CommitmentTier300DailyCost = CommitmentTier300Price + max_of(billableGB - 300, 0.)* CommitmentTier300Price/300.
| extend CommitmentTier400DailyCost = CommitmentTier400Price + max_of(billableGB - 400, 0.)* CommitmentTier400Price/400.
| extend CommitmentTier500DailyCost = CommitmentTier500Price + max_of(billableGB - 500, 0.)* CommitmentTier500Price/500.
| extend CommitmentTier1000DailyCost = CommitmentTier1000Price + max_of(billableGB - 1000, 0.)* CommitmentTier1000Price/1000.
| extend CommitmentTier2000DailyCost = CommitmentTier2000Price + max_of(billableGB - 2000, 0.)* CommitmentTier2000Price/2000.
| extend CommitmentTier5000DailyCost = CommitmentTier5000Price + max_of(billableGB - 5000, 0.)* CommitmentTier5000Price/5000.
| extend MinCost = min_of(
    PerNodeDailyCost,PerGBDailyCost,CommitmentTier100DailyCost,CommitmentTier200DailyCost,
    CommitmentTier300DailyCost, CommitmentTier400DailyCost, CommitmentTier500DailyCost, CommitmentTier1000DailyCost, CommitmentTier2000DailyCost, CommitmentTier5000DailyCost)
| extend Recommendation = case(
    MinCost == PerNodeDailyCost, "Per node tier",
    MinCost == PerGBDailyCost, "Pay-as-you-go tier",
    MinCost == CommitmentTier100DailyCost, "Commitment tier (100 GB/day)",
    MinCost == CommitmentTier200DailyCost, "Commitment tier (200 GB/day)",
    MinCost == CommitmentTier300DailyCost, "Commitment tier (300 GB/day)",
    MinCost == CommitmentTier400DailyCost, "Commitment tier (400 GB/day)",
    MinCost == CommitmentTier500DailyCost, "Commitment tier (500 GB/day)",
    MinCost == CommitmentTier1000DailyCost, "Commitment tier (1000 GB/day)",
    MinCost == CommitmentTier2000DailyCost, "Commitment tier (2000 GB/day)",
    MinCost == CommitmentTier5000DailyCost, "Commitment tier (5000 GB/day)",
    "Error"
)
| project day, nodesPerDay, ASCnodesPerDay, NonSecurityDataGB, SecurityDataGB, OverageGB, AvgGbPerNode, PerGBDailyCost, PerNodeDailyCost, 
    CommitmentTier100DailyCost, CommitmentTier200DailyCost, CommitmentTier300DailyCost, CommitmentTier400DailyCost, CommitmentTier500DailyCost, CommitmentTier1000DailyCost, CommitmentTier2000DailyCost, CommitmentTier5000DailyCost, Recommendation 
| sort by day asc
//| project day, Recommendation // Comment this line to see details
| sort by day asc

此查詢不是計算使用量方式的確切複寫,但會在大部分情況下提供定價層建議。

注意

若要使用購買 OMS E1 套件、OMS E2 Suite 或 OMS Add-On來取得System Center的權利,請選擇 Log Analytics Per Node定價層。

後續步驟