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ů.
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,...)
.
Vytvoření funkce
Pokud chcete vytvořit funkci z aktuálního dotazu v editoru, vyberte Uložit>jako funkci.
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. |
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.
Ú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.
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")
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
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 |
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í.
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.
Další kroky
Další informace o tom, jak psát dotazy na protokoly služby Azure Monitor, najdete v tématu Operace s řetězci .