Vytváření interaktivních sestav s využitím sešitů služby Azure Monitor
Článek
V sešitech můžete vytvářet interaktivní sestavy a prostředí několika způsoby:
Parametry: Při aktualizaci parametru se všechny ovládací prvky, které tento parametr používají, automaticky aktualizují a překreslí tak, aby odrážely novou hodnotu. Toto chování je způsob, jakým většina sestav webu Azure Portal podporuje interaktivitu. Sešity poskytují tuto funkci jednoduchým způsobem s minimálním uživatelským úsilím.
Výběry mřížky, dlaždice a grafu: Můžete vytvořit scénáře, kdy výběr řádku v mřížce aktualizuje následné grafy na základě obsahu řádku. Můžete mít například mřížku, která zobrazuje seznam požadavků a některé statistiky, jako jsou počty selhání. Můžete ho nastavit tak, aby se při výběru řádku požadavku zobrazily podrobné grafy níže, aby se zobrazily pouze tyto požadavky. Zjistěte, jak nastavit kliknutí na řádek mřížky.
Kliknutí na buňku mřížky: Interaktivitu můžete přidat pomocí speciálního typu rendereru sloupce mřížky označovaného jako vykreslovací modul propojení. Renderer odkazu převede buňku mřížky na hypertextový odkaz na základě obsahu buňky. Sešity podporují mnoho druhů rendererů odkazů, včetně vykreslovacích nástrojů, které otevírají podokna přehledu prostředků, prohlížeče kontejneru vlastností a vyhledávání Application Insights, využití a trasování transakcí. Přečtěte si, jak nastavit kliknutí na buňku mřížky.
Podmíněná viditelnost: Ovládací prvky můžete zobrazit nebo zmizet na základě hodnot parametrů. Tímto způsobem můžete mít sestavy, které vypadají jinak na základě stavu vstupu uživatele nebo telemetrie. Pokud například neexistují žádné problémy, můžete uživatelům zobrazit souhrn. Podrobné informace můžete zobrazit také v případech, kdy je něco špatně. Zjistěte, jak nastavit podmíněnou viditelnost.
Výběrem možnosti Upravit se ujistěte, že jste v režimu úprav.
Výběrem možnosti Přidat dotaz přidáte do sešitu ovládací prvek dotazu protokolu.
Vyberte typ dotazu protokolu, typ prostředku a cílové prostředky.
V editoru dotazů zadejte jazyk KQL pro analýzu:
requests
| summarize AllRequests = count(), FailedRequests = countif(success == false) by Request = name
| order by AllRequests desc
Výběrem možnosti Spustit dotaz zobrazíte výsledky.
Výběrem možnosti Upřesnit nastavení otevřete podokno Upřesnit nastavení .
Zaškrtněte políčko Při výběru položky, exportujte zaškrtávací políčko parametru.
Vyberte Přidat parametr a vyplňte následující informace:
Pole k exportu: Request
Název parametru: SelectedRequest
Výchozí hodnota: All requests
Nepovinné. Pokud chcete exportovat celý obsah vybraného řádku místo konkrétního sloupce, ponechte pole, aby export nesdělil. Obsah celého řádku se do parametru exportuje jako JSON. Na referenčním ovládacím prvku KQL použijte todynamic funkci k parsování JSON a přístupu k jednotlivým sloupcům.
Zvolte Uložit.
Vyberte Úpravy jsou hotové.
Přidejte další ovládací prvek dotazu jako v předchozích krocích.
V editoru dotazů zadejte jazyk KQL pro analýzu.
requests
| where name == '{SelectedRequest}' or 'All Requests' == '{SelectedRequest}'
| summarize ['{SelectedRequest}'] = count() by bin(timestamp, 1h)
Výběrem možnosti Spustit dotaz zobrazíte výsledky.
Změňte vizualizaci na plošný graf.
Zvolte řádek, který chcete vybrat v první mřížce. Všimněte si, jak plošný graf níže filtruje vybraný požadavek.
Výsledná sestava vypadá jako v tomto příkladu v režimu úprav:
Následující obrázek znázorňuje propracovanější interaktivní sestavu v režimu čtení na základě stejných principů. Sestava pomocí kliknutí na mřížku exportuje parametry, které se zase používají ve dvou grafech a bloku textu.
Nastavení kliknutí na buňku mřížky
Výběrem možnosti Upravit se ujistěte, že jste v režimu úprav.
Výběrem možnosti Přidat dotaz přidáte do sešitu ovládací prvek dotazu protokolu.
Vyberte typ dotazu protokolu, typ prostředku a cílové prostředky.
V editoru dotazů zadejte jazyk KQL pro analýzu:
requests
| summarize Count = count(), Sample = any(pack_all()) by Request = name
| order by Count desc
Výběrem možnosti Spustit dotaz zobrazíte výsledky.
Výběrem možnosti Nastavení sloupce otevřete podokno nastavení.
V části Sloupce nastavte:
Ukázka
Renderer sloupců: Link
Zobrazení, které se má otevřít: Cell Details
Popisek odkazu: Sample
Počet
Renderer sloupců: Bar
Barevná paleta: Blue
Minimální hodnota: 0
Požádat
Renderer sloupců: Automatic
Chcete-li použít změny, vyberte Uložit a Zavřít .
Výběrem odkazu Ukázka v mřížce otevřete podokno s podrobnostmi ukázkového požadavku.
Akce vykreslovacího modulu propojení
Přečtěte si, jak fungují akce propojení pro vylepšení interaktivity sešitu.
V ovládacím prvku dotazu s plošným grafem vyberte Upřesnit nastavení (ikona ozubeného kola).
Pokud je položka ShowDetails nastavena na Yeshodnotu , vyberte Nastavit tuto položku podmíněně zobrazit.
Výběrem možnosti Dokončené úpravy potvrďte změny.
Na panelu nástrojů sešitu vyberte Hotovo úpravy.
Přepněte hodnotu ShowDetails na No. Všimněte si, že následující graf zmizí.
Následující obrázek ukazuje případ, kdy ShowDetails je Yes:
Následující obrázek ukazuje skrytý případ, kdy ShowDetails je No:
Nastavení vícenásobných výběrů v mřížkách a grafech
Komponenty dotazů a metrik můžou exportovat parametry, pokud je vybrán řádek nebo více řádků.
V komponentě dotazu, která zobrazuje mřížku, vyberte Upřesnit nastavení.
Zaškrtněte políčko Při výběru položek, vyexportujte parametry .
Zaškrtněte políčko Povolit výběr více hodnot.
Zobrazená vizualizace umožňuje vícenásobný výběr a hodnoty exportovaného parametru budou pole hodnot, například při použití parametrů rozevíracího seznamu s vícenásobným výběrem.
Pokud se vymaže, vizualizace zobrazení zachytí jenom poslední vybranou položku a exportuje vždy jenom jednu hodnotu.
Pro každý parametr, který chcete exportovat, použijte přidat parametr . Zobrazí se automaticky otevírané okno s nastavením parametru, který se má exportovat.
Když povolíte jeden výběr, můžete určit, které pole původních dat se má exportovat. Pole zahrnují název parametru, typ parametru a výchozí hodnotu, která se má použít, pokud není vybráno nic.
Když povolíte vícenásobný výběr, určíte, které pole původních dat se má exportovat. Pole zahrnují název parametru, typ parametru, uvozovku s oddělovačem a oddělovač. Uvozovky s hodnotami oddělovače se použijí při převodu hodnot šipek na text, když jsou v dotazu nahrazeny. Pokud nejsou vybrány žádné hodnoty ve vícenásobných výběrech, výchozí hodnota je prázdná matice.
Poznámka
Pro vícenásobný výběr se exportují pouze jedinečné hodnoty. Například neuvidíte výstupní hodnoty pole jako 1,1,2,1.1. Výstup pole bude "1,2".
Pokud necháte pole pro export prázdné v nastavení exportu, budou všechna dostupná pole v datech exportována jako řetězcový objekt JSON párů klíč:hodnota. Pro mřížky a názvy obsahuje řetězec pole v mřížce. U grafů jsou dostupná pole x,y, řady a popisky v závislosti na typu grafu.
I když výchozí chování spočívá v exportu parametru jako textu, pokud víte, že toto pole je ID předplatného nebo prostředku, použijte tyto informace jako typ parametru exportu. Potom lze parametr použít v podřízených místech, které vyžadují tyto typy parametrů.
Zachycení uživatelského vstupu pro použití v dotazu
Uživatelský vstup můžete zachytit pomocí rozevíracích seznamů a použít výběry v dotazech. Můžete mít například rozevírací seznam, který přijme sadu virtuálních počítačů a pak filtruje KQL tak, aby zahrnoval pouze vybrané počítače. Ve většině případů je tento krok jednoduchý jako zahrnutí hodnoty parametru do dotazu:
Perf
| where Computer in ({Computers})
| take 5
V pokročilejších scénářích možná budete muset transformovat výsledky parametrů, než je možné je použít v dotazech. Vezměte tuto datovou část filtru OData:
{
"name": "deviceComplianceTrend",
"filter": "(OSFamily eq 'Android' or OSFamily eq 'OS X') and (ComplianceState eq 'Compliant')"
}
Následující příklad ukazuje, jak tento scénář povolit. Řekněme, že chcete, aby hodnoty a ComplianceState filtry pocházejí z rozevíracích OSFamily seznamů v sešitu. Filtr může obsahovat více hodnot jako v předchozím OsFamily případě. Musí také podporovat případ, kdy chcete zahrnout všechny hodnoty dimenzí, to znamená bez filtrů.
Pokud chcete přidat blok textu, vyberte Přidat text . Do textu Markdownu , který se má zobrazit blok, přidejte:
{
"name": "deviceComplianceTrend",
"filter": "({OsFilter}) and ({ComplianceStateFilter})"
}
Tento snímek obrazovky ukazuje nastavení parametrů:
Jedna hodnota filtru
Nejjednodušším případem je výběr jedné hodnoty filtru v každé dimenzi. Ovládací prvek rozevíracího seznamu používá hodnotu vstupního pole JSON jako hodnotu parametru.
Pokud zvolíte více hodnot filtru, například operační systémy Android i OS X, DelimiterQuote with nastavení parametrů se spustí a vytvoří tento složený filtr:
{
"name": "deviceComplianceTrend",
"filter": "(OSFamily eq 'OS X' or OSFamily eq 'Android') and (ComplianceState eq 'Compliant')"
}
Bez případu filtru
Dalším běžným případem není žádný filtr pro danou dimenzi. Tento scénář je ekvivalentní zahrnutí všech hodnot dimenzí jako součásti sady výsledků. Způsob, jak ho povolit, je mít v All rozevíracím seznamu možnost a vrátit výraz filtru, který se vždy vyhodnotí jako true. Příkladem je ComplianceState eq '#@?'.
{
"name": "deviceComplianceTrend",
"filter": "(OSFamily eq 'OS X' or OSFamily eq 'Android') and (ComplianceState ne '#@?')"
}
Opakované použití dat dotazů v různých vizualizacích
Existují časy, kdy chcete vizualizovat podkladovou datovou sadu různými způsoby, aniž byste museli pokaždé platit náklady na dotaz. Tato ukázka ukazuje, jak to provést pomocí Merge možnosti v ovládacím prvku dotazu.
Výběrem možnosti Přidat dotaz vytvořte ovládací prvek dotazu a zadejte tyto hodnoty:
Zdroj dat: Logs
Typ prostředku: Log Analytics
Pracovní prostor služby Log Analytics: Vyberte jeden z vašich pracovních prostorů s daty o výkonu.
Dotaz na protokoly pracovního prostoru služby Log Analytics:
Perf
| where CounterName == '% Processor Time'
| summarize CpuAverage = avg(CounterValue), CpuP95 = percentile(CounterValue, 95) by Computer
| order by CpuAverage desc
Výběrem možnosti Spustit dotaz zobrazíte výsledky.
Tato výsledná datová sada je ta, kterou chceme znovu použít ve více vizualizacích.
Přejděte na kartu Upřesnit nastavení a jako název zadejte Cpu data.
Výběrem možnosti Přidat dotaz vytvořte další ovládací prvek dotazu.
Jako zdroj dat vyberte Merge.
Vyberte Přidat sloučení.
V podokně nastavení nastavte:
Typ sloučení: Duplicate table
Tabulka: Cpu data
Vyberte Spustit sloučení. Zobrazí se stejný výsledek jako v předchozím příkladu.
Nastavte možnosti tabulky:
Pomocí sloupce Název po sloučení nastavte popisné názvy sloupců výsledků. Můžete například přejmenovat CpuAverage na CPU utilization (avg)možnost Spustit sloučení a pak pomocí příkazu Spustit sloučení aktualizovat sadu výsledků.
Pomocí příkazu Delete odeberte sloupec.
Vyberte řádek [Cpu data].CpuP95.
Použijte příkaz Delete na panelu nástrojů ovládacího prvku dotazu.
Použití příkazu Spustit sloučení k zobrazení sady výsledků bez sloupce CpuP95
Pořadí sloupců můžete změnit tak, že vyberete Přesunout nahoru nebo Přesunout dolů.
Výběrem možnosti Přidat novou položku přidejte nové sloupce na základě hodnot jiných sloupců.
Pokud chcete získat požadovanou vizualizaci, napište styl tabulky pomocí možností v nastavení sloupce.
V případě potřeby přidejte další ovládací prvky dotazu, které fungují na Cpu data sadě výsledků.
Tento příklad ukazuje průměrné využití procesoru A P95 vedle sebe:
Použití Azure Resource Manageru k načtení upozornění v předplatném
Tato ukázka ukazuje, jak pomocí ovládacího prvku dotazu Azure Resource Manageru zobrazit seznam všech existujících upozornění v předplatném. Tato příručka také použije transformace cesty JSON k formátování výsledků. Podívejte se na seznam podporovaných volání Resource Manageru.
Výběrem možnosti Přidat dotaz vytvořte ovládací prvek dotazu a použijte tato nastavení. V tomto příkladu používáme volání Rest Get All REST k získání seznamu existujících upozornění pro předplatné. Informace o podporovaných verzích rozhraní API najdete v referenčních informacích k rozhraní Azure REST API.
Přidejte parametr api-version na kartě Parametry a nastavte:
Parametr: api-version
Hodnota: 2018-05-05
Vyberte předplatné z vytvořeného parametru předplatného a výběrem příkazu Spustit dotaz zobrazte výsledky.
Tento nezpracovaný JSON se vrátí z Resource Manageru:
Formátování odpovědi
Možná jste spokojení s informacemi, které tady najdete. Ale pojďme extrahovat některé zajímavé vlastnosti a naformátovat odpověď způsobem, který je snadno čitelný.
Přejděte na kartu Nastavení výsledku.
Přepněte formát výsledku z Content na JSON Path. Cesta JSON je transformátor sešitu.
V nastavení cesty JSON nastavte tabulku cest JSON na $.value.[*].properties.essentialshodnotu . Tím se extrahují všechna "value.*.properties.essentials" pole z vráceného kódu JSON.
Výběrem možnosti Spustit dotaz zobrazíte mřížku.
Filtrování výsledků
Cesta JSON také umožňuje zvolit informace z vygenerované tabulky, aby se zobrazovaly jako sloupce.
Pokud chcete například filtrovat výsledky na sloupce TargetResource, Severity, AlertState, AlertRule, Description, StartTime a ResolvedTime, můžete do tabulky sloupců v cestě JSON přidat následující řádky: