Funkcje w zapytaniach dziennika Azure Monitor

Funkcja to zapytanie dziennika w Azure Monitor, które może być używane w innych zapytaniach dziennika, tak jakby było to polecenie. Za pomocą funkcji można udostępniać rozwiązania różnym klientom, a także ponownie używać logiki zapytań we własnym środowisku. W tym artykule opisano sposób używania funkcji i sposobu tworzenia własnych.

Wymagane uprawnienia

Akcja Wymagane uprawnienia
Wyświetlanie lub używanie funkcji Microsoft.OperationalInsights/workspaces/query/*/read uprawnienia do obszaru roboczego Log Analytics, zgodnie z wbudowaną rolą Czytnika Log Analytics, na przykład.
Tworzenie lub edytowanie funkcji microsoft.operationalinsights/workspaces/savedSearches/write uprawnienia do obszaru roboczego Log Analytics, zgodnie z wbudowaną rolą współautora Log Analytics, na przykład.

Typy funkcji

Istnieją dwa typy funkcji w Azure Monitor:

  • Funkcje rozwiązania: Wstępnie utworzone funkcje są dołączone do usługi Azure Monitor. Te funkcje są dostępne we wszystkich Log Analytics obszarach roboczych i nie można ich modyfikować.

  • Workspace functions: Te funkcje są instalowane w określonym obszarze roboczym Log Analytics. Można je modyfikować i kontrolować przez użytkownika.

Wyświetlanie funkcji

Wyświetl funkcje rozwiązania i funkcje obszaru roboczego w bieżącym obszarze roboczym, wybierając pozycję Funkcje w lewym okienku obszaru roboczego Log Analytics. Rozwiń kategorię lub wprowadź ciąg w polu Wyszukiwania , aby zlokalizować określoną funkcję. Umieść kursor na funkcji, aby wyświetlić szczegółowe informacje o niej, w tym opis i parametry.

Zrzut ekranu przedstawiający dzienniki wybrane w obszarze nawigacji i szczegółów funkcji obszaru roboczego w okienku Funkcje.

Korzystanie z funkcji

Użyj funkcji w zapytaniu, wpisując jej nazwę oraz wartości dowolnych parametrów, tak jak w poleceniu. Dane wyjściowe funkcji mogą być zwracane jako wyniki lub przekazywane do innego polecenia.

Uruchom funkcję z okienka Funkcje , umieszczając wskaźnik myszy na jego nazwie i wybierając pozycję Uruchom. IntelliSense uwzględnia funkcje z obszaru roboczego podczas wpisywania zapytania.

Jeśli zapytanie wymaga parametrów, podaj je przy użyciu składni function_name(param1,param2,...).

Zrzut ekranu przedstawiający korzystanie z funkcji.

Tworzenie funkcji

Aby utworzyć funkcję na podstawie bieżącego zapytania w edytorze, wybierz pozycję Zapisz>jako funkcję.

Zrzut ekranu przedstawiający tworzenie funkcji.

Utwórz funkcję z Log Analytics w portalu Azure, wybierając pozycję Zapisz a następnie podając informacje w poniższej tabeli:

Ustawienie opis
Nazwa funkcji Nazwa funkcji. Nazwa może nie zawierać spacji ani znaków specjalnych. Może również nie zaczynać się od podkreślenia (_), ponieważ ten znak jest zarezerwowany dla funkcji rozwiązania.
Starsza kategoria Kategoria zdefiniowana przez użytkownika ułatwia filtrowanie i funkcje grup.
Zapisz jako grupę komputerów Zapisz zapytanie jako grupę komputerów.
Parametry Dodaj parametr dla każdej zmiennej w funkcji, która wymaga wartości, gdy jest używana. Aby uzyskać więcej informacji, zobacz Parametry funkcji.

Zrzut ekranu przedstawiający szczegóły funkcji.

Parametry funkcji

Parametry można dodać do funkcji, aby po wywołaniu parametrów można było podać wartości dla określonych zmiennych. W związku z tym ta sama funkcja może być używana w różnych zapytaniach, z których każda udostępnia różne wartości parametrów. Parametry są definiowane przez następujące właściwości:

Ustawienie opis
Typ Typ danych dla wartości.
Nazwisko Nazwa parametru. Ta nazwa musi być używana w zapytaniu, aby zastąpić wartością parametru .
Domyślna wartość Wartość, która ma być używana dla parametru, jeśli wartość nie jest podana.

Parametry są uporządkowane w miarę ich tworzenia. Parametry, które nie mają wartości domyślnej, są ustawione przed parametrami, które mają wartość domyślną.

Praca z kodem funkcji

Wyświetl kod funkcji, aby zrozumieć, jak działa lub ponownie używać jej w innej funkcji. Przełącz edytor do trybu KQL, umieść kursor nad funkcją, a następnie wybierz pozycję Załaduj do edytora.

Kod funkcji jest dodawany do bieżącej karty zapytania.

Zrzut ekranu przedstawiający ładowanie kodu funkcji.

Edytowanie funkcji

Aby utworzyć zmodyfikowaną wersję funkcji, utwórz nowe zapytanie w trybie KQL. Umieść kursor na nazwie funkcji i wybierz pozycję Załaduj do edytora. Zmodyfikuj kod, a następnie wybierz pozycję Zapisz>jako funkcję. Podaj unikatową nazwę funkcji, zmodyfikuj właściwości i parametry, a następnie wybierz pozycję Zapisz.

Zrzut ekranu przedstawiający edytowanie funkcji.

Przykład

Następująca przykładowa funkcja zwraca wszystkie zdarzenia w dzienniku aktywności Azure od określonej daty i pasujące do określonej kategorii.

Zacznij od następującego zapytania, używając zakodowanych na stałe wartości, aby sprawdzić, czy zapytanie działa zgodnie z oczekiwaniami.

AzureActivity
| where CategoryValue == "Administrative"
| where TimeGenerated > todatetime("2021/04/05 5:40:01.032 PM")

Zrzut ekranu przedstawiający początkowe zapytanie.

Następnie zastąp zakodowane na stałe wartości nazwami parametrów. Następnie zapisz funkcję, wybierając pozycję Zapisz>jako funkcję.

AzureActivity
| where CategoryValue == CategoryParam
| where TimeGenerated > DateParam

Zrzut ekranu przedstawiający zapisywanie funkcji.

Podaj następujące wartości właściwości funkcji:

Własność Wartość
Nazwa funkcji DziałanieAzureWedługKategorii
Starsza kategoria Funkcje demonstracyjne

Przed zapisaniem funkcji zdefiniuj następujące parametry:

Typ Nazwisko Domyślna wartość
ciąg CategoryParam Administracyjny
data/godzina DateParam

Zrzut ekranu przedstawiający właściwości funkcji.

Utwórz nowe zapytanie i wyświetl nową funkcję, umieszczając kursor na niej. Przyjrzyj się kolejności parametrów. Należy je określić w tej kolejności, gdy używasz funkcji.

Zrzut ekranu pokazujący szczegóły.

Wywołaj nową funkcję z zapytania i podaj wartości wymaganych parametrów. Nie musisz określać wartości, CategoryParam ponieważ ma ona wartość domyślną.

Zrzut ekranu przedstawiający dodawanie wartości parametrów.

Następne kroki

Zobacz operacje String aby uzyskać więcej informacji na temat pisania zapytań dziennika Azure Monitor.