Tillgänglighet och prestandaövervakning för hybrid

Azure Event Hubs
Azure Log Analytics
Azure Monitor
Azure Storage
Azure Virtual Machines

Den här referensarkitekturen visar hur du använder Azure Monitor för att övervaka prestanda och tillgänglighet för operativsystemsarbetsbelastningar som körs på virtuella datorer . De virtuella datorerna kan finnas i Microsoft Azure, i lokala miljöer eller i moln som inte är Azure.

Arkitektur

Diagram som illustrerar övervaknings- och tillgänglighetsfunktionerna för Azure Monitor för OS-arbetsbelastningar i Azure, i lokala miljöer och med molnleverantörer från tredje part. Data skickas till en Log Analytics-arbetsyta. Data används av Application Insights-, Analys-, Visualiserings-, Aviseringar- och Autoskalningstjänster som en del av Azure Monitor

Ladda ned en Visio-fil med den här arkitekturen.

Arbetsflöde

  • Lokalt huvudkontor – VM 1. Den här komponenten är ett webbprogram med internetåtkomst och en offentlig webbsida, och både Log Analytics- och Dependency-agenter installerade. Information om agenter finns i Översikt över Log Analytics-agenten och Översikt över Azure Monitor-agenter, Beroendeagent.
  • Lokalt huvudkontor – VM 2. Den här affärslogikmiljön har inte internetåtkomst. Log Analytics och beroendeagenter är dock installerade.
  • Lokalt huvudkontor – VM 3. Den här komponenten är ett datalager utan internetåtkomst, men med Log Analytics- och Dependency-agenter installerade.
  • Lokalt huvudkontor – Log Analytics-gateway. Log Analytics-gatewayen samlar in logg- och måttdata från de tre lokala virtuella datorerna och levererar dem till Log Analytics-arbetsytan via TCP (Transmission Control Protocol) på port 443.
  • Lokalt huvudkontor – Brandvägg. Trafik till och från den lokala miljön dirigeras genom brandväggen.
  • Gateway. Gatewayen tillhandahåller anslutning till avdelningskontoret.
  • Lokalt avdelningskontor – VM 4. Den här komponenten är det affärsprogram som körs utan internetåtkomst, men med Log Analytics- och Dependency-agenter installerade. Log Analytics-agenten som är installerad på den virtuella datorn är konfigurerad för att överföra data direkt till Log Analytics-arbetsytan utan att behöva en Log Analytics-gateway.
  • Lokalt avdelningskontor – Gateway. Den här gatewayen ansluter avdelningskontoret till det lokala huvudkontoret via ett virtuellt privat nätverk (VPN).
  • Molnleverantör från tredje part – VM 5. Den här komponenten är ett webbprogram med internetåtkomst, en offentlig webbsida och både Log Analytics- och Dependency-agenter installerade.
  • Molnleverantör från tredje part – VM 6. Den här komponenten är en datalagermiljö utan internetåtkomst, men med både Log Analytics- och Dependency-agenter installerade. Det finns ingen direkt anslutning från molnleverantörsmiljöer från tredje part till de lokala miljöerna.
  • Azure – VMSS. Det här är en skalningsuppsättning som skapas med hjälp av Skalningsuppsättningar för virtuella Azure-datorer. Den kör ett affärsprogram med log analytics och diagnostikagenter installerade.
  • Azure – programserver. Den här servern har en enda virtuell dator som kör ett affärsprogram med Log Analytics och diagnostikagenter installerade.
  • Azure Monitor-mått. Data som samlas in av Azure Monitor-mått lagras i en tidsseriedatabas som är optimerad för analys av tidsstämplade data. Den lagrar även mått som skickas från lokala virtuella datorer och virtuella Azure-datorer.
  • Azure Monitor – Log Analytics-arbetsyta. Den här arbetsytan lagrar loggar som skickas från lokala virtuella datorer, virtuella Azure-datorer och virtuella datorer på molnleverantörer från tredje part. Arbetsytan är en Azure-resurs där data aggregeras och fungerar som en administrativ gräns för åtkomst till dessa data. Andra Azure Monitor-tjänster ansluter sedan till Log Analytics-arbetsytan och använder data i olika syften. Mer information finns i Designa distributionen av Azure Monitor-loggar.
  • Azure Monitor – Insights – Application Insights. Application Insights ger analyser av program och insikter om deras användning. I den här exempelarkitekturen kontrollerar ett tillgänglighets-pingtest tillgängligheten för det lokala webbprogrammet. Aviseringsregler har aktiverats för att meddela om ett misslyckat test. Mer information finns i Vad är Application Insights? och Övervaka tillgängligheten för en webbplats.
  • Azure Monitor – Insights – Azure Monitor för virtuella datorer. Azure Monitor för virtuella datorer övervakar prestanda och hälsotillstånd för dina virtuella datorer och vm-skalningsuppsättningar. Övervakningen omfattar deras processer som körs och beroenden för andra resurser. I det här scenariot ger Azure Monitor for VMs insikter om dina virtuella datorer. Mer information finns i Vad är Azure Monitor för virtuella datorer?.
  • Azure Monitor – Analys. Logg- och måttdata från de virtuella datorerna efterfrågas i Azure Monitor-mått och Log Analytics-arbetsytan med hjälp av Kusto-frågespråk (KQL). Resultaten ger insikter om infrastruktur, topologi och resurser. Mer information finns i Kusto: Översikt och Exempel på Azure Monitor-loggfrågor.
  • Azure Monitor – visualiseringar. Azure Monitor använder visualiseringsverktyg för att granska program- och infrastrukturkomponenter och kommunikation mellan tjänster i Azure Monitor. Visualiseringsverktygen omfattar Programkarta i Azure Application Insight, kartfunktionen i Azure Monitor för virtuella datorer, Azure Monitor-arbetsböcker och olika instrumentpanelsvyer som är tillgängliga i Azure Monitor. Mer information finns i Använda kartfunktionen i Azure Monitor för virtuella datorer för att förstå programkomponenter, Skapa och dela instrumentpaneler för Log Analytics-data och Azure Monitor-arbetsböcker.
  • Azure Monitor – integreringar. Azure Monitor integreras med en rad partner- och tredjepartsverktyg och tillägg. Dessa verktyg och tillägg förbättrar och bygger vidare på befintliga Azure Monitor-funktioner, till exempel analys och visualiseringar.
  • Azure Monitor – Åtgärder – Aviseringar. Variationer i mått- och loggdata kan indikera förekomsten av händelser. Regler definierar de datavariationer som utlöser aviseringar, ger meddelanden och initierar åtgärdssvar. När en avisering utlöses i den här arkitekturen reparerar Automation-runbooks automatiskt de lokala virtuella datorerna och de virtuella Azure-datorerna. Webhook-åtgärder, servicehanteringsintegrering och andra åtgärdstyper är också tillgängliga. Mer information finns i Skapa, visa och hantera måttaviseringar med Hjälp av Azure Monitor och Skapa, visa och hantera loggaviseringar med Azure Monitor.
  • Azure Monitor – Åtgärder – Autoskalning. Autoskalning lägger till eller tar bort virtuella datorinstanser enligt deman, vilket upprätthåller prestanda och ökar kostnadseffektiviteten. I den här arkitekturen har autoskalning villkor definierade kring genomsnittlig CPU-belastning (i procent). När villkoren uppfylls justerar Azure Monitor Autoskala skalningsuppsättningen efter efterfrågan. Mer information finns i Översikt över autoskalning i Microsoft Azure.

Komponenter

Arkitekturen består av följande komponenter:

Rekommendationer

Följande metodtips är rekommendationer som gäller för de flesta scenarier. Följ dessa metoder om du inte har ett specifikt krav som åsidosätter dem.

Log Analytics-arbetsyta

Tänk på följande rekommendationer när du utformar Log Analytics-arbetsytan:

  • Placera arbetsytan och resurserna i samma Azure-region, om svarstiden är en viktig faktor.
  • Börja med en enda Log Analytics-arbetsyta och öka antalet arbetsytor när kraven ändras.
  • Om du har geografiskt spridda team och resurser kan du behöva en arbetsyta per region.
  • Din arbetsyta behöver inte finnas i samma prenumeration som de resurser som du kör.

Aviseringar

För enklare scenarier kan du använda mått för att flagga aviseringar i stället för loggar. Mått:

  • Ange ett antal eller numeriska värden för händelser som CPU-användning, tillgängligt minne eller logiskt diskutrymme.
  • Har låg svarstid.
  • Erbjuder större kornighet, till exempel intervall per sekund eller per minut.
  • Meddela dig om ett problem snabbt.

Om du vill samla in anpassade prestandaindikatorer eller affärsspecifika mått för att ge djupare insikter använder du anpassade mått. Mer information finns i Anpassade mått i Azure Monitor (förhandsversion).

Måttaviseringar är inte svaret i alla situationer. Du kanske fortfarande vill använda loggbaserade aviseringar när du behöver mer anpassning eller mer kraftfulla korrelationer.

Analys och diagnostik

Överväg följande rekommendationer för analys och diagnostik:

  • Använd loggar för djupare analys. Loggar kan:

    • Ange utförlig information om händelser (jämfört med mått).
    • Inträffar tillfälligt.
    • Underlätta djupare diagnostik efter en inledande måttflagga.
  • Anpassa loggdatainsamling (som liknar mått) med hjälp av HTTP Data Collector-API:et för att skicka loggdata till en Log Analytics-arbetsyta. Mer information finns i Skicka loggdata till Azure Monitor med HTTP Data Collector API (offentlig förhandsversion).

  • Analysera dina program proaktivt med funktionen för smart identifiering i Application Insight. Smart identifiering tillämpar maskininlärningsfunktionerna i Azure och statistisk analys för att identifiera problem som prestanda- eller felavvikelser, minnesläckor eller allmän programförsämring. Mer information finns i Smart identifiering i Application Insights.

  • Använd Azure Monitor för virtuella datorer – Mappa för att granska anslutningar mellan servrar, processer, svarstid för inkommande och utgående anslutningar och portar i alla TCP-anslutna arkitekturer. Ingen konfiguration krävs förutom att installera en agent. Med Azure Monitor för virtuella datorer – Mappa kan du interagera och interagera med dina servrar som sammankopplade system.

Log Analytics-frågor

Fråga efter data på en Log Analytics-arbetsyta med hjälp av KQL för att söka efter termer, specifika händelser eller tillstånd för att identifiera trender och analysera mönster. Använd Frågeutforskaren för att bläddra och välja förskrivna frågor, ändra dem eller skapa egna. Du kan köra, spara, dela och exportera frågor från en arbetsyta och fästa dina favoritfrågor på en instrumentpanel för återanvändning.

Agentinstallation

Installera agenter automatiskt och i stor skala, i stället för individuellt, genom att använda automatiseringsalternativ som Azure Policy, Azure PowerShell, Resource Manager-mallar eller Desired State Configuration (DSC). Mer information finns i Aktivera Azure Monitor för virtuella datorer med hjälp av Azure Policy, Aktivera Azure Monitor för virtuella datorer med Azure PowerShell och Aktivera Azure Monitor för virtuella datorer för en virtuell hybriddator – Önskad tillståndskonfiguration.

Instrumentpanel

Skapa en Azure-instrumentpanelsvy för kritiska program. Dela eller gör instrumentpanelen tillgänglig på en delad skärm i realtid för personer som behöver viktiga programdata.

Att tänka på

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Tillförlitlighet

Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden som du gör gentemot dina kunder. Mer information finns i Översikt över tillförlitlighetspelare.

Följande överväganden hjälper till att säkerställa tillgängligheten i din miljö.

  • Tillgänglighetstester. Det URL-pingtest som används i den här arkitekturen är det enklaste testet utanför tillgängligheten. Andra alternativ är dock tillgängliga, till exempel:
    • Webbtest i flera steg. Spelar upp inspelningar av sekvenserade webbbegäranden för att testa komplexa scenarier. Webbtester med flera steg skapas i Microsoft Visual Studio Enterprise och laddas sedan upp till portalen för körning.
    • Anpassade spårningstillgänglighetstester. TrackAvailability() Använd metoden för att skicka testresultat till Application Insights.
  • Aviseringar. När du skapar ett tillgänglighetstest i Application Insights aktiveras händelseaviseringar som standard. Du kan redigera aviseringsreglerna genom att ange meddelandetyp och information från Azure Monitor-aviseringar>.

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.

Följande är saker att tänka på för att göra din miljö säkrare.

  • Log Analytics-arbetsyta. Åtkomstlägen definieras som en av följande kontexter:
    • Arbetsytekontext. Alla loggar som arbetsytan har behörighet att komma åt kan efterfrågas. Det här är en vertikal åtkomstmetod. Ett säkerhetsteam kan till exempel behöva åtkomst till alla resursdata uppifrån och ned.
    • Resurskontext. Endast loggar för specifika resurser kan efterfrågas. Ett programteam kan till exempel beviljas åtkomst till loggar för den specifika resurs som de arbetar med.
  • Skydda data under överföring till Log Analytics. Data under överföring skyddas med minsta TLS (Transport Layer Security) 1.2. Du behöver inte aktivera den här funktionen explicit. Mer information finns i Log Analytics-datasäkerhet.
  • Skydda vilande data i Log Analytics. Vilande data i Log Analytics skyddas, enligt Azure Storage, med 256-bitars AES-kryptering (Advanced Encryption Standard) som standard.
  • Smart identifiering. Använd Smart identifiering i Application Insights för att analysera telemetrin som genereras av ditt program och för att identifiera säkerhetsproblem. Mer information finns i Programsäkerhetsidentifieringspaket (förhandsversion).
  • Integrera Azure Monitor med SIEM-verktyg (Security Information and Event Management). Dirigera dina övervakningsdata till en händelsehubb med Azure Monitor för att integrera externa SIEM- och övervakningsverktyg. Mer information finns i Strömma Azure-övervakningsdata till en händelsehubb eller extern partner.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.

Följande är överväganden för att kontrollera och hantera kostnader i din miljö.

  • Azure Monitor. Azure Monitor-kostnader är förbrukningsbaserade, ofta kallade betala per användning.
  • Log Analytics. Du betalar för datainmatning och datakvarhållning. Du kan beräkna och prognostisera antalet virtuella datorer och mängden data (i gigabyte) som du förväntar dig att samla in från varje virtuell dator. En typisk virtuell Azure-dator förbrukar mellan 1 GB och 3 GB data varje månad. Om du utvärderar dataanvändning med Azure Monitor-loggar använder du datastatistiken från din egen miljö och får rabatt med kapacitetsreservationer.
  • Application Insights. Den här komponenten faktureras enligt mängden telemetridata som ditt program skickar och antalet webbtester som du kör.
  • Måttfrågor. Måttfrågor faktureras med antalet anrop som görs.
  • Aviseringar. Aviseringar faktureras baserat på typen och antalet övervakade signaler.
  • Meddelanden. Meddelanden faktureras efter typ och antal aviseringar som du skickar.
  • Azure Monitor. Avsnittet Användning och uppskattade kostnader i Azure Monitor uppskattar dina månatliga kostnader baserat på de senaste 31 dagarnas användning.
  • Mer information finns i pris- och priskalkylatorn för Azure Monitor.

Driftsäkerhet

Driftskvalitet omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i Översikt över grundpelare för driftskvalitet.

Hanterbarhet

Följande är överväganden för att göra din miljö mer hanterbar.

DevOps

Följande är överväganden för att integrera din miljö med DevOps-processer och -lösningar.

  • Application Insights. Integrera Application Insights i Azure Pipelines för att förbättra prestanda och användbarhet. Application Insights kan identifiera prestandaavvikelser automatiskt. Den ansluter till olika utvecklingsverktyg, till exempel Azure DevOps Services och GitHub.
  • Programinstrumentation. Instrumentera program genom att ändra programkod för att aktivera telemetri med Application Insights. Följande metoder är sätt att instrumentera program:
    • Vid körning. Instrumentering av webbprogrammet på servern vid körning är perfekt för program som redan har distribuerats, eftersom det undviker att behöva uppdatera kod. Lämpliga scenarier är:
      • Microsoft ASP.NET- eller ASP.NET Core-program som finns i Azure Web Apps
      • ASP.NET program som finns i Microsoft Internet Information Services (IIS) på en virtuell dator eller vm-skalningsuppsättning
      • ASP.NET program som finns i IIS på en lokal virtuell dator
      • Java-baserade Azure Functions
      • Node.JS appar i Linux App Services
      • Mikrotjänster som finns på AKS
    • Vid utvecklingstid. Lägg till Application Insights i koden för att anpassa telemetriinsamlingen och skicka mer data. Språk och plattformar som stöds är:
      • ASP.NET-program
      • ASP.NET Core-program
      • .NET-konsolprogram
      • Java
      • Node.js
      • Python
  • Använd IT Service Management Anslut or (ITSMC) för att ansluta till externa ITSM-verktyg (IT Service Management). ITSMC ansluter Azure till ITSM-produkter och -tjänster som stöds, där problemrelaterade arbetsobjekt vanligtvis finns. Mer information finns i Anslut Azure till ITSM-verktyg med hjälp av IT Service Management-Anslut eller.

Prestandaeffektivitet

Prestandaeffektivitet är arbetsbelastningens förmåga att skala på ett effektivt sätt för att uppfylla de krav som användarna ställer på den. Mer information finns i Översikt över grundpelare för prestandaeffektivitet.

Följande är överväganden för att skala din miljö.

  • Automatisera installationen och konfigurationen av dina resurser och program.
  • Storskaliga geografiskt spridda program. Använd distribuerad spårning i Application Insights för att spåra beroenden och anrop mellan flera programkomponenter, serverdelsresurser och mikrotjänstmiljöer. Med distribuerad spårning kan du felsöka program som anropar över processgränser utanför den lokala stacken. (Du behöver inte aktivera Distribuerad spårning, den är tillgänglig automatiskt som en del av App Insights.)
    • Två alternativ för att använda distribuerade spårningsdata är:
      • Transaktionsdiagnostik. Den här upplevelsen liknar en anropsstack med en extra tidsdimension. Funktionen för transaktionsdiagnostik ger insyn i en enda transaktion/begäran. Det är användbart för att hitta rotorsaken till tillförlitlighetsproblem och flaskhalsar för prestanda per begäran. Mer information finns i Vad är distribuerad spårning?
      • Programkarta. Detta aggregerar många transaktioner för att visa hur system interagerar topologiskt och ger genomsnittlig prestanda och felfrekvens. Mer information finns i Programkarta: Sortera distribuerade program.

Nästa steg

Läs mer om komponentteknikerna:

Utforska relaterade arkitekturer: