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 můžete použít k poskytování řešení různým zákazníkům a také k opakovanému použití logiky dotazů ve vašem vlastním prostředí. Tento článek popisuje, jak používat funkce a jak vytvořit vlastní.
Požadována oprávnění
Akce | Požadována oprávnění |
---|---|
Zobrazení nebo použití funkcí | 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. |
Vytváření nebo úpravy funkcí | microsoft.operationalinsights/workspaces/savedSearches/write oprávnění k pracovnímu prostoru služby Log Analytics, která poskytuje například předdefinovaná role Přispěvatel Log Analytics. |
Typy funkcí
Ve službě Azure Monitor existují 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 se instalují do konkrétního pracovního prostoru služby Log Analytics. Mohou být upraveny a řízeny uživatelem.
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 změňte jejich seskupení. Zadáním řetězce do vyhledávacího pole vyhledejte konkrétní funkci. Najeďte myší na funkci, abyste zobrazili podrobnosti, včetně popisu a parametrů.
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 v příkazu. Výstup funkce může být vrácen buď jako výsledky, nebo se předá do jiného příkazu.
Přidejte do aktuálního dotazu funkci tak, že dvakrát kliknete na jeho název nebo na něj najedete myší a vyberete Možnost Použít v editoru. Funkce v pracovním prostoru se při psaní dotazu také zahrnou do technologie IntelliSense.
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.
Vytvořte funkci s Log Analytics na webu Azure Portal tak, že vyberete Uložit a pak poskytnete 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, 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. Další informace naleznete v tématu Parametry funkce. |
Parametry funkce
Do funkce můžete přidat parametry, abyste mohli při volání zadat hodnoty pro určité proměnné. V důsledku toho lze stejnou funkci použít 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 Tento název se musí v dotazu použít k nahrazení hodnotou parametru. |
Default value | Hodnota, která se má použít pro parametr, pokud není zadaná hodnota. |
Parametry jsou seřazené při jejich vytváření. Parametry, které nemají výchozí hodnotu, jsou umístěny 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 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 všechny změny, které chcete kód upravit, a vyberte Uložit. Pak vyberte Upravit podrobnosti funkce. Proveďte všechny 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 konkrétního data a odpovídají určité kategorii.
Začněte následujícím dotazem pomocí pevně zakódovaných hodnot a 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")
Dále nahraďte pevně zakódované hodnoty názvy parametrů. Potom funkci uložte výběrem možnosti 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 | Název | Výchozí hodnota |
---|---|---|
string | CategoryParam | "Správa" |
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 je nutné je zadat v tomto pořadí.
Výběrem možnosti Použít v editoru přidáte novou funkci do dotazu. Pak přidejte hodnoty parametrů. Nemusíte zadávat hodnotu CategoryParam
, protože má výchozí hodnotu.
Další kroky
Další informace o zápisu dotazů na protokoly služby Azure Monitor najdete v tématu Operace řetězců.