Udostępnij za pośrednictwem


Funkcje w zapytaniach dzienników usługi Azure Monitor

Funkcja to zapytanie dziennika w usłudze 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 usługi Log Analytics udostępnione przez wbudowaną rolę Czytelnik usługi Log Analytics, na przykład.
Tworzenie lub edytowanie funkcji microsoft.operationalinsights/workspaces/savedSearches/write uprawnienia do obszaru roboczego usługi Log Analytics, zgodnie z wbudowaną rolą Współautor usługi Log Analytics, na przykład.

Typy funkcji

Istnieją dwa typy funkcji w usłudze Azure Monitor:

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

  • Funkcje obszaru roboczego: te funkcje są instalowane w określonym obszarze roboczym usługi Log Analytics. Można je modyfikować i kontrolować przez użytkownika.

Wyświetlanie funkcji

Funkcje rozwiązania i funkcje obszaru roboczego można wyświetlić w bieżącym obszarze roboczym na karcie Funkcje w lewym okienku obszaru roboczego usługi Log Analytics. Użyj filtru filtru , aby filtrować funkcje uwzględnione na liście. Użyj opcji Grupuj według, aby zmienić ich grupowanie. 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 wyświetlanie funkcji.

Korzystanie z funkcji

Użyj funkcji w zapytaniu, wpisując jego nazwę z wartościami dla dowolnych parametrów tak samo, jak w przypadku wpisywania w poleceniu. Dane wyjściowe funkcji mogą być zwracane jako wyniki lub przesyłane potokami do innego polecenia.

Dodaj funkcję do bieżącego zapytania, klikając dwukrotnie jego nazwę lub umieszczając kursor na niej, a następnie wybierając pozycję Użyj w edytorze. Funkcje w obszarze roboczym będą również uwzględniane w funkcji IntelliSense 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ę za pomocą usługi Log Analytics w witrynie Azure Portal, 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
Type 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

Możesz wyświetlić kod funkcji, aby uzyskać wgląd w jej działanie lub zmodyfikować kod funkcji obszaru roboczego. Wybierz pozycję Załaduj kod funkcji, aby dodać kod funkcji do bieżącego zapytania w edytorze.

Jeśli dodasz kod funkcji do pustego zapytania lub pierwszego wiersza istniejącego zapytania, nazwa funkcji zostanie dodana do karty. Funkcja obszaru roboczego umożliwia edytowanie szczegółów funkcji.

Zrzut ekranu przedstawiający ładowanie kodu funkcji.

Edytowanie funkcji

Edytuj właściwości lub kod funkcji, tworząc nowe zapytanie. Umieść kursor na nazwie funkcji i wybierz pozycję Załaduj kod funkcji. Wprowadź wszelkie modyfikacje, które chcesz wprowadzić w kodzie, a następnie wybierz pozycję Zapisz. Następnie wybierz pozycję Edytuj szczegóły funkcji. Wprowadź wszelkie zmiany, które chcesz wprowadzić we właściwościach i parametrach funkcji, 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 platformy 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łaściwości Wartość
Nazwa funkcji AzureActivityByCategory
Starsza kategoria Funkcje demonstracyjne

Przed zapisaniem funkcji zdefiniuj następujące parametry:

Type Nazwisko Wartość domyślna
string CategoryParam "Administracja"
datetime 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 przedstawiający wyświetlanie szczegółów.

Wybierz pozycję Użyj w edytorze , aby dodać nową funkcję do zapytania. Następnie dodaj wartości 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 na ciągach , aby uzyskać więcej informacji na temat pisania zapytań dziennika usługi Azure Monitor.