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.
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,...)
.
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 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. |
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.
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
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")
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
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 |
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 ona wartość domyślną.
Następne kroki
Zobacz Operacje na ciągach , aby uzyskać więcej informacji na temat pisania zapytań dziennika usługi Azure Monitor.