Funkce v dotazech protokolu služby Azure Monitor

Funkce je dotaz protokolu ve službě Azure Monitor, který se dá použít v jiných dotazech protokolu, jako by to byl příkaz. Funkce umožňují vývojářům poskytovat řešení různým zákazníkům a opakovaně používat logiku dotazů ve vlastním prostředí. Tento článek obsahuje podrobné informace o tom, jak používat funkce a jak vytvořit vlastní.

Typy funkcí

Ve službě Azure Monitor existují dva typy funkcí:

  • Funkce řešení: Předdefinované funkce, které jsou součástí služby Azure Monitor. Jsou dostupné ve všech pracovních prostorech služby Log Analytics a není možné je upravovat.
  • Funkce pracovního prostoru: Funkce nainstalované v konkrétním pracovním prostoru služby Log Analytics a mohou být upraveny a řízeny uživatelem.

Zobrazení funkcí

Funkce řešení a funkce pracovního prostoru můžete zobrazit v aktuálním pracovním prostoru na kartě Funkce v levém podokně pracovního prostoru služby Log Analytics. Pomocí tlačítka Filtr můžete filtrovat funkce zahrnuté v seznamu a seskupit podle toho, jak změnit jejich seskupení. Do vyhledávacího pole zadejte řetězec, který vyhledá konkrétní funkci. Najeďte myší na funkci, aby se zobrazily podrobnosti, včetně popisu a parametrů.

View function

Použití funkce

Funkci v dotazu použijte tak, že zadáte její název s hodnotami pro všechny parametry stejně, jako byste zadali příkaz. Výstup funkce může být vrácen jako výsledky nebo předán do jiného příkazu.

Přidejte do aktuálního dotazu funkci tak, že dvakrát kliknete na jeho název nebo na ni najedete myší a vyberete Použít v editoru. Funkce v pracovním prostoru budou také zahrnuty v intellisense při psaní dotazu.

Pokud dotaz vyžaduje parametry, zadejte je pomocí syntaxe: function_name(param1,param2,...).

Use a function

Vytvoření funkce

Pokud chcete vytvořit funkci z aktuálního dotazu v editoru, vyberte Uložit a pak funkci Uložit jako.

Create a function

V Azure Portal vytvořte funkci s Log Analytics kliknutím na Uložit a zadáním informací v následující tabulce.

Nastavení Popis
Název funkce Název funkce. Nemusí obsahovat mezeru ani žádné speciální znaky. Nemusí také začínat podtržítkem (_), protože tento znak je vyhrazený pro funkce řešení.
Starší kategorie Uživatelsky definovaná kategorie, která pomáhá filtrovat a seskupovat funkce.
Uložit jako skupinu počítačů Uložte dotaz jako skupinu počítačů.
Parametry Přidejte parametr pro každou proměnnou ve funkci, která při použití vyžaduje hodnotu. Podrobnosti najdete v parametrech funkce .

Function details

Parametry funkce

Do funkce můžete přidat parametry, abyste mohli při volání zadat hodnoty pro určité proměnné. To umožňuje, aby stejná funkce byla použita v různých dotazech, přičemž každá z nich poskytuje různé hodnoty parametrů. Parametry jsou definovány následujícími vlastnostmi.

Nastavení Popis
Typ Datový typ pro hodnotu.
Název Název parametru. Toto je název, který se musí v dotazu použít k nahrazení hodnotou parametru.
Výchozí hodnota Hodnota, která se má použít pro parametr, pokud není zadaná hodnota.

Parametry jsou seřazené tak, jak jsou vytvořeny s libovolnými parametry, které nemají výchozí hodnotu umístěnou před parametry, které mají výchozí hodnotu.

Práce s kódem funkce

Kód funkce můžete zobrazit a získat tak přehled o tom, jak funguje, nebo upravit kód pro funkci pracovního prostoru. Vyberte Načíst kód funkce a přidejte kód funkce do aktuálního dotazu v editoru. Pokud ho přidáte do prázdného dotazu nebo prvního řádku existujícího dotazu, přidá se na kartu název funkce. Pokud se jedná o funkci pracovního prostoru, umožňuje to upravit podrobnosti o funkci.

Load function code

Úprava funkce

Upravte vlastnosti nebo kód funkce tak, že vytvoříte nový dotaz a najedete myší na název funkce a vyberete kód načíst funkci. Proveďte všechny změny kódu a vyberte Uložit a potom Upravit podrobnosti funkce. Než kliknete na Uložit, proveďte všechny změny, které chcete vlastnosti a parametry funkce provést.

Edit function

Příklad

Následující ukázková funkce vrátí všechny události v protokolu aktivit Azure od konkrétního data a odpovídající určité kategorii.

Začněte následujícím dotazem s použitím pevně zakódovaných hodnot. Tím ověříte, že dotaz funguje podle očekávání.

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

Example function - initial query

Dále nahraďte pevně zakódované hodnoty názvy parametrů a pak funkci uložte tak, že vyberete Uložit a pak funkci Uložit jako.

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

Example function - save function

Zadejte následující hodnoty vlastností funkce.

Vlastnost Hodnota
Název funkce AzureActivityByCategory
Starší kategorie Ukázkové funkce

Před uložením funkce definujte následující parametry.

Typ Name Výchozí hodnota
řetězec CategoryParam "Administrativní"
datetime DateParam

Example function - function properties

Vytvořte nový dotaz a zobrazte novou funkci tak, že na ni najedete myší. Všimněte si pořadí parametrů, protože se jedná o pořadí, které musí být zadáno při použití funkce.

Example function - view details

Výběrem možnosti Použít v editoru přidejte novou funkci do dotazu a pak přidejte hodnoty parametrů. Všimněte si, že pro CategoryParam nemusíte zadávat hodnotu, protože má výchozí hodnotu.

Example function - use function

Další kroky

Další lekce pro psaní dotazů na protokoly služby Azure Monitor: