Funkce v dotazech na protokoly služby Azure Monitor

Funkce je dotaz na protokol ve službě Azure Monitor, který se dá použít v jiných dotazech protokolu, jako by se jedná o příkaz. Pomocí funkcí můžete poskytovat řešení různým zákazníkům a také opakovaně používat logiku dotazů ve vlastním prostředí. Tento článek popisuje, jak používat funkce a jak vytvořit vlastní.

Požadovaná oprávnění

  • Pokud chcete zobrazit nebo používat funkce, potřebujete Microsoft.OperationalInsights/workspaces/query/*/read oprávnění k pracovnímu prostoru služby Log Analytics, která poskytuje například integrovaná role Čtenář log Analytics.

  • Pokud chcete vytvářet nebo upravovat funkce, potřebujete microsoft.operationalinsights/workspaces/savedSearches/write oprávnění k pracovnímu prostoru služby Log Analytics, jak je poskytuje například integrovaná role Čtenář log Analytics.

Typy funkcí

Azure Monitor obsahuje dva typy funkcí:

  • Funkce řešení: Předem připravené funkce jsou součástí Služby Azure Monitor. Tyto funkce jsou dostupné ve všech pracovních prostorech služby Log Analytics a nedají se upravovat.
  • Funkce pracovního prostoru: Tyto funkce jsou nainstalované v konkrétním pracovním prostoru služby Log Analytics. Může je upravovat a řídit uživatel.

Zobrazit funkce

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í filtru můžete filtrovat funkce zahrnuté v seznamu. Pomocí funkce Seskupit podle můžete změnit jejich seskupení. Zadáním řetězce do vyhledávacího pole vyhledejte konkrétní funkci. Když najedete myší na funkci, zobrazí se o ní podrobnosti, včetně popisu a parametrů.

Snímek obrazovky znázorňující zobrazení funkce

Použití funkce

Funkci můžete použít v dotazu zadáním jejího názvu s hodnotami pro všechny parametry, které jsou stejné jako v příkazu. Výstup funkce může být vrácen jako výsledky nebo předaný do jiného příkazu.

Přidejte funkci k aktuálnímu dotazu tak, že dvakrát kliknete na její 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,...).

Snímek obrazovky znázorňující použití funkce

Vytvoření funkce

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

Snímek obrazovky znázorňující vytvoření funkce

Pomocí Log Analytics v Azure Portal vytvořte funkci tak, že vyberete Uložit a pak zadáte informace v následující tabulce:

Nastavení Popis
Název funkce Název funkce Název nesmí obsahovat mezeru ani žádné speciální znaky. Také nemusí začínat podtržítkem (_), protože tento znak je vyhrazený pro funkce řešení.
Starší kategorie Uživatelsky definovaná kategorie pro pomoc s filtrováním a seskupovacími funkcemi.
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. Další informace najdete v tématu Parametry funkce.

Snímek obrazovky s podrobnostmi funkce

Parametry funkce

Do funkce můžete přidat parametry, abyste při jejím volání mohli zadat hodnoty pro určité proměnné. V důsledku toho je možné použít stejnou funkci v různých dotazech, z nichž každý poskytuje jiné hodnoty parametrů. Parametry jsou definovány následujícími vlastnostmi:

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

Parametry jsou seřazené při vytváření. Parametry, které nemají výchozí hodnotu, jsou umístěny před parametry, které mají výchozí hodnotu.

Poznámka

Klasické prostředky Application Insights nepodporují parametrizované funkce. Pokud máte prostředek Application Insights založený na pracovním prostoru, můžete z pracovního prostoru služby Log Analytics vytvořit parametrizované funkce. Informace o migraci klasického prostředku Application Insights na prostředek založený na pracovním prostoru najdete v tématu Migrace na prostředky Application Insights založené na pracovním prostoru.

Práce s kódem funkce

Kód funkce můžete zobrazit, abyste získali přehled o tom, jak funguje, nebo abyste mohli upravit kód funkce pracovního prostoru. Vyberte Načíst kód funkce a přidejte kód funkce do aktuálního dotazu v editoru.

Pokud přidáte kód funkce do prázdného dotazu nebo do prvního řádku existujícího dotazu, název funkce se přidá na kartu. Funkce pracovního prostoru umožňuje upravit podrobnosti funkce.

Snímek obrazovky znázorňující načítání kódu funkce

Úprava funkce

Upravte vlastnosti nebo kód funkce vytvořením nového dotazu. Najeďte myší na název funkce a vyberte Načíst kód funkce. Proveďte požadované úpravy kódu a vyberte Uložit. Pak vyberte Upravit podrobnosti funkce. Proveďte požadované změny vlastností a parametrů funkce a vyberte Uložit.

Snímek obrazovky znázorňující úpravy funkce

Příklad

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

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

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

Snímek obrazovky s počátečním dotazem

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

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

Snímek obrazovky znázorňující uložení funkce

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 KategorieParam "Administrativní"
datetime DateParam

Snímek obrazovky znázorňující vlastnosti funkce

Vytvořte nový dotaz a zobrazte novou funkci tak, že na ni najedete myší. Podívejte se na pořadí parametrů. Při použití funkce musí být zadány v tomto pořadí.

Snímek obrazovky znázorňující zobrazení podrobností

Vyberte Použít v editoru a přidejte novou funkci do dotazu. Pak přidejte hodnoty parametrů. Nemusíte zadávat hodnotu pro CategoryParam , protože má výchozí hodnotu.

Snímek obrazovky znázorňující přidávání hodnot pro parametry

Další kroky

Další informace o tom, jak psát dotazy na protokoly služby Azure Monitor, najdete v tématu Operace s řetězci .