Funkcje w zapytaniach dziennika 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. Funkcje umożliwiają udostępnianie rozwiązań różnym klientom, a także ponowne używanie logiki zapytań we własnym środowisku. W tym artykule opisano, jak używać funkcji i jak tworzyć własne.
Wymagane uprawnienia
Aby wyświetlić lub używać funkcji, musisz
Microsoft.OperationalInsights/workspaces/query/*/read
mieć uprawnienia do obszaru roboczego usługi Log Analytics, jak na przykład wbudowana rola czytelnika usługi Log Analytics.Aby utworzyć lub edytować funkcje, musisz
microsoft.operationalinsights/workspaces/savedSearches/write
mieć uprawnienia do obszaru roboczego usługi Log Analytics, na przykład udostępnionego przez wbudowaną rolę czytelnika usługi Log Analytics.
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 okienku po lewej stronie obszaru roboczego usługi Log Analytics. Użyj filtruj, 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ę. Zatrzymaj wskaźnik myszy na funkcji, aby wyświetlić szczegółowe informacje o nim, w tym opis i parametry.
Korzystanie z funkcji
Użyj funkcji w zapytaniu, wpisując jej nazwę z wartościami dla dowolnych parametrów tak samo, jak wpisać 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 nad nią, 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,...)
.
Tworzenie funkcji
Aby utworzyć funkcję na podstawie bieżącego zapytania w edytorze, wybierz pozycję Zapisz>jako funkcję.
Utwórz funkcję za pomocą usługi Log Analytics w 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. |
Parametry funkcji
Parametry można dodać do funkcji, aby po wywołaniu tej funkcji 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. |
Nazwa | Nazwa parametru. Ta nazwa musi być używana w zapytaniu, aby zastąpić wartością parametru. |
Wartość domyślna | Wartość, która ma być używana dla parametru, jeśli nie podano wartości. |
Parametry są uporządkowane podczas ich tworzenia. Parametry, które nie mają wartości domyślnej, są umieszczone przed parametrami, które mają wartość domyślną.
Uwaga
Klasyczne zasoby usługi Application Insights nie obsługują sparametryzowanych funkcji. Jeśli masz zasób usługi Application Insights oparty na obszarze roboczym, możesz utworzyć sparametryzowane funkcje z obszaru roboczego usługi Log Analytics. Aby uzyskać informacje na temat migrowania klasycznego zasobu usługi Application Insights do zasobu opartego na obszarze roboczym, zobacz Migrowanie do zasobów usługi Application Insights opartych na obszarze roboczym.
Praca z kodem funkcji
Możesz wyświetlić kod funkcji, aby uzyskać wgląd w jej działanie lub zmodyfikować kod dla 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.
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.
Przykład
Poniższa 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")
Następnie zastąp zakodowane wartości nazwami parametrów. Następnie zapisz funkcję, wybierając pozycję Zapisz>jako funkcję.
AzureActivity
| where CategoryValue == CategoryParam
| where TimeGenerated > DateParam
Podaj następujące wartości właściwości funkcji:
Właściwość | Wartość |
---|---|
Nazwa funkcji | AzureActivityByCategory |
Starsza kategoria | Funkcje demonstracyjne |
Przed zapisaniem funkcji zdefiniuj następujące parametry:
Typ | Nazwa | Wartość domyślna |
---|---|---|
ciąg | CategoryParam | "Administracja" |
datetime | DateParam |
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.
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 wartość domyślną.
Następne kroki
Aby uzyskać więcej informacji na temat pisania zapytań dziennika usługi Azure Monitor, zobacz Operacje na ciągach .