Bewaking voor DevOps

Wat u niet kunt zien, kunt u niet meten. Wat u niet kunt meten, kunt u niet verbeteren. Dit klassieke beheeraxiom is ook waar in de cloud. Traditionele toepassings- en infrastructuurbewaking is gebaseerd op of de toepassing wordt uitgevoerd of welke reactietijd deze geeft. Cloudgebaseerde bewaking biedt echter veel meer mogelijkheden die u moet benutten om uw gebruikers de beste ervaring te bieden.

Toepassingsbewaking

Application Insights is de Azure-service waarmee niet alleen kan worden gecontroleerd of uw toepassing correct wordt uitgevoerd, maar het oplossen van problemen met toepassingen eenvoudiger maakt en kan worden gebruikt voor aangepaste zakelijke telemetrie waarmee u kunt zien of uw toepassing wordt gebruikt zoals bedoeld.

Zorg ervoor dat u gebruik maakt van alle uitgebreide informatie die Application Insights over uw toepassing kan bieden. Deze lijst is niet volledig, maar hier vindt u enkele van de zichtbaarheid die Application Insights u kunt bieden:

  • Application Insights biedt u een standaarddashboard met een goed idee van de belangrijkste metrische gegevens waarin u geïnteresseerd bent. Vervolgens kunt u deze wijzigen en aanpassen aan uw eigen behoeften.
  • Door uw toepassing correct te instrumenteren, geeft Application Insights u prestatiestatistieken, zowel vanuit client- als serverperspectief
  • In het toepassingskaart worden toepassingsafhankelijkheden weergegeven in andere services, zoals back-end-API's of databases, zodat visueel kan worden bepaald waar prestatieproblemen zich voor doen
  • Slimme detectie waarschuwt u wanneer er afwijkingen in prestatie- of gebruikspatronen optreden
  • Gebruiksanalyse kan u telemetrie geven over welke functies van uw toepassing het meest worden gebruikt of of al uw toepassingsfunctionaliteit wordt gebruikt. Deze functie is vooral nuttig na wijzigingen in de toepassingsfunctionaliteit om te controleren of deze wijzigingen zijn geslaagd
  • Releaseaantekeningen zijn visuele indicatoren in uw Application Insights-grafieken van nieuwe builds en andere gebeurtenissen, zodat u wijzigingen in toepassingsprestaties visueel kunt correleren met codereleases, zodat u snel prestatieproblemen kunt aanwijzen.
  • Met diagnostische gegevens over transacties tussen onderdelen kunt u mislukte transacties volgen om het punt te vinden in de architectuur waar de fout vandaan komt.
  • Snapshot Debugger voor het automatisch verzamelen van een momentopname van een live-toepassing in het geval van een uitzondering, om deze in een latere fase te analyseren.

Als u Application Insights wilt gebruiken, hebt u twee opties: u kunt bewaking zonder code gebruiken, waarbij het onboarden van uw app naar Application Insights geen codewijziging of bewaking op basis van code vereist, waarbij u uw code instrumenteert om telemetrie te verzenden naar Application Insights met behulp van de Software Development Kit voor uw programmeertaal naar keuze.

U kunt zeker andere hulpprogramma's voor Application Performance Management gebruiken om uw toepassing in Azure te bewaken, zoals NewRelic of AppDynamics, maar Application Insights biedt u de meest naadloze en geïntegreerde ervaring.

Platformbewaking

Application Insights is in feite een van de onderdelen van Azure Monitor, die u uitgebreide metrische gegevens en logboeken biedt om de status van uw volledige Azure-landschap te controleren. Ongeacht of uw toepassing wordt uitgevoerd op Virtual Machines, App Services of Kubernetes, Azure Monitor helpt u de status van uw infrastructuur te volgen en snel te reageren als er problemen zijn.

Controleer niet alleen uw rekenelementen die uw toepassingscode ondersteunen, maar ook uw gegevensplatform: databases, opslagaccounts of data lakes moeten nauwkeurig worden bewaakt, omdat een lage prestaties van de gegevenslaag van een toepassing ernstige gevolgen kunnen hebben.

Container Insights

Als uw toepassing wordt uitgevoerd op Azure Kubernetes Service, Azure Monitor u eenvoudig de status van uw cluster, knooppunten en pods bewaken. Container Insights is eenvoudig te configureren voor AKS-clusters en biedt snelle, visuele en actie-informatie: van de CPU- en geheugenbelasting van uw knooppunten tot de logboeken van afzonderlijke Kubernetes-pods.

Voor operators die liever gebruikmaken van het opensource Kubernetes-bewakingshulpprogramma Prometheus, maar nog steeds gebruikmaken van het gebruiksgemak van Azure Monitor Container Insights, kunnen beide oplossingen bovendien met elkaar worden geïntegreerd.

Het Sidecar-patroon voegt een afzonderlijke container toe met verantwoordelijkheden die vereist zijn voor de hoofdcontainer. Een veelvoorkomende toepassing is voor het uitvoeren van hulpprogramma's voor logboekregistratie en bewakingsagents.

Netwerkbewaking

Ongeacht de vormfactor of programmeertaal waar uw toepassing op is gebaseerd, kan het netwerk dat uw code verbindt met uw gebruikers de ervaring die uw toepassing biedt, maken of breken. Als gevolg hiervan kan het bewaken en oplossen van problemen met het netwerk een groot probleem zijn voor een operationeel team. Het onderdeel van Azure Monitor dat de netwerkonderdelen beheert, wordt Network Watcher, een verzameling hulpprogramma's voor netwerkbewaking en probleemoplossing. Enkele van deze hulpprogramma's zijn:

  • Traffic Analytics geeft u een overzicht van het verkeer in uw virtuele netwerken, evenals het percentage afkomstig van schadelijke IP-adressen, met gebruik van Microsoft Threat Intelligence-databases. Dit hulpprogramma toont u ook de systemen in uw virtuele netwerken die het meeste verkeer genereren, zodat u knelpunten visueel kunt identificeren voordat ze in problemen ontstaan.
  • Network Performance Manager kan synthetisch verkeer genereren om de prestaties van netwerkverbindingen via meerdere koppelingen te meten, zodat u een perspectief hebt op de ontwikkeling van WAN- en internetverbindingen gedurende een bepaalde periode en waardevolle bewakingsinformatie over Microsoft ExpressRoute-circuits biedt.
  • Diagnostische gegevens van VPN kunnen helpen bij het oplossen van problemen met site-naar-site-VPN-verbindingen die uw toepassingen verbinden met on-premises gebruikers.
  • Verbindingsmonitor kunt u de netwerkbeschikbaarheid tussen sets eindpunten meten.

Andere informatiebronnen

Niet alleen uw toepassingsonderdelen produceren gegevens, maar er zijn ook veel andere signalen die u moet bijhouden om een cloudomgeving effectief te kunnen gebruiken:

  • Activiteitenlogboek: dit is een audittrail waarmee u elke wijziging kunt zien die azure-API's heeft doorgegaan. Het kan essentieel zijn om inzicht te krijgen in plotselinge prestatiewijzigingen of problemen, die mogelijk zijn veroorzaakt door een onjuiste configuratie van het Azure-platform.
  • Azure Service Health: soms worden storingen niet veroorzaakt door configuratiewijzigingen, maar door storingen in het Azure-platform zelf. U vindt informatie over elk Azure-probleem dat van invloed is op uw toepassing in Azure Service Health logboeken.
  • Azure Advisor: hier vindt u aanbevelingen voor het optimaliseren van uw Azure-platform om kosten te verlagen, uw beveiligingsstatus te verbeteren of de beschikbaarheid van uw omgeving te vergroten.
  • Azure Security Center: geen focus van deze pijler, maar om te worden opgenomen voor de volledigheid: Azure Security Center kan u helpen te begrijpen of uw Azure-resources zijn geconfigureerd volgens de best practices voor beveiliging

Externe afhankelijkheden bewaken

Het bewaken van externe afhankelijkheden is net zo belangrijk als het bewaken van uw toepassingen en Azure-infrastructuur. Zorg ervoor dat u oplossingen hebt om inzicht te krijgen in de status en beschikbaarheid van externe afhankelijkheden, zoals services van derden, pakket-opslagplaatsen en andere gerelateerde toepassingen.

Azure Monitor kan een rol hebben bij het bewaken van externe afhankelijkheden. Azure Monitor kunt gegevens opnemen uit verschillende aangepaste gegevensbronnen, wat enige extenseerbaarheid biedt in wat kan worden bewaakt. Het gebruik van aangepaste gegevensbronnen voor externe afhankelijkheden biedt u de mogelijkheden van Azure Monitor op virtuele oplossingen voor elke service, eindpunt of software.

Zie de volgende artikelen voor meer informatie over het opnemen van gegevens uit aangepaste bronnen.

Best practices voor bewaking

Gebeurteniscorrelatie

Een belangrijk voordeel van Azure Monitor is dat het het bewakingshulpprogramma voor het hele Azure-platform is. Zoals u in de vorige secties hebt kunnen zien, bevat Azure Monitor metrische gegevens en logboeken die relevant zijn voor uw toepassingscode, het platform waarop de toepassing wordt uitgevoerd, de gegevensonderdelen en het netwerk waarmee de toepassing met de gebruikers wordt verbonden. Hierdoor kunnen operators metrische gegevens van verschillende toepassingsonderdelen met elkaar vergelijken en afhankelijkheden vinden die anders mogelijk verborgen waren.

Dashboards in Azure bieden een uitstekende manier om de uitgebreide informatie in de Azure Monitor beschikbaar te stellen aan andere gebruikers. Zorg ervoor dat u gedeelde dashboards maakt om relevante informatie beschikbaar te maken voor de verschillende groepen die betrokken zijn bij het gebruik van uw toepassing, waaronder Ontwikkelaars en Operators. Als complexere visualisaties vereist zijn, Azure Monitor gegevens worden geëxporteerd naar Power BI voor geavanceerde gegevensanalyse.

Meldingen

Of het nu gaat om toepassings-, netwerk- of platformbewaking, u mag niet verwachten dat operators voortdurend naar dashboards kijken. In plaats daarvan moeten waarschuwingen worden gebruikt om proactieve meldingen te verzenden naar de relevante personen die erop reageren. Actiegroepen in Azure Monitor kunnen worden gebruikt om meerdere ontvangers op de hoogte te stellen, geautomatiseerde acties te activeren of zelfs om automatisch tickets te openen in IT Service Management Tools zoals ServiceNow.

Automatisering rond waarschuwingen is essentieel vanwege de samenwerkings aard van DevOps en de inherente snelheid die nodig is voor effectief incidentbeheer. Eerder dit jaar werd een rapport van DevOps.com met de mededeling dat 80% van de IT-teams via e-mail wordt gewaarschuwd voor kritieke incidenten. E-mail is een effectieve vorm van communicatie, maar dit mag niet de meest voorkomende meldingsmethode zijn voor een kritiek probleem. Als u in plaats daarvan acties kunt definiëren die moeten worden uitgevoerd bij het ontvangen van bepaalde waarschuwingen (zoals omhoog of omlaag schalen), zal uw systeem zichzelf herstellen.

Andere bewakingstaken

Naast Azure Monitor wilt u bepaalde gebeurtenissen in de gaten houden om ervoor te zorgen dat uw toepassing probleemloos wordt uitgevoerd:

  • Controleer de limieten van het Azure-abonnement voor uw resources en zorg ervoor dat u niet te dicht bij elkaar komt.
  • Meer ondersteuning voor Azure plannen. Raadpleeg de ondersteuning voor Azure veelgestelde vragen. Uw team vertrouwd maken met ondersteuning voor Azure.
  • Zorg ervoor dat u de vervaldatums van digitale certificaten bewaakt of, nog beter, automatische verlenging van digitale certificaten configureert met Azure Key Vault.

Samenvatting

U kunt elk bewakingsplatform gebruiken om uw Azure-resources te beheren. Microsoft's eerste aanbod is Azure Monitor, een uitgebreide oplossing voor metrische gegevens en logboeken van de infrastructuur naar de toepassingscode, waaronder de mogelijkheid om waarschuwingen, geautomatiseerde acties en gegevensvisualisatie te activeren.

Volgende stappen