Sdílet prostřednictvím


Osvědčené postupy pro škálování pracovních prostorů Azure Monitoru pomocí spravované služby Azure Monitor pro Prometheus

Spravovaná služba Azure Monitor pro Prometheus umožňuje shromažďovat a analyzovat metriky ve velkém měřítku. Metriky Prometheus se ukládají do pracovních prostorů služby Azure Monitor. Pracovní prostor podporuje analytické nástroje, jako je Azure Managed Grafana a Průzkumník metrik Azure Monitoru s podporou jazyka PromQL, a také opensourcové nástroje, jako jsou PromQL a Grafana.

Tento článek obsahuje osvědčené postupy pro uspořádání pracovních prostorů služby Azure Monitor tak, aby odpovídaly vašemu škálování a rostoucímu objemu příjmu dat.

Kritéria návrhu topologie

Jeden pracovní prostor Azure Monitoru může být dostatečný pro mnoho případů použití. Některé organizace vytvářejí více pracovních prostorů, aby lépe splňovaly své požadavky. Při identifikaci správných kritérií pro vytváření dalších pracovních prostorů vytvořte nejnižší počet pracovních prostorů, které odpovídají vašim požadavkům, a současně optimalizujte minimální režii na správu.

Následující scénáře vyžadují rozdělení pracovního prostoru služby Azure Monitor do několika pracovních prostorů:

Scénář Nejlepší praxe
Suverénní mraky Při práci s více než jedním suverénním cloudem vytvořte pracovní prostor Azure Monitoru v každém cloudu.
Dodržování předpisů nebo zákonné požadavky Pokud podléháte předpisům, které vyžadují ukládání dat v konkrétních oblastech, vytvořte podle svých požadavků pracovní prostor služby Azure Monitor pro každou oblast.
Regionální škálování Při správě metrik pro regionální organizace, jako jsou velké služby nebo finanční instituce s regionálními účty, vytvořte pracovní prostor služby Azure Monitor pro každou oblast.
Nájemci Azure Pro více tenantů Azure vytvořte v každém tenantovi pracovní prostor služby Azure Monitor. Dotazování dat napříč tenanty není podporováno.
Prostředí nasazení Vytvořte samostatný pracovní prostor pro každé prostředí nasazení, abyste zachovali samostatné metriky pro vývoj, testování, předprodukční a produkční prostředí.
Limity a kvóty služeb Pracovní prostory služby Azure Monitor mají výchozí limity příjmu dat, které je možné zvýšit otevřením lístku podpory. Pokud se blížíte limitu nebo odhadnete, že překročíte limit příjmu dat, zvažte žádost o navýšení nebo rozdělení pracovního prostoru na dva nebo více pracovních prostorů.

Limity a kvóty služeb

Pracovní prostory služby Azure Monitor mají výchozí kvóty a omezení pro metriky 1 milion přijatých událostí za minutu. S rostoucím využitím a potřebujete ingestovat další metriky, můžete požádat o zvýšení. Pokud jsou vaše požadavky na kapacitu mimořádně velké a vaše potřeby příjmu dat překračují limity jednoho pracovního prostoru služby Azure Monitor, zvažte vytvoření několika pracovních prostorů služby Azure Monitor. K monitorování využití a omezení použijte metriky platformy pracovního prostoru služby Azure Monitor. Další informace o omezeních a kvótách najdete v tématu Omezení a kvóty služby Azure Monitor.

Zvažte následující osvědčené postupy pro správu limitů a kvót pracovního prostoru služby Azure Monitor:

Nejlepší praxe Popis
Monitorujte a vytvořte upozornění na omezení a využití příjmu dat. Na webu Azure Portal přejděte do svého pracovního prostoru služby Azure Monitor. Přejděte na Metriky a ověřte, že metriky % využití aktivní časové řady a % využití událostí za minutu ingestovaných jsou nižší než 100 %. Nastavte upozornění služby Azure Monitor, aby monitorovalo využití a aktivovalo se, když je využití větší než 80 % limitu. Další informace o monitorování využití a omezení najdete v tématu Jak můžu monitorovat limity a kvóty služby.
Pokud využití překročí 80 % aktuálního limitu, požádejte o navýšení limitu. S rostoucím využitím Azure se pravděpodobně zvýší objem přijatých dat. Pokud příjem dat překročí nebo se blíží 80 % limitu příjmu dat, doporučujeme požádat o zvýšení limitů. Pokud chcete požádat o navýšení limitu, podívejte se na Žádost o zvýšení limitu ingesce.
Odhadněte předpokládané měřítko. S tím, jak vaše využití roste a ingestujete do pracovního prostoru více metrik, proveďte odhad předpokládaného škálování a míry růstu. Na základě vašich projekcí požádejte o zvýšení limitu.
Příjem dat pomocí vzdáleného zápisu pomocí kontejneru Azure Monitor side-car Pokud používáte sidecar kontejner služby Azure Monitor a funkci vzdáleného zápisu pro ingestování metrik do pracovního prostoru služby Azure Monitor, zvažte následující omezení:
  • Postranní kontejner dokáže zpracovat až 150 000 jedinečných časových řad.
  • Kontejner může vyvolat chyby obsluhující požadavky nad 150 000 kvůli vysokému počtu souběžných připojení. Tento problém zmírníte tím, že zvýšíte velikost vzdálené dávky z výchozí hodnoty 500 na 1 000. Změna velikosti vzdálené dávky snižuje počet otevřených připojení.
  • Omezení DCR/DCE Omezení se vztahují na pravidla shromažďování dat (DCR) a koncové body shromažďování dat (DCE), které odesílají metriky Prometheus do pracovního prostoru služby Azure Monitor. Pokud chcete tyto limity monitorovat, přečtěte si téma Zobrazení a monitorování limitů DCR. Tato omezení není možné zvýšit.

    Zvažte vytvoření dalších řadičů domény a DCE pro distribuci zatížení příjmu dat napříč několika koncovými body. Tento přístup pomáhá optimalizovat výkon a zajišťuje efektivní zpracování dat. Další informace o vytváření DCR a DCE najdete v tématu Vytvoření vlastního koncového bodu shromažďování dat (DCE) a vlastního pravidla shromažďování dat (DCR) pro existující pracovní prostor služby Azure Monitor pro ingestování metrik Prometheus.

    Optimalizace výkonu pro velké objemy dat

    Příjem

    Při optimalizaci příjmu dat zvažte následující osvědčené postupy:

    Nejlepší praxe Popis
    Identifikace metrik vysoké kardinality Identifikujte metriky s vysokou kardinalitou nebo metrikami, které generují mnoho časových řad. Přehled využití metrik pracovního prostoru služby Azure Monitor poskytuje přehledy o využití metrik a příležitostech optimalizace nákladů tím, že poskytuje informace o časových řadách a využití událostí. Jakmile identifikujete metriky s vysokou kardinalitou, optimalizujte je, abyste snížili počet časových řad vyřazením nepotřebných popisků.
    K optimalizaci příjmu dat použijte konfiguraci Prometheus. Azure Managed Prometheus poskytuje mapy konfigurace, které mají nastavení, která je možné nakonfigurovat a použít k optimalizaci příjmu dat. Další informace najdete v tématu ama-metrics-settings-configmap a ama-metrics-prometheus-configmap. Tyto konfigurace se řídí stejným formátem jako konfigurační soubor Prometheus.
    Informace o přizpůsobení kolekce najdete v tématu Přizpůsobení výstřižků metrik Prometheus ve spravované službě Azure Monitor pro Prometheus. Představte si například následující:

  • Vylaďte intervaly výstřižků.
  • Výchozí frekvence výstřižků je 30 sekund, což se dá změnit podle výchozího cíle pomocí konfigurační mapy. Pokud chcete vyvážit kompromis mezi členitostí dat a využitím prostředků, upravte scrape_interval a scrape_timeout na základě závažnosti metrik.

  • U metrik s vysokou kardinalitou zahoďte nepotřebné popisky.
  • U metrik s vysokou kardinalitou identifikujte popisky, které nejsou potřeba, a vypusťte je, abyste snížili počet časových řad. Použijte metric_relabel_configs k odstranění konkrétních popisků z příjmu. Další informace naleznete v tématu Konfigurace Prometheus.

    Použijte configmap, změňte nastavení podle potřeby a aplikujte configmap do oboru názvů kube-system pro váš cluster. Pokud používáte vzdálené zápisy do pracovního prostoru Azure Monitoru, použijte vlastní nastavení během příjmu dat přímo v konfiguraci Prometheus.

    Dotazy

    Při optimalizaci dotazů zvažte následující osvědčené postupy:

    Optimalizace výkonu dotazů pomocí pravidel záznamu

    Pravidla záznamu Prometheus se používají k předpočítání často používaných nebo výpočetně náročných dotazů, což je činí efektivnějšími a rychlejšími pro dotazování. Pravidla záznamu jsou zvlášť užitečná pro metriky s velkým objemem, kdy dotazování nezpracovaných dat může být pomalé a náročné na prostředky. Další informace najdete v tématu Pravidla záznamu. Azure Managed Prometheus poskytuje spravovaný a škálovatelný způsob, jak vytvářet a aktualizovat pravidla nahrávání pomocí skupin pravidel Azure Managed Prometheus.

    Jakmile se skupiny pravidel vytvoří, Azure Managed Prometheus je automaticky načte a začne je vyhodnocovat. Dotazujte skupiny pravidel z pracovního prostoru Azure Monitoru jako jiné metriky Prometheus.

    Pravidla nahrávání mají následující výhody:

    • Zlepšení výkonu dotazů Pravidla záznamu se dají použít k předběžnému dokončování složitých dotazů a jejich pozdější dotazování. Předkomputování složitých dotazů snižuje zatížení prometheus při dotazování těchto metrik.

    • Efektivita a kratší doba dotazování Pravidla záznamu předkomputují výsledky dotazu a zkracují dobu potřebnou k dotazování na data. To je užitečné zejména pro řídicí panely s několika panely nebo metrikami s vysokou kardinalitou.

    • Jednoduchost Pravidla záznamu zjednodušují dotazy v Grafana nebo jiných nástrojích pro vizualizaci, protože můžou odkazovat na předem výpočetní metriky.

    Následující příklad ukazuje pravidlo záznamu definované ve skupině pravidel Azure Managed Prometheus:

    "record": "job:request_duration_seconds:avg ",
    "expression": "avg(rate(request_duration_seconds_sum[5m])) by (job)",
    "labels": {  "workload_type": "job"
                            },
    "enabled": true
    

    Pro složitější metriky vytvořte pravidla záznamu, která agregují více metrik nebo provádějí pokročilejší výpočty. V následujícím příkladu vypočítá využití procesoru v případě, instance:node_cpu_utilisation:rate5m že procesor není nečinný.

    "record": "instance:node_cpu_utilisation:rate5m",
     "expression": "1 - avg without (cpu) (sum without (mode)(rate(node_cpu_seconds_total{job=\"node\", mode=~\"idle|iowait|steal\"}[5m])))",
    "labels": {
                                "workload_type": "job"
                            },
    "enabled": true
    

    Zvažte následující osvědčené postupy pro optimalizaci pravidel nahrávání:

    Nejlepší praxe Popis
    Identifikace metrik s vysokým objemem Zaměřte se na metriky, které se často dotazují a mají vysokou kardinalitu.
    Optimalizujte interval vyhodnocení pravidla. Pokud chcete vyvážit mezi aktuálností dat a výpočetním zatížením, upravte interval vyhodnocení pravidel nahrávání.
    Monitorování výkonu Monitorujte výkon dotazů a upravte pravidla záznamu podle potřeby.
    Optimalizujte pravidla omezením rozsahu. Pokud chcete pravidla nahrávání zrychlit, omezte je v oboru na konkrétní cluster. Další informace najdete v tématu Omezení pravidel na konkrétní cluster.

    Použití filtrů v dotazech

    Optimalizace dotazů Prometheus pomocí filtrů zahrnuje upřesnění dotazů tak, aby vracely pouze potřebná data, což snižuje množství zpracovávaných dat a zlepšuje výkon. Tady jsou některé běžné techniky pro upřesnění dotazů Prometheus.

    Nejlepší praxe Popis
    Použijte filtr štítků. Filtry popisků pomáhají zúžit data jenom na to, co potřebujete. Prometheus umožňuje filtrování pomocí {label_name="label_value"} syntaxe. Pokud máte velký počet metrik napříč několika clustery, můžete snadno omezit časovou řadu pomocí cluster filtru.

    Například místo dotazování container_cpu_usage_seconds_total, filtrování podle clusteru container_cpu_usage_seconds_total{cluster="cluster1"}.
    Použijte selektory časového rozsahu. Použití konkrétních časových rozsahů může výrazně snížit množství dotazovaných dat.

    Například místo dotazování na všechny datové body za posledních 7 dnů http_requests_total{job="myapp"}, dotaz na poslední hodinu pomocí http_requests_total{job="myapp"}[1h].
    Použijte agregaci a seskupení. Agregační funkce se dají použít k sumarizaci dat, což může být efektivnější než zpracování nezpracovaných datových bodů. Při agregaci dat použijte by pro seskupení podle konkrétních popisků nebo without pro vyloučení konkrétních popisků.

    Například součet požadavků seskupených podle úlohy: sum(rate(http_requests_total[5m])) by (job).
    Vyfiltrujte v rané fázi dotazu. Pokud chcete datovou sadu omezit od začátku, použijte filtry co nejdříve v dotazu. Například místo sum(rate(http_requests_total[5m])) by (job) nejprve filtrujte a poté agregujte následujícím způsobem: sum(rate(http_requests_total{job="myapp"}[5m])) by (job).
    Pokud je to možné, vyhněte se regulárním výrazům. Filtry regulárních výrazů mohou být výkonné, ale také výpočetně nákladné. Používejte přesné shody, kdykoli je to možné. Například místo http_requests_total{job=~"myapp.*"} použijte http_requests_total{job="myapp"}.
    Pro historická data použijte offset. Pokud porovnáváte aktuální data s historickými daty, použijte offset modifikátor.

    Pokud chcete například porovnat aktuální žádosti s požadavky před 24 hodinami, použijte rate(http_requests_total[5m]) - rate(http_requests_total[5m] offset 24h).
    Omezení datových bodů v grafech Při vytváření grafů omezte počet datových bodů, aby se zlepšil výkon vykreslování. K řízení rozlišení použijte parametr kroku.

    Například v Grafana: Nastavte vyšší hodnotu kroku pro snížení počtu datových bodů:http_requests_total{job="myapp"}[1h:10s].

    Paralelní dotazy

    Spuštění velkého počtu paralelních dotazů v systému Prometheus může vést k kritickým bodům výkonu a může ovlivnit stabilitu serveru Prometheus. Pokud chcete efektivně zpracovávat velký objem paralelních dotazů, postupujte podle následujících osvědčených postupů:

    Nejlepší praxe Popis
    Distribuce zatížení dotazu. Distribuujte zatížení dotazu rozložením dotazů do různých časových intervalů nebo instancí Prometheus.
    Rozsazené dotazy. Naplánujte spouštění dotazů v různých intervalech, abyste se vyhnuli špičkám souběžných spouštění dotazů.

    Pokud stále dochází k problémům se spouštěním mnoha paralelních dotazů, vytvořte lístek podpory pro vyžádání zvýšení limitů dotazů.

    Pravidla upozornění a záznamu

    Optimalizace upozornění a pravidel záznamu pro velké škálování

    Upozornění a pravidla záznamu Prometheus je možné definovat jako skupiny pravidel Prometheus. Jedna skupina pravidel může obsahovat až 20 upozornění nebo pravidla záznamu. Vytvořte pro každý pracovní prostor až 500 skupin pravidel, aby vyhovovaly počtu požadovaných upozornění a pravidel. Pokud chcete tento limit zvýšit, otevřete lístek podpory.

    Při definování pravidel záznamu vezměte v úvahu interval vyhodnocení, abyste optimalizovali počet časových řad na pravidlo a výkon vyhodnocení pravidel. Intervaly vyhodnocení můžou být mezi 1 minutou a 24 hodinami. Výchozí hodnota je 1 minuta.

    Použijte službu Resource Health ke zobrazení dotazů o stavu pravidla záznamu

    Nastavte Resource Health tak, aby se na portálu zobrazil stav vaší skupiny pravidel Prometheus. Resource Health umožňuje detekovat problémy v pravidlech nahrávání, jako je nesprávná konfigurace nebo problémy s omezováním dotazů. Další informace o nastavení služby Resource Health najdete v tématu Zobrazení stavů prostředků skupin pravidel Prometheus.