Toepassingstoestand controleren op betrouwbaarheid
Bewaking en diagnose zijn van cruciaal belang voor beschikbaarheid en tolerantie. Als er iets mislukt, moet u weten dat het is mislukt, wanneer het is mislukt en waarom.
Bewaking is niet hetzelfde als foutdetectie. Uw toepassing kan bijvoorbeeld een tijdelijke fout detecteren en het opnieuw proberen, om downtime te voorkomen. Maar het moet ook de bewerking voor opnieuw proberen in een logboek houden, zodat u de foutfrequentie kunt controleren om een algemeen beeld van de toepassingstoestand te krijgen.
Belangrijkste punten
- Definieer waarschuwingen die actie kunnen worden ondernomen en die effectief worden geprioriteerd.
- Maak waarschuwingen die zoeken naar services die hun limieten en quota bijna hebben bereikt.
- Gebruik toepassings instrumentatie om prestatieafwijkingen te detecteren en op te lossen.
- De voortgang van langlopende processen bijhouden.
- Problemen oplossen om een algemeen overzicht van de toepassingstoestand te krijgen.
Waarschuwingen
Waarschuwingen zijn meldingen van problemen met de systeemtoestand die tijdens de bewaking zijn gevonden. Waarschuwingen leveren alleen waarde als ze actie kunnen ondernemen en effectief worden geprioriteerd door on-call engineers via gedefinieerde operationele procedures. Telemetriegegevens presenteren in een dashboard- of e-mailwaarschuwingsindeling, zodat een operator snel problemen of trends kan opvallen.
Waarschuwingen op serviceniveau
Gebruik Azure Service Health om te reageren op gebeurtenissen op serviceniveau. Azure Service Health biedt een overzicht van de status van Azure-services en -regio's. De service geeft communicatie uit die van invloed is op de volgende services:
- Uitval
- Geplande onderhoudsactiviteiten
- Andere statusadviezen
Azure Service Health moeten worden geconfigureerd voor het operationeel maken van Service Health gebeurtenissen. Deze Service Health echter niet worden gebruikt voor het detecteren van problemen vanwege bijbehorende latentie. Er is een minuut serviceniveaudoelstelling (SLO) voor geautomatiseerde problemen, maar voor veel problemen is handmatige interpretatie vereist om een hoofdoorzaakanalyse 5 (RCA) te definiëren. In plaats daarvan moeten waarschuwingen worden gebruikt om nuttige informatie te bieden voor het interpreteren van problemen die zijn gedetecteerd en aangetroffen via het statusmodel, om een operationeel antwoord te geven.
Als u meer wilt weten, Azure Service Health.
Waarschuwingen op resourceniveau
Gebruik Azure Resource Health om te reageren op gebeurtenissen op resourceniveau. Azure Resource Health informatie over de status van afzonderlijke resources, zoals een specifieke virtuele machine, en is zeer nuttig bij het diagnosticeren van niet-beschikbare resources.
Azure Resource Health moeten worden geconfigureerd voor specifieke resourcegroepen en resourcetypen. Deze waarschuwingen moeten worden aangepast om de signaal- en ruisverhouding te maximaliseren. U kunt bijvoorbeeld alleen een melding distribueren wanneer een resource beschadigd raakt volgens het statusmodel van de toepassing of als gevolg van een door het Azure-platform geïnitieerde gebeurtenis. Het is belangrijk om tijdelijke problemen te overwegen bij het instellen van een geschikte drempelwaarde voor niet-beschikbaarheid van resources. Configureer bijvoorbeeld een waarschuwing voor een virtuele machine met een drempelwaarde van een minuut voor 1 niet-beschikbaarheid voordat een waarschuwing wordt geactiveerd.
Voor meer informatie verwijzen we Azure Resource Health.
Dashboards
U kunt ook een volledige weergave van de toepassingstoestand krijgen met behulp van Azure-dashboards om een gecombineerde weergave van bewakingsgrafieken te maken op basis van het volgende:
- Application Insights
- Log Analytics
- Azure Monitor metrische gegevens
- Service Health
Voorbeelden
Hier zijn enkele voorbeelden van het maken en opvragen van waarschuwingen:
- HealthAlert:een voorbeeld van het maken van waarschuwingen voor statusactiviteitenlogboek op resourceniveau. In het voorbeeld worden Azure Resource Manager gebruikt om waarschuwingen te maken.
- GraphAlertsPsSample: eenset PowerShell-opdrachten die query's uitvoeren op waarschuwingen die zijn gegenereerd voor uw abonnement.
Limieten voor het Azure-abonnement en de Azure-service
Azure-abonnementen hebben limieten voor bepaalde resourcetypen, zoals het aantal resourcegroepen, kernen en opslagaccounts. Om ervoor te zorgen dat uw toepassing niet wordt uitgevoerd op de limieten voor Azure-abonnementen, maakt u waarschuwingen die zoeken naar services die hun limieten en quota bijna hebben bereikt.
Verholpen de volgende abonnementslimieten met waarschuwingen.
Afzonderlijke services
Afzonderlijke Azure-services hebben verbruikslimieten voor:
- Storage
- Doorvoer
- Aantal verbindingen
- Aanvragen per seconde
Uw toepassing mislukt als deze resources buiten deze limieten probeert te gebruiken, wat leidt tot servicebeperking en mogelijke downtime.
Afhankelijk van de specifieke service en uw toepassingsvereisten, kunt u vaak onder deze limieten blijven door omhoog te schalen (bijvoorbeeld door een andere prijscategorie te kiezen) of uit te schalen (nieuwe exemplaren toe te voegen).
Schaalbaarheids- en prestatiedoelen voor Azure Storage
Azure staat een maximum aantal opslagaccounts per abonnement toe. Als uw toepassing meer opslagaccounts vereist dan momenteel beschikbaar is in uw abonnement, maakt u een nieuw abonnement met extra opslagaccounts. Voor meer informatie verwijzen we naar Limieten, quota's en beperkingen voor Azure-abonnementen en -service.
Schaalbaarheidsdoelen voor schijven van virtuele machines
Een virtuele IaaS-machine (Infrastructure as a Service) van Azure ondersteunt het koppelen van veel gegevensschijven, afhankelijk van verschillende factoren, waaronder de grootte van de virtuele machine en het type opslagaccount. Als uw toepassing de schaalbaarheidsdoelen voor schijven van virtuele machines overschrijdt, richt u extra opslagaccounts in en maakt u de schijven van de virtuele machine daar. Voor meer informatie verwijzen we naar Schaalbaarheids- en prestatiedoelen voor VM-schijven.
Grootte van de virtuele machine
Als de werkelijke CPU, het geheugen, de schijf en de I/O van uw virtuele machines de limieten van de grootte van de virtuele machine benaderen, kan uw toepassing capaciteitsproblemen ervaren. Verhoog de grootte van de virtuele machine om de problemen op te lossen.
Als uw workload in de tijd fluctueert, kunt u overwegen om virtuele-machineschaalsets te gebruiken om het aantal virtuele exemplaren automatisch te schalen. Anders moet u het aantal virtuele machines handmatig verhogen of verlagen.
Azure SQL Database
Als uw Azure SQL Database niet voldoende is voor het afhandelen van de DTU-vereisten (Database Transaction Unit) van uw toepassing, wordt het gebruik van uw gegevens beperkt. Voor meer informatie over het selecteren van het juiste serviceplan, Azure SQL Database aankoopmodellen.
Instrumentation
Instrumenteren van toepassingen om de klantervaring te meten. Effectieve instrumentatie is essentieel voor het detecteren en oplossen van prestatieafwijkingen die van invloed kunnen zijn op de klantervaring en de beschikbaarheid van toepassingen. Als u een robuust statusmodel voor toepassingen wilt bouwen, is het essentieel dat u inzicht hebt in de operationele status van kritieke interne afhankelijkheden, zoals een gedeelde NVA of Express Route-verbinding.
Geautomatiseerde failover- en failbacksystemen zijn afhankelijk van de juiste werking van bewaking en instrumentatie. Dashboards waarmee de systeemtoestand en operatorwaarschuwingen worden gevisualiseerd, zijn ook afhankelijk van nauwkeurige bewaking en instrumentatie. Als deze elementen mislukken, kritieke informatie missen of onnauwkeurige gegevens rapporteren, realiseert een operator zich mogelijk niet dat het systeem niet in orde is of mislukt. Zorg ervoor dat u bewakingssystemen in uw testplan op te nemen.
Instrumenteren van toepassingen om aanroepen naar afhankelijke services bij te houden. Het bijhouden van afhankelijkheden en het meten van de duur of status van afhankelijkheidsoproepen is ook essentieel voor het meten van de algehele toepassingsstatus. Het moet worden gebruikt om een statusmodel voor de toepassing te informeren.
Microsoft raadt aan om logboeken en belangrijke metrische gegevens van kritieke onderdelen te verzamelen en op te slaan.
Uitgebreide instrumentatie bieden:
- Voor fouten die waarschijnlijk zijn, maar nog niet zijn opgetreden: geef voldoende gegevens op om de oorzaak te bepalen, de situatie te beperken en ervoor te zorgen dat het systeem beschikbaar blijft.
- Voor fouten die al zijn opgetreden: de toepassing moet een geschikt foutbericht retourneren aan de gebruiker, maar moet proberen door te gaan ondanks verminderde functionaliteit.
Bewakingssystemen moeten uitgebreide details vastleggen, zodat toepassingen efficiënt kunnen worden hersteld en, indien nodig, ontwerpers en ontwikkelaars het systeem kunnen wijzigen om te voorkomen dat de situatie zich opnieuw voordeed.
Langlopende werkstroomfouten
Langlopende werkstromen bevatten vaak meerdere stappen, die allemaal onafhankelijk moeten zijn.
Houd de voortgang van langlopende processen bij om de kans te minimaliseren dat de hele werkstroom moet worden teruggedraaid of dat er meerdere compenserende transacties moeten worden uitgevoerd.
Tip
Controleer en beheer de voortgang van langlopende werkstromen door een patroon zoals Scheduler Agent Supervisor te implementeren.
Analyse en diagnose
Analyseer gegevens die zijn gecombineerd in deze gegevensopslag om problemen op te lossen en een algemeen overzicht van de toepassingstoestand te krijgen. Over het algemeen kunt u de gegevens zoeken en analyseren in Application Insightsen Log Analytics met behulp van Kusto-query's, of vooraf geconfigureerde grafieken weergeven met behulp van beheeroplossingen. Gebruik Azure Advisor om aanbevelingen weer te geven met een focus op tolerantie en prestaties.
Verwante koppelingen
- Voor informatie over dashboards verwijst u naar Azure-dashboards.
- Voor informatie over de grootten van virtuele machines verwijzen we naar Grootten voor virtuele machines in Azure.
- Voor informatie over schaalsets, verwijzen wij u naar overzicht van virtuele-machineschaalsets.
Terug het hoofdartikel: Bewaking