Dela via


Kostnadsberäkningar och alternativ för Azure Monitor-loggar

De viktigaste avgifterna för de flesta Azure Monitor-implementeringar är vanligtvis inmatning och kvarhållning av data på dina Log Analytics-arbetsytor. Flera funktioner i Azure Monitor har ingen direkt kostnad, men lägger till de arbetsytedata som samlas in. Den här artikeln beskriver hur dataavgifter beräknas för dina Log Analytics-arbetsytor och Application Insights-resurser och de olika konfigurationsalternativ som påverkar dina kostnader.

Dricks

Strategier för att minska dina Azure Monitor-kostnader finns i Kostnadsoptimering och Azure Monitor.

Prismodell

Standardpriset för Log Analytics är en betala per användning-modell som baseras på inmatad datavolym och datakvarhållning. Varje Log Analytics-arbetsyta debiteras som en separat tjänst och bidrar till fakturan för din Azure-prenumeration. Priser för Log Analytics anges regionalt. Mängden datainmatning kan vara betydande, beroende på:

  • Uppsättningen med hanteringslösningar aktiverade och deras konfiguration.
  • Antalet och typen av övervakade resurser.
  • De typer av data som samlas in från varje övervakad resurs.

Här finns en lista över namn på faktureringsmätare i Azure Monitor.

Beräkning av datastorlek

Datavolymen mäts som storleken på de data som skickas som ska lagras och mäts i enheter med GB (10^9 byte). Datastorleken för en enskild post beräknas från en strängrepresentation av kolumnerna som lagras på Log Analytics-arbetsytan för posten. Det spelar ingen roll om data skickas från en agent eller läggs till under inmatningsprocessen. Den här beräkningen innehåller alla anpassade kolumner som läggs till av logginmatnings-API:et, transformeringar eller anpassade fält som läggs till när data samlas in och sedan lagras på arbetsytan.

Kommentar

Fakturerbar datavolymberäkning är vanligtvis betydligt mindre än storleken på hela den inkommande JSON-paketerade händelsen. För alla händelsetyper är den fakturerade storleken i genomsnitt cirka 25 procent mindre än den inkommande datastorleken. Det kan vara upp till 50 procent för små händelser. Procentandelen innehåller effekten av de standardkolumner som undantas från faktureringen. Det är viktigt att förstå den här beräkningen av den fakturerade datastorleken när du beräknar kostnader och jämför andra prismodeller.

Exkluderade kolumner

Följande standardkolumner är gemensamma för alla tabeller och utesluts i beräkningen av poststorleken. Alla andra kolumner som lagras i Log Analytics ingår i beräkningen av poststorleken. Standardkolumnerna är:

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

Exkluderade tabeller

Vissa tabeller är helt kostnadsfria från datainmatningsavgifter, till exempel AzureActivity, Heartbeat, Usage och Operation. Den här informationen visas alltid i kolumnen _IsBillable , som anger om en post har exkluderats från fakturering för datainmatning, kvarhållning och arkivering.

Avgifter för andra lösningar och tjänster

Vissa lösningar har mer specifika principer för datainmatning utan kostnad. Azure Migrate gör till exempel beroendevisualiseringsdata kostnadsfria under de första 180 dagarna av en serverutvärdering. Tjänster som Microsoft Defender för molnet, Microsoft Sentinel och konfigurationshantering har egna prismodeller.

Se dokumentationen för olika tjänster och lösningar för alla unika faktureringsberäkningar.

Åtagandenivåer

Förutom modellen betala per användning har Log Analytics åtagandenivåer, vilket kan spara dig så mycket som 30 procent jämfört med betala per användning-priset. Med priser på åtagandenivå kan du åta dig att köpa datainmatning för en arbetsyta, från 100 GB per dag, till ett lägre pris än prissättningen betala per användning. All användning över åtagandenivån (överförbrukning) faktureras till samma pris per GB som tillhandahålls av den aktuella åtagandenivån. (Överförbrukning faktureras med samma faktureringsmätare för åtagandenivå. Om en arbetsyta till exempel finns på åtagandenivån 200 GB/dag och matar in 300 GB på en dag debiteras användningen som 1,5 enheter av åtagandenivån på 200 GB/dag.) Åtagandenivåerna har en åtagandeperiod på 31 dagar från det att en åtagandenivå har valts.

  • Under åtagandeperioden kan du ändra till en högre åtagandenivå, vilket startar om åtagandeperioden på 31 dagar. Du kan inte gå tillbaka till betala per användning eller till en lägre åtagandenivå förrän du har slutfört åtagandeperioden.
  • I slutet av åtagandeperioden behåller arbetsytan den valda åtagandenivån och arbetsytan kan när som helst flyttas till Betala per användning eller till en lägre åtagandenivå.
  • Om en arbetsyta oavsiktligt flyttas till en åtagandenivå kontaktar du Microsoft Support för att återställa åtagandeperioden så att du kan gå tillbaka till prisnivån Betala per användning.

Fakturering för åtagandenivåerna görs per arbetsyta dagligen. Om arbetsytan ingår i ett dedikerat kluster görs faktureringen för klustret. Se följande avsnitt "Dedikerade kluster". En lista över åtagandenivåer och deras priser finns i Prissättning för Azure Monitor.

Azure-åtaganderabatter, till exempel rabatter som tas emot från Microsoft företagsavtal s, tillämpas på priser på åtagandenivån för Azure Monitor-loggar precis som de är för prissättning med betala per användning. Rabatter tillämpas oavsett om användningen debiteras per arbetsyta eller per dedikerat kluster.

Dricks

Menyalternativet Användning och uppskattade kostnader för varje Log Analytics-arbetsyta visar en uppskattning av vad dina datainmatningsavgifter skulle vara på varje åtagandenivå för att hjälpa dig att välja den optimala åtagandenivån för dina datainmatningsmönster. Granska den här informationen regelbundet för att avgöra om du kan minska dina avgifter genom att flytta till en annan nivå. Mer information om den här vyn finns i Användning och uppskattade kostnader. Om du vill granska de faktiska avgifterna använder du Azure Cost Management = Fakturering.

Dedikerade kluster

Ett dedikeradt Azure Monitor Logs-kluster är en samling arbetsytor i ett enda hanterat Azure Data Explorer-kluster. Dedikerade kluster stöder avancerade funktioner, till exempel kundhanterade nycklar, och använder samma prismodell på åtagandenivå som arbetsytor, även om de måste ha en åtagandenivå på minst 100 GB per dag. All användning över åtagandenivån (överförbrukning) faktureras till samma pris per GB som tillhandahålls av den aktuella åtagandenivån. Det finns inget betala per användning-alternativ för kluster.

Klusteråtagandenivån har en åtagandeperiod på 31 dagar efter att åtagandenivån har ökats. Under åtagandeperioden kan åtagandenivån inte minskas, men den kan ökas när som helst. När arbetsytor är kopplade till ett kluster görs faktureringen för datainmatning för dessa arbetsytor på klusternivå med hjälp av den konfigurerade åtagandenivånivån.

Det finns två faktureringslägen för ett kluster som du anger när du skapar klustret:

  • Kluster (standard): Fakturering för inmatade data görs på klusternivå. De inmatade datakvantiteterna från varje arbetsyta som är associerad med ett kluster aggregeras för att beräkna den dagliga fakturan för klustret. Allokeringar per nod från Microsoft Defender för molnet tillämpas på arbetsytans nivå innan den här sammanställningen av data över alla arbetsytor i klustret.

  • Arbetsytor: Kostnader på åtagandenivå för klustret beror proportionellt på arbetsytorna i klustret av varje arbetsytas datainmatningsvolym (efter redovisning av allokeringar per nod från Microsoft Defender för molnet för varje arbetsyta).

    Om den totala datavolymen som matas in i ett kluster under en dag är mindre än åtagandenivån debiteras varje arbetsyta för sina inmatade data enligt den effektiva åtagandenivån per GB genom att fakturera dem en bråkdel av åtagandenivån. Den oanvända delen av åtagandenivån faktureras sedan till klusterresursen.

    Om den totala datavolymen som matas in i ett kluster under en dag är större än åtagandenivån debiteras varje arbetsyta för en bråkdel av åtagandenivån, baserat på dess del av inmatade data den dagen och varje arbetsyta för en bråkdel av inmatade data över åtagandenivån. Om den totala datavolymen som matas in till en arbetsyta under en dag ligger över åtagandenivån debiteras ingenting till klusterresursen.

Exempel på hur klusterfakturering fungerar i vart och ett av dessa lägen finns här.

Datakvarhållning faktureras för varje arbetsyta, samma som för arbetsytor som inte är anslutna till ett kluster.

Klusterfakturering startar när klustret skapas, oavsett om arbetsytor är associerade med klustret.

När du länkar arbetsytor till ett kluster ändras prisnivån till kluster och inmatning debiteras baserat på klustrets åtagandenivå. Arbetsytor som är kopplade till ett kluster har inte längre en egen prisnivå. Arbetsytor kan när som helst avlänkas från ett kluster och prisnivån kan ändras till per GB.

Om den länkade arbetsytan använder den äldre prisnivån Per nod debiteras den baserat på data som matas in mot klustrets åtagandenivå och inte längre per nod. Dataallokeringar per nod från Microsoft Defender för molnet fortsätter att tillämpas.

Om ett kluster tas bort stoppas faktureringen för klustret även om klustret ligger inom den 31 dagar långa åtagandeperioden.

Mer information om hur du skapar ett dedikerat kluster och anger dess faktureringstyp finns i Skapa ett dedikerat kluster.

Grundläggande loggar

Du kan konfigurera vissa tabeller på en Log Analytics-arbetsyta så att de använder grundläggande loggar. Data i dessa tabeller har en betydligt lägre inmatningsavgift och en begränsad kvarhållningsperiod. Det finns en avgift för att söka mot dessa tabeller. Grundläggande loggar är avsedda för utförliga loggar med stora volymer som du använder för felsökning, felsökning och granskning, men inte för analys och aviseringar.

Avgiften för sökning mot grundläggande loggar baseras på GB data som genomsöks i sökningen.

Mer information om grundläggande loggar, inklusive hur du konfigurerar dem och frågar efter deras data, finns i Konfigurera grundläggande loggar i Azure Monitor.

Kvarhållning och arkivering av loggdata

Förutom datainmatning debiteras en avgift för kvarhållning av data på varje Log Analytics-arbetsyta. Du kan ange kvarhållningsperioden för hela arbetsytan eller för varje tabell. Efter den här perioden tas data antingen bort eller arkiveras. Arkiverade loggar har en reducerad kvarhållningsavgift och det finns en avgift för att söka mot dem. Använd arkiverade loggar för att minska kostnaderna för data som du måste lagra för efterlevnad eller enstaka undersökningar.

Om du tar bort en anpassad tabell tas inte data som är associerade med den tabellen bort, så kvarhållnings- och arkivavgifter fortsätter att gälla.

Mer information om datakvarhållning och arkivering, inklusive hur du konfigurerar dessa inställningar och får åtkomst till arkiverade data, finns i Konfigurera principer för datakvarhållning och arkivering i Azure Monitor-loggar.

Kommentar

Att ta bort data från Log Analytics-arbetsytan med hjälp av Log Analytics-rensningsfunktionen påverkar inte dina kvarhållningskostnader. Minska kvarhållningsperioden för arbetsytan eller för specifika tabeller om du vill sänka kvarhållningskostnaderna.

Sök jobb

Sökning mot arkiverade loggar använder sökjobb. Sökjobb är asynkrona frågor som hämtar poster till en ny söktabell på din arbetsyta för ytterligare analys. Sökjobb debiteras med antalet GB data som genomsöks varje dag som används för att utföra sökningen.

Loggdataåterställning

För situationer där äldre eller arkiverade loggar måste efterfrågas intensivt med de fullständiga analysfrågorna är funktionen för dataåterställning ett kraftfullt verktyg. Återställningsåtgärden gör ett visst tidsintervall med data i en tabell tillgängligt i den frekventa cachen för frågor med höga prestanda. Du kan senare stänga av data när du är klar. Återställning av loggdata debiteras av mängden data som återställs och när återställningen hålls aktiv. De minimala värden som faktureras för dataåterställning är 2 TB och 12 timmar. Data som återställts på mer än 2 TB och/eller mer än 12 timmar i varaktighet debiteras på proportionell basis.

Exportera loggdata

Med dataexport på en Log Analytics-arbetsyta kan du kontinuerligt exportera data per valda tabeller på din arbetsyta till ett Azure Storage-konto eller Azure Event Hubs när de kommer till en Azure Monitor-pipeline. Avgifter för användning av dataexport baseras på mängden data som exporteras. Storleken på data som exporteras är antalet byte i de exporterade JSON-formaterade data.

Application Insights-fakturering

Eftersom arbetsytebaserade Application Insights-resurser lagrar sina data på en Log Analytics-arbetsyta görs faktureringen för datainmatning och kvarhållning av arbetsytan där Application Insights-data finns. Därför kan du använda alla alternativ i Log Analytics-prismodellen, inklusive åtagandenivåer, tillsammans med betala per användning.

Dricks

Vill du justera kvarhållningsinställningarna för dina Application Insights-tabeller? Tabellnamnen har ändrats för arbetsytebaserade komponenter, se Application Insights Tabellstruktur

Datainmatning och datakvarhållning för en klassisk Application Insights-resurs följer samma betala per användning-prissättning som arbetsytebaserade resurser, men de kan inte använda åtagandenivåer.

Telemetri från pingtester och flerstegstester debiteras på samma sätt som dataanvändning för annan telemetri från din app. Användning av webbtester och aktivering av aviseringar för anpassade måttdimensioner rapporteras fortfarande via Application Insights. Det finns ingen datavolymavgift för användning av Live Metrics Stream.

Mer information om äldre nivåer som är tillgängliga för tidiga användare av Application Insights finns i Application Insights äldre företagsprisnivå (per nod).

Arbetsytor med Microsoft Sentinel

När Microsoft Sentinel är aktiverat på en Log Analytics-arbetsyta omfattas alla data som samlas in på den arbetsytan av Microsoft Sentinel-avgifter tillsammans med Log Analytics-avgifter. Därför separerar du ofta dina säkerhets- och driftdata på olika arbetsytor så att du inte debiteras Microsoft Sentinel-avgifter för driftdata.

I vissa scenarier kan en kombination av dessa data leda till kostnadsbesparingar. Vanligtvis uppstår den här situationen när du inte samlar in tillräckligt med säkerhets- och driftdata för att var och en ska nå en åtagandenivå på egen hand, men de kombinerade data räcker för att nå en åtagandenivå. Mer information och en exempelkostnadsberäkning finns i avsnittet "Kombinera SOC- och icke-SOC-data" i Designa din Microsoft Sentinel-arbetsytearkitektur.

Arbetsytor med Microsoft Defender för molnet

Microsoft Defender för servrar (en del av Defender för molnet)faktureras med antalet övervakade tjänster. Den tillhandahåller 500 MB per server och dag med dataallokering som tillämpas på följande delmängd av säkerhetsdatatyper:

Om arbetsytan finns på den äldre prisnivån per nod kombineras Defender för molnet- och Log Analytics-allokeringarna och tillämpas gemensamt på alla fakturerbara inmatade data. Om arbetsytan har Sentinel aktiverat på den, om Sentinel använder en klassisk prisnivå, gäller Defender-dataallokeringen endast för Log Analytics-datainmatningsfakturering, men inte den klassiska Sentinel-faktureringen. Om Sentinel använder en förenklad prisnivå gäller Defender-dataallokeringen för den enhetliga Sentinel-faktureringen. Mer information om hur Microsoft Sentinel-kunder kan dra nytta av det finns på sidan Priser för Microsoft Sentinel.

Antalet övervakade servrar beräknas på en kornighet per timme. De dagliga dataallokeringsbidragen från varje övervakad server aggregeras på arbetsytans nivå. Om arbetsytan finns på den äldre prisnivån per nod kombineras Microsoft Defender för molnet- och Log Analytics-allokeringarna och tillämpas gemensamt på alla fakturerbara inmatade data.

Äldre prisnivåer

Prenumerationer som innehåller en Log Analytics-arbetsyta eller Application Insights-resurs den 2 april 2018, eller som är länkade till en företagsavtal som startade före den 1 februari 2019 och fortfarande är aktiv, fortsätter att ha åtkomst till att använda följande äldre prisnivåer:

  • Fristående (per GB)
  • Per nod (Operations Management Suite [OMS])

Åtkomsten till den äldre prisnivån för den kostnadsfria utvärderingsversionen begränsades den 1 juli 2022. Prisinformation för prisnivåerna Fristående och Per nod finns här.

En lista över azure monitor-faktureringsmätarens namn, inklusive dessa äldre nivåer, finns här.

Viktigt!

De äldre prisnivåerna stöder inte åtkomst till några av de senaste funktionerna i Log Analytics, till exempel att mata in data som kostnadseffektiva grundläggande loggar.

Prisnivå för kostnadsfri utvärdering

Arbetsytor på prisnivån Kostnadsfri utvärderingsversion har daglig datainmatning begränsad till 500 MB (förutom säkerhetsdatatyper som samlas in av Microsoft Defender för molnet). Datakvarhållning är begränsad till sju dagar. Prisnivån Kostnadsfri utvärdering är endast avsedd för utvärderingsändamål, inte för produktionsarbetsbelastningar. Inget serviceavtal har angetts för den kostnadsfria utvärderingsnivån.

Kommentar

Den äldre prisnivån för kostnadsfri utvärderingsversion kunde bara skapas fram till den 1 juli 2022 för att skapa nya arbetsytor i eller flytta befintliga arbetsytor till.

Fristående prisnivå

Användning på den fristående prisnivån debiteras av den inmatade datavolymen. Den rapporteras i Log Analytics-tjänsten och mätaren heter "Dataanalys". Arbetsytor på den fristående prisnivån har användarkonfigurerbar kvarhållning från 30 till 730 dagar. Arbetsytor på den fristående prisnivån stöder inte användning av grundläggande loggar.

Prisnivå per nod

Prisnivån Per nod debiteras per övervakad virtuell dator (nod) på en timmes kornighet. För varje övervakad nod allokeras arbetsytan 500 MB data per dag som inte faktureras. Den här allokeringen beräknas med timkornighet och aggregeras på arbetsytenivå varje dag. Data som matas in över den aggregerade dagliga dataallokeringen faktureras per GB som dataöverförbrukning. Prisnivån Per nod är en äldre nivå som endast är tillgänglig för befintliga prenumerationer som uppfyller kravet på äldre prisnivåer.

På din faktura är tjänsten Insight and Analytics för Log Analytics-användning om arbetsytan finns på prisnivån Per nod. Arbetsytor på prisnivån Per nod har användarkonfigurerbar kvarhållning från 30 till 730 dagar. Arbetsytor på prisnivån Per nod stöder inte användning av grundläggande loggar. Användning rapporteras på tre mätare:

  • Nod: Användningen för antalet övervakade noder (VIRTUELLA datorer) i enheter med nodmånader.
  • Dataöverförbrukning per nod: Antalet GB data som matas in utöver den aggregerade dataallokeringen.
  • Data som ingår per nod: Mängden inmatade data som omfattades av den aggregerade dataallokeringen. Den här mätaren används också när arbetsytan finns på alla prisnivåer för att visa mängden data som omfattas av Microsoft Defender för molnet.

Dricks

Om din arbetsyta har åtkomst till prisnivån Per nod , men du undrar om den skulle kosta mindre på en betala per användning-nivå, använder du följande fråga för en rekommendation.

Prisnivåer för Standard och Premium

Arbetsytor kan inte skapas i eller flyttas till prisnivåerna Standard eller Premium sedan den 1 oktober 2016. Arbetsytor som redan finns på dessa prisnivåer kan fortsätta att använda dem, men om en arbetsyta flyttas från dessa nivåer kan den inte flyttas tillbaka. Prisnivåerna Standard och Premium har fast datakvarhållning på 30 respektive 365 dagar. Arbetsytor på dessa prisnivåer stöder inte användning av grundläggande loggar och dataarkiv. Datainmatningsmätare på din Azure-faktura för dessa äldre nivåer kallas "Dataanalys".

Microsoft Defender för molnet med äldre prisnivåer

Följande överväganden gäller äldre Log Analytics-nivåer och hur användningen faktureras för Microsoft Defender för molnet:

  • Om arbetsytan finns på den äldre Standard- eller Premium-nivån debiteras Microsoft Defender för molnet endast för Log Analytics-datainmatning, inte per nod.
  • Om arbetsytan finns på den äldre nivån per nod debiteras Microsoft Defender för molnet med den aktuella Microsoft Defender för molnet nodbaserade prismodellen.
  • Om Microsoft Defender för molnet aktiverades före den 19 juni 2017 i andra prisnivåer (inklusive åtagandenivåer) debiteras Microsoft Defender för molnet endast för Log Analytics-datainmatning. Annars debiteras Microsoft Defender för molnet med den aktuella Microsoft Defender för molnet nodbaserade prismodellen.

Mer information om begränsningar på prisnivå finns i Azure-prenumerations- och tjänstgränser, kvoter och begränsningar.

Ingen av de äldre prisnivåerna har regionalbaserad prissättning.

Kommentar

Om du vill använda de rättigheter som kommer från köp av OMS E1 Suite, OMS E2 Suite eller OMS-tillägg för System Center väljer du prisnivån Log Analytics per nod.

Utvärdera den äldre prisnivån per nod

Det är ofta svårt att avgöra om arbetsytor med åtkomst till den äldre prisnivån per nod har det bättre på den nivån eller på en aktuell betala per användning-nivå eller åtagandenivå. Du måste förstå kompromissen mellan den fasta kostnaden per övervakad nod på prisnivån Per nod och dess inkluderade dataallokering på 500 MB per nod per dag och kostnaden för att betala för inmatade data på nivån betala per användning (per GB).

Använd följande fråga för att ge en rekommendation för den optimala prisnivån baserat på en arbetsytas användningsmönster. Den här frågan tittar på de övervakade noderna och data som har matats in till en arbetsyta under de senaste sju dagarna. För varje dag utvärderas vilken prisnivå som skulle ha varit optimal. Om du vill använda frågan måste du ange:

  • Om arbetsytan använder Microsoft Defender för molnet genom att ange workspaceHasSecurityCenter till true eller false.
  • Uppdatera priserna om du har specifika rabatter.
  • Ange hur många dagar du vill se tillbaka och analysera genom att ange daysToEvaluate. Det här alternativet är användbart om frågan tar för lång tid att titta på sju dagars data.
// 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://learn.microsoft.com/azure/cost-management-billing/understand/download-azure-daily-usage.  
let workspaceHasSecurityCenter = true;
let daysToEvaluate = 7;
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

Den här frågan är inte en exakt replikering av hur användningen beräknas, men den ger prisnivårekommendationer i de flesta fall.

Kommentar

Om du vill använda de rättigheter som kommer från köp av OMS E1 Suite, OMS E2 Suite eller OMS-tillägg för System Center väljer du prisnivån Log Analytics per nod.

Nästa steg