Tworzenie podstawowych zapytań dziennika usługi Azure Monitor w celu wyodrębnienia informacji z danych dziennika

Ukończone

Zapytania dziennika usługi Azure Monitor umożliwiają wyodrębnianie informacji z danych dziennika. Wykonywanie zapytań jest ważną częścią badania danych dziennika przechwytywanych przez usługę Azure Monitor.

W przykładowym scenariuszu zespół operacyjny używa zapytań dzienników usługi Azure Monitor do badania kondycji systemu.

Zapisywanie zapytań dzienników usługi Azure Monitor za pomocą usługi Log Analytics

Narzędzie Log Analytics można znaleźć w witrynie Azure Portal. Służy ono do uruchamiania przykładowych zapytań lub tworzenia własnych zapytań:

  1. W witrynie Azure Portal w okienku menu po lewej stronie wybierz pozycję Monitoruj.

    Zostanie wyświetlona strona usługi Azure Monitor wraz z większą liczbie opcji, w tym dziennikiem aktywności, alertami, metrykami i dziennikami.

  2. Wybierz pozycję Dzienniki.

    W tym miejscu możesz wprowadzić zapytanie i wyświetlić dane wyjściowe.

    Zrzut ekranu przedstawiający usługę Azure Monitor i otwartą nową kartę zapytania.

Pisanie zapytań przy użyciu języka Kusto

Możesz użyć język zapytań Kusto do wykonywania zapytań dotyczących informacji dziennika dla usług uruchomionych na platformie Azure. Zapytanie języka Kusto jest żądaniem tylko do odczytu, które przetwarza dane i zwraca wyniki. Zapytanie zostanie wyświetlone w postaci zwykłego tekstu przy użyciu modelu przepływu danych zaprojektowanego w celu ułatwienia odczytywania, zapisywania i automatyzowania składni. Zapytanie używa jednostek schematu, które są organizowane w formie hierarchii podobnej do bazy danych Azure SQL Database: bazy danych, tabele i kolumny.

Zapytanie Kusto składa się z sekwencji instrukcji zapytania rozdzielonych średnikami (;). Co najmniej jedna instrukcja to instrukcja wyrażenia tabelarycznego. Instrukcja wyrażenia tabelarycznego formatuje dane ułożone w postaci kolumn i wierszy tabeli.

Składnia instrukcji wyrażenia tabelarycznego ma przepływ danych tabelarycznych z jednego operatora zapytania tabelarycznego do innego, począwszy od źródła danych. Źródło danych może być tabelą w bazie danych lub operatorem tworzącym dane. Następnie dane przepływają przez zestaw operatorów przekształcania danych, które są powiązane z ogranicznikiem potoku (|).

Na przykład następujące zapytanie języka Kusto ma pojedynczą instrukcję wyrażenia tabelarycznego. Instrukcja rozpoczyna się od odwołania do tabeli o nazwie Events. Baza danych, która obsługuje tę tabelę, jest w tym miejscu niejawna i stanowi część informacji o połączeniu. Dane dla tej tabeli są przechowywane w wierszach i są filtrowane według wartości kolumny StartTime. Dane są następnie filtrowane dalej według wartości kolumny State. Zapytanie zwraca liczbę wierszy wynikowych.

Events
| where StartTime >= datetime(2018-11-01) and StartTime < datetime(2018-12-01)
| where State == "FLORIDA"  
| count

Uwaga

W języku zapytań Kusto używanym przez usługę Azure Monitor jest uwzględniana wielkość liter. Słowa kluczowe języka są zwykle zapisywane przy użyciu małych liter. W przypadku używania nazw tabel lub kolumn w zapytaniu upewnij się, że używasz odpowiedniej wielkości liter.

Zdarzenia przechwycone z dzienników zdarzeń monitorowanych komputerów to tylko jeden typ źródła danych. Usługa Azure Monitor udostępnia wiele innych typów źródeł danych. Na przykład źródło danych Heartbeat zgłasza kondycję wszystkich komputerów wysyłających raporty do obszaru roboczego usługi Log Analytics. Możesz również przechwytywać dane z liczników wydajności i rekordów zarządzania aktualizacjami.

Następujący przykład pobiera najnowszy rekord pulsu dla każdego komputera. Komputer jest identyfikowany za pomocą adresu IP. W tym przykładzie agregacja summarize z funkcją arg_max zwraca rekord z najnowszą wartością dla każdego adresu IP.

Heartbeat
| summarize arg_max(TimeGenerated, *) by ComputerIP