Monitoring Azure a aplikací z open source Grafana

Nadšenci do open source jistě znají projekt Grafana - grafické řešení pro vizualizaci různých metrik. Třeba to používáte pro MySQL či PostgreSQL, možná tak zobrazujete informace z Elasticsearch, z InfluxDB pro time-series data, pro cloud-native aplikace v kontejnerech je to třeba Prometheus. Nemyslím, že by tyto pohledy byly lepší (ale ani horší) než to, co je integrované v Azure portálu. Jste zvyklí na Grafana? Sledujte tím i Azure! Chcete jednotný pohled na metriky z Azure a AWS? Zkuste Grafana.

Co všecho Azure sbírá?

Azure Monitor je v portálu zabudované řešení pro sledování mimo jiné i telemetrie. V jeho sekci Metric najdete jednak klasickou, ale také novou podobu (Preview), která graficky vychází z Application Insights. Můžete se podívat na metriky, které v rámci svých zdrojů uvidíte.

Všechny tyto metriky jsou dostupné také přes API a právě toho využívá Data source plugin pro Grafana. Do ní tedy dostanete stejná data, čili úplnou sadu.

Deployment Grafana ze šablony

Grafanu si můžete samozřejmě nainstalovat kdekoli a jakkoli potřebujete, ale můžete také jednoduše použít hotové šablony v Azure.

Zadáme parametry VM a také vytvoříme heslo do Grafana.

Otevřete public IP připravené VM na portu 3000 a můžete se přihlásit do Grafana účtem admin a heslem co jste zadali při deploymentu šablony.

Na úvodní stránce si všimněte, že šablona nám rovnou nainstalovala Azure plugin.

Kliknu na přidání Data source.

Vybereme si Azure Monitor.

Na další stránce musíme uvést přístupové údaje k Azure a pokud chceme také napojit Application Insights, tak API a klíč.  Kde je najdete?

Pro přístup potřebujete účet service principála. Ten založíte v Azure Active Directory.

Tohle je vaše Client ID

Tady si vygenerujte Client Secret

V Properties vašeho Azure Active Directory je k nalezení Tenant Id.

... a číslo subskripce najdete v patřičné sekci v portálu.

Pokud chcete napojit také svoje Application Insights (monitoring aplikací v cloudu i on-premises), svoje ID najdete v GUI a k němu si vytvořte klíč.

Údaje zadáme a všechno by mělo proběhnout v pořádku.

Koukáme se z Grafany

Vyzkoušejme nějaký jednoduchý pohled. Přidáme nový dashboard a do něj objekt typu Graph.

Klikneme na název panelu a dáme Edit.

Všimněte si, že datový zdroj nám hezky načítá seznam našich resource group, zdrojů, metrik apod.

Já jsem si například takhle udělal jednoduchý graf na odchozí traffic z jedné z mých VM.

Podobně můžete přistupovat k měřením v Application Insights.

Grafana toho dokáže daleko (DALEKO!) víc, ale dneska nebylo mým záměrem procházet detaily Grafany, ale spíše ukázat funkční napojení na Azure.

 

Azure Monitor nabízí myslím velmi elegantní a krásně integrovaný způsob sledování metrik vašich zdrojů v Azure včetně možnosti si ty nejzajímavější přidat na plochu, sdílet je apod. Přesto pokud chcete sledovat velmi heterogenní metriky z různých prostředí a standardizujete na open source projektu Grafana, rozhodně ji použijte. V jednom prostředí tak můžete sledovat Azure infrastrukturu, platformu i aplikace, současně metriky z on-premises prostředí či jiných cloudů, ale také metriky z Kubernetes nebo MySQL.



Kusto: základní i chytré dotazy nad telemetrií včetně předvídání budoucnosti Monitoring
Kusto: použití jazyka KQL pro práci s resources v Azure Monitoring
Pohled na hybridní svět IT nově i s Azure Arc Monitoring
Kusto: úvod do Azure jazyka pro práci s logy, telemetrií nebo IoT nejen v rámci Azure Monitor Monitoring
Odlehčený jump server jako služba s Azure Bastion Monitoring