Oefening - Eenvoudige Azure Monitor-logboekquery's maken om informatie op te halen uit logboekgegevens
Het operations-team beschikt momenteel niet over voldoende informatie over het systeemgedrag om problemen effectief te diagnosticeren en op te lossen. Om dit probleem op te lossen, heeft het team een Azure Monitor-werkruimte geconfigureerd met de Azure-services van het bedrijf. Er worden Kusto-query's uitgevoerd om de status van het systeem op te halen en probeert de oorzaken van eventuele problemen te identificeren.
Het team is met name geïnteresseerd in het bewaken van beveiligingsgebeurtenissen om te controleren of er pogingen worden gedaan om het systeem te hacken. Een aanvaller kan proberen de toepassingen die worden uitgevoerd in het systeem te manipuleren. Het team wil dan ook toepassingsgegevens verzamelen voor extra analyse. Misschien probeert een aanvaller ook de computers die deel uitmaken van het systeem te stoppen; daarom wil het team onderzoeken hoe en wanneer machines worden gestopt en opnieuw worden opgestart.
In deze oefening oefent u met het uitvoeren van Azure-logboekquery's op een demoproject met voorbeeldgegevens in tabellen, logboeken en query's.
Eenvoudige Azure Monitor-logboekquery's maken om informatie op te halen uit logboekgegevens
Laten we het deelvenster Azure-demologboeken gebruiken om te oefenen met het schrijven van query's. De demoprojectwerkruimte wordt vooraf ingevuld met voorbeeldgegevens. Azure biedt een geoptimaliseerde SQL-achtige query met visualisatieopties van de gegevens in een taal met de naam KQL (Kusto-querytaal.)
Open de demo-omgeving logboeken. In de linkerbovenhoek, onder Nieuwe query 1, vindt u Demo, die de werkruimte van de query (of het bereik) identificeert. De linkerkant van dit deelvenster bevat verschillende tabbladen: Tabellen, Query's en Functies. Aan de rechterkant ziet u een kladblok voor het maken of bewerken van query's.
Voer op het tabblad Nieuwe query 1 een basisquery in op de eerste regel van het kladblok. Met deze query worden de details opgehaald van de 10 meest recente beveiligingsevenementen.
SecurityEvent | take 10
Selecteer Uitvoeren in de opdrachtbalk om de query uit te voeren en de resultaten weer te geven. U kunt elke rij uitvouwen in het resultatenvenster voor meer informatie.
Sorteer de gegevens op tijd door een filter toe te voegen aan uw query:
SecurityEvent | top 10 by TimeGenerated
Voeg een filtercomponent en een tijdsbereik toe. Voer deze query uit om records op te halen die meer dan 30 minuten oud zijn en die een niveau van 10 of meer hebben:
SecurityEvent | where TimeGenerated < ago(30m) | where toint(Level) >= 10
Voer de volgende query uit om in de
AppEvents
tabel te zoeken naar records van deClicked Schedule Button
gebeurtenis die in de afgelopen 24 uur wordt aangeroepen:AppEvents | where TimeGenerated > ago(24h) | where Name == "Clicked Schedule Button"
Voer de volgende query uit om het aantal verschillende computers weer te geven dat elke week heartbeat-gebeurtenissen heeft gegenereerd voor de afgelopen drie weken. De resultaten worden weergegeven als staafdiagram:
Heartbeat | where TimeGenerated >= startofweek(ago(21d)) | summarize dcount(Computer) by endofweek(TimeGenerated) | render barchart kind=default
Vooraf gedefinieerde Azure-logboekquery's gebruiken om informatie uit logboekgegevens te extraheren
Naast het schrijven van volledig nieuwe query's kan het operations-team ook profiteren van vooraf gedefinieerde query's in Azure-logboeken die veelgestelde vragen beantwoorden met betrekking tot de status, beschikbaarheid, gebruik en prestaties van hun resources.
Gebruik de parameter Tijdsbereik in de opdrachtbalk om een aangepast bereik in te stellen. Selecteer de maand, het jaar en de dag tot een bereik van januari tot vandaag. U kunt een aangepast tijdstip instellen en toepassen op elke query.
Selecteer query's op de linkerwerkbalk. In de vervolgkeuzelijst in het linkermenu kunt u een lijst weergeven met de voorbeeldquery's gegroepeerd op categorie, querytype, resourcetype, oplossing of onderwerp.
Selecteer Categorie in de vervolgkeuzelijst en selecteer vervolgens IT & Management Tools.
Voer in het zoekvak Afzonderlijke ontbrekende updates in op computers. Dubbelklik op de query in het linkerdeelvenster en selecteer Uitvoeren. Het deelvenster Logboeken wordt opnieuw weergegeven, waarbij de query een lijst met Windows-updates retourneert die ontbreken in virtuele machines die logboeken naar de werkruimte verzenden.
Notitie
U kunt dezelfde query ook uitvoeren vanuit het deelvenster Logboeken . Selecteer in het linkerdeelvenster het tabblad Query's en selecteer vervolgens Categorie in de vervolgkeuzelijst Groeperen op . Schuif nu omlaag in de lijst, vouw IT & Management Tools uit en dubbelklik op Distinct missing updates cross computers. Selecteer Uitvoeren om de query uit te voeren. Wanneer u een vooraf gedefinieerde query selecteert in het linkerdeelvenster, wordt de querycode toegevoegd aan elke query die op het kladblok aanwezig is. Vergeet niet om het kladblok te wissen voordat u een nieuwe query opent of toevoegt om uit te voeren.
Schakel in het linkerdeelvenster het zoekvak uit. Selecteer Query's en selecteer vervolgens Categorie in de vervolgkeuzelijst Groeperen op . Vouw Azure Monitor uit en dubbelklik vandaag op De beschikbaarheid van computers. Selecteer Uitvoeren. Met deze query maakt u een tijdreeksgrafiek met het aantal unieke IP-adressen dat logboeken naar de werkruimte verzendt voor de afgelopen dag.
Selecteer Onderwerp in de vervolgkeuzelijst Groeperen op, schuif omlaag om functie-app uit te vouwen en dubbelklik vervolgens op Toepassingslogboeken uit Functie-apps weergeven. Selecteer Uitvoeren. Deze query retourneert een lijst met toepassingslogboeken, gesorteerd op tijd met de meest recente logboeken die eerst worden weergegeven.
U ziet dat u vanuit de Kusto-query's die u hier hebt gebruikt, een query eenvoudig kunt richten op een specifiek tijdvenster, gebeurtenisniveau of gebeurtenislogboektype. Het beveiligingsteam kan eenvoudig heartbeats onderzoeken om te bepalen wanneer servers niet beschikbaar zijn. Dit kan duiden op een Denial of Service-aanval. Als het team weet wanneer een server niet beschikbaar was, kan er een query worden uitgevoerd voor gebeurtenissen in het beveiligingslogboek van rond dat tijdstip. Zo kan worden onderzocht of de onderbreking is veroorzaakt door een aanval. Bovendien kunnen vooraf gedefinieerde query's de beschikbaarheid van vm's evalueren, ontbrekende Windows-updates identificeren en firewalllogboeken controleren om geweigerde netwerkstromen weer te geven die zijn bedoeld voor de VM's van belang.