Vlastní metriky ve službě Azure Monitor (Preview)

Při nasazování prostředků a aplikací v Azure budete chtít začít shromažďovat telemetrická data, abyste získali přehled o jejich výkonu a stavu. Azure vám zpřístupňuje některé metriky. Tyto metriky se nazývají standardní nebo platforma. Jsou ale omezené.

Můžete chtít shromáždit některé vlastní ukazatele výkonu nebo metriky specifické pro firmy, abyste mohli poskytovat hlubší přehledy. Tyto vlastní metriky je možné shromažďovat prostřednictvím telemetrie vaší aplikace, agenta, který běží na vašich prostředcích Azure, nebo dokonce prostřednictvím externího monitorovacího systému. Pak je můžete odeslat přímo do služby Azure Monitor. Po publikování vlastních metrik do služby Azure Monitor můžete procházet, dotazovat a upozorňovat na vlastní metriky pro prostředky a aplikace Azure vedle standardních metrik Azure.

Vlastní metriky služby Azure Monitor jsou aktuálně ve verzi Public Preview.

Metody pro odesílání vlastních metrik

Vlastní metriky je možné odesílat do služby Azure Monitor několika způsoby:

Cenový model a uchovávání informací

Podrobnosti o tom, kdy bude fakturace povolená pro vlastní metriky a dotazy na metriky, najdete na stránce s cenami služby Azure Monitor. V souhrnu nejsou žádné náklady na příjem standardních metrik (metrik platformy) do úložiště metrik služby Azure Monitor, ale vlastní metriky se budou účtovat při zadávání obecné dostupnosti. Dotazy na rozhraní API pro metriky se účtují náklady.

Vlastní metriky se uchovávají po stejnou dobu jako metriky platformy.

Poznámka

Metriky odeslané do služby Azure Monitor prostřednictvím sady Application Insights SDK se účtují jako ingestovaná data protokolu. Účtují se jim další poplatky za metriky jenom v případě, že je vybraná funkce Application Insights Povolit upozorňování na vlastní dimenze metriky . Toto políčko odesílá data do databáze metrik Služby Azure Monitor pomocí vlastního rozhraní API metrik, aby bylo možné složitější upozorňování. Přečtěte si další informace o cenovém modelu Application Insights a cenách ve vaší oblasti.

Odesílání vlastních metrik

Při odesílání vlastních metrik do služby Azure Monitor musí každý datový bod nebo hodnota hlášené v metrikách obsahovat následující informace.

Authentication

K odeslání vlastních metrik do služby Azure Monitor potřebuje entita, která odesílá metriku, platný token Azure Active Directory (Azure AD) v hlavičce bearer požadavku. Mezi podporované způsoby získání platného nosné tokenu patří:

  • Spravované identity pro prostředky Azure Spravovanou identitu můžete použít k udělení oprávnění k provádění určitých operací prostředků. Příkladem je povolení, aby prostředek vygenerovala metriky o sobě. Prostředek nebo jeho spravovaná identita může být udělena oprávnění Vydavatele metrik monitorování u jiného prostředku. S tímto oprávněním může spravovaná identita také generovat metriky pro další prostředky.

  • Azure AD instanční objekt. V tomto scénáři je možné přiřadit oprávnění k generování metrik o prostředku Azure Azure AD nebo službě. Pokud chcete požadavek ověřit, Azure Monitor ověří token aplikace pomocí Azure AD veřejných klíčů. Stávající role Vydavatele metrik monitorování už má toto oprávnění. Je k dispozici v Azure Portal.

    Instanční objekt může mít v závislosti na tom, pro jaké prostředky generuje vlastní metriky, roli Vydavatele metrik monitorování v požadovaném rozsahu. Příklady jsou předplatné, skupina prostředků nebo konkrétní prostředek.

Tip

Když požádáte o token Azure AD k generování vlastních metrik, ujistěte se, že cílová skupina nebo prostředek, pro který je token požadován, je https://monitoring.azure.com/. Nezapomeňte zahrnout koncové lomítko.

Předmět

Vlastnost předmětu zachycuje ID prostředku Azure, pro které je vlastní metrika hlášena. Tyto informace budou kódovány v adrese URL volání rozhraní API. Každé rozhraní API může odesílat hodnoty metrik pouze pro jeden prostředek Azure.

Poznámka

Vlastní metriky nemůžete generovat proti ID prostředku skupiny prostředků nebo předplatného.

Oblast

Vlastnost oblasti zachycuje oblast Azure, ve které se nasazuje prostředek, pro který generujete metriky. Metriky musí být generovány do stejného regionálního koncového bodu služby Azure Monitor jako oblast, ve které je prostředek nasazený. Například vlastní metriky pro virtuální počítač nasazený v oblasti USA – západ musí být odeslány do koncového bodu Služby Azure Monitor v oblasti WestUS. Informace o oblasti jsou také kódovány v adrese URL volání rozhraní API.

Poznámka

Ve verzi Public Preview jsou vlastní metriky dostupné jenom v podmnožině oblastí Azure. Seznam podporovaných oblastí je zdokumentovaný v pozdější části tohoto článku.

Timestamp

Každý datový bod odeslaný do služby Azure Monitor musí být označen časovým razítkem. Toto časové razítko zachycuje datum a čas, kdy se hodnota metriky měří nebo shromažďuje. Azure Monitor přijímá data metrik s časovými razítky do 20 minut za posledních a 5 minut v budoucnu. Časové razítko musí být ve formátu ISO 8601.

Obor názvů

Obory názvů představují způsob, jak kategorizovat nebo seskupit podobné metriky. Pomocí oborů názvů můžete dosáhnout izolace mezi skupinami metrik, které můžou shromažďovat různé přehledy nebo ukazatele výkonu. Můžete mít například obor názvů s názvem contosomemorymetrics , který sleduje metriky použití paměti, které profilují vaši aplikaci. Jiný obor názvů s názvem contosoapptransaction může sledovat všechny metriky o uživatelských transakcích ve vaší aplikaci.

Název

Vlastnost name je název metriky, která se hlásí. Název je obvykle dostatečně popisný, aby vám pomohl identifikovat, co se měří. Příkladem je metrika, která měří počet bajtů paměti používaných na virtuálním počítači. Může mít název metriky, jako jsou bajty paměti, které se používají.

Klíče dimenzí

Dimenze je pár klíč/hodnota, který pomáhá popsat další charakteristiky metriky, která se shromažďuje. Pomocí dalších charakteristik můžete shromáždit další informace o metrikě, což umožňuje hlubší přehledy.

Metrika Využité bajty paměti může mít například klíč dimenze s názvem Proces , který zaznamenává, kolik bajtů paměti každý proces na virtuálním počítači spotřebovává. Pomocí tohoto klíče můžete metriku filtrovat, abyste viděli, kolik procesů specifických pro paměť používá, nebo identifikovat prvních pět procesů podle využití paměti.

Dimenze jsou volitelné a ne všechny metriky mají dimenze. Vlastní metrika může mít až 10 dimenzí.

Hodnoty dimenzí

Když hlásíte datový bod metriky, pro každý klíč dimenze na ohlášené metrice je odpovídající hodnota dimenze. Můžete například chtít nahlásit paměť, kterou ContosoApp používá na vašem virtuálním počítači:

  • Název metriky by byl Bajty paměti v použití.
  • Klíčem dimenze by byl Proces.
  • Hodnota dimenze by byla ContosoApp.exe.

Při publikování hodnoty metriky můžete zadat pouze jednu hodnotu dimenze na klíč dimenze. Pokud na virtuálním počítači shromáždíte stejné využití paměti pro více procesů, můžete pro toto časové razítko nahlásit více hodnot metrik. Každá hodnota metriky by pro klíč dimenze procesu zadala jinou hodnotu dimenze.

I když jsou dimenze volitelné, pokud příspěvek metriky definuje klíče dimenzí, odpovídající hodnoty dimenzí jsou povinné.

Hodnoty metriky

Azure Monitor ukládá všechny metriky do 1minutových intervalů členitosti. Během dané minuty může být metrika několikrát potřeba vzorkovat. Například podle využití procesoru. Nebo metrika může být potřeba měřit u mnoha diskrétních událostí, jako jsou latence transakcí přihlašování.

Pokud chcete omezit počet nezpracovaných hodnot, které potřebujete vygenerovat a platit ve službě Azure Monitor, můžete hodnoty předem agregovat a vygenerovat:

  • Min: Minimální pozorovaná hodnota ze všech vzorků a měření během minuty.
  • Max: Maximální pozorovaná hodnota ze všech vzorků a měření během minuty.
  • Součet: Součet všech pozorovaných hodnot ze všech vzorků a měření během minuty.
  • Počet: Počet vzorků a měření pořízených během minuty.

Pokud například během minuty existovaly čtyři transakce přihlášení k vaší aplikaci, může být výsledná měřená latence pro každou z těchto transakcí:

Transakce 1 Transakce 2 Transakce 3 Transakce 4
7 ms 4 ms 13 ms 16 ms

Výsledná publikace metriky pro Azure Monitor by pak byla následující:

  • Min: 4
  • Max: 16
  • Součet: 40
  • Počet: 4

Pokud vaše aplikace nemůže předem agregovat místně a potřebuje okamžitě po kolekci generovat každou samostatnou ukázku nebo událost, můžete vygenerovat nezpracované hodnoty měr. Například pokaždé, když v aplikaci dojde k transakci přihlášení, publikujete metriku do služby Azure Monitor pouze s jedním měřením. Takže u transakce přihlášení, která trvala 12 milisekund, by publikace metriky byla:

  • Min: 12
  • Max: 12
  • Součet: 12
  • Počet: 1

V tomto procesu můžete během dané minuty vygenerovat více hodnot pro stejnou kombinaci metrik nebo dimenzí. Azure Monitor pak vezme všechny nezpracované hodnoty generované za danou minutu a agreguje je.

Ukázková vlastní publikace metrik

V následujícím příkladu vytvoříte vlastní metriku s názvem Bajty paměti v části Použít podprofilem paměti oboru názvů metrik pro virtuální počítač. Metrika má jednu dimenzi s názvem Proces. Pro časové razítko se hodnoty metrik vygenerují pro dva procesy.

{
    "time": "2018-08-20T11:25:20-7:00",
    "data": {

      "baseData": {

        "metric": "Memory Bytes in Use",
        "namespace": "Memory Profile",
        "dimNames": [
          "Process"
        ],
        "series": [
          {
            "dimValues": [
              "ContosoApp.exe"
            ],
            "min": 10,
            "max": 89,
            "sum": 190,
            "count": 4
          },
          {
            "dimValues": [
              "SalesApp.exe"
            ],
            "min": 10,
            "max": 23,
            "sum": 86,
            "count": 4
          }
        ]
      }
    }
  }

Poznámka

Application Insights, rozšíření diagnostiky a agent InfluxData Telegraf jsou již nakonfigurované tak, aby vygenerovaly hodnoty metrik proti správnému regionálnímu koncovému bodu a měly všechny předchozí vlastnosti v jednotlivých emisích.

Vlastní definice metrik

Před vygenerovaným výstupem není nutné předdefinovat vlastní metriku ve službě Azure Monitor. Každý publikovaný datový bod metriky obsahuje informace o oboru názvů, názvu a dimenzi. Proto se při prvním vygenerování vlastní metriky do služby Azure Monitor automaticky vytvoří definice metriky. Tato definice metriky je pak zjistitelná u libovolného prostředku, pro který se metrika vygeneruje prostřednictvím definic metrik.

Poznámka

Azure Monitor zatím nepodporuje definování jednotek pro vlastní metriku.

Použití vlastních metrik

Po odeslání vlastních metrik do služby Azure Monitor je můžete procházet prostřednictvím Azure Portal a dotazovat se na ně prostřednictvím rozhraní REST API služby Azure Monitor. Můžete také vytvořit upozornění, která vás upozorní, když jsou splněny určité podmínky.

Poznámka

Abyste mohli zobrazit vlastní metriky, musíte mít roli čtenáře nebo přispěvatele. Viz Čtenář monitorování.

Procházení vlastních metrik prostřednictvím Azure Portal

  1. Přejděte na Azure Portal.
  2. Vyberte podokno Monitorování .
  3. Vyberte Metriky.
  4. Vyberte prostředek, pro který jste vygenerovali vlastní metriky.
  5. Vyberte obor názvů metrik pro vlastní metriku.
  6. Vyberte vlastní metriku.

Další informace o zobrazení metrik v Azure Portal najdete v tématu Začínáme s Průzkumníkem metrik Azure.

Podporované oblasti

Ve verzi Public Preview je možnost publikovat vlastní metriky dostupná jenom v podmnožině oblastí Azure. Toto omezení znamená, že metriky je možné publikovat jenom pro prostředky v jedné z podporovaných oblastí. Další informace o oblastech Azure najdete v tématu Geografické oblasti Azure.

Následující tabulka uvádí podporované oblasti Azure pro vlastní metriky. Uvádí také odpovídající koncové body, do kterých by se měly publikovat metriky pro prostředky v těchto oblastech. Kód oblasti Azure použitý v předponě koncového bodu je jenom název oblasti s odebraným prázdným znakem.

Oblast Azure Předpona místního koncového bodu
Všechny oblasti veřejného cloudu <https:// azure_region_code.monitoring.azure.com>

Latence a uchovávání úložiště

Nově přidaná metrika nebo nově přidaná dimenze do metriky může trvat až 3 minuty. Jakmile jsou data v systému, měla by se zobrazit za méně než 30 sekund 99 % času.

Pokud metriku odstraníte nebo odeberete dimenzi, může změna trvat týden až měsíc, než se ze systému odstraní.

Kvóty a omezení

Azure Monitor ukládá na vlastní metriky následující omezení využití:

Kategorie Omezení
Celkový počet aktivních časových řad v předplatném ve všech oblastech, do kterých jste nasadili 50,000
Klíče dimenzí na metriku 10
Délka řetězce pro obory názvů metrik, názvy metrik, klíče dimenzí a hodnoty dimenzí 256 znaků

Aktivní časová řada je definována jako jakákoli jedinečná kombinace metrik, klíče dimenze nebo hodnoty dimenze, která má hodnoty metrik publikované za posledních 12 hodin.

Pokud chcete porozumět limitu 50 000 časových řad, zvažte následující metriku:

Doba odezvy serveru s dimenzemi: Oblast, oddělení, ID zákazníka

Pokud máte s touto metrikou 10 oblastí, 20 oddělení a 100 zákazníků, získáte 10 x 20 x 100 = 20 000 časových řad.

Pokud máte 100 oblastí, 200 oddělení a 2 000 zákazníků, získáte 100 x 200 x 200 x 2 000 = 40 milionů časových řad, což je daleko nad limitem pouze pro tuto metriku samotnou.

Opět platí, že tento limit není pro jednotlivé metriky. Jedná se o součet všech těchto metrik napříč předplatným a oblastí.

Pokud chcete zobrazit aktuální metriky aktivních časových řad a další informace, které vám pomůžou s řešením potíží, postupujte podle následujících kroků.

  1. Přejděte do části Monitorování Azure Portal.
  2. Vyberte Metriky na levé straně.
  3. V části Vyberte obor zkontrolujte příslušné předplatné a skupiny prostředků.
  4. V části Upřesnit obor zvolte Vlastní využití metrik a požadované umístění.
  5. Vyberte tlačítko Použít.
  6. Zvolte buď aktivní časová řada, limit aktivní časové řady, nebo omezené časové řady.

Omezení a aspekty návrhu

Použití Application Insights pro účely auditování Kanál telemetrie Application Insights je optimalizovaný pro minimalizaci dopadu na výkon a omezení síťového provozu z monitorování vaší aplikace. Například omezí nebo odebere vzorky (vezme jenom procento telemetrie a ignoruje zbytek), pokud se počáteční datová sada změní na příliš velkou. Kvůli tomuto chování ho nemůžete použít pro účely auditování, protože některé záznamy se pravděpodobně zahodí.

Metriky s proměnnou v názvu Nepoužívejte proměnnou jako součást názvu metriky. Použijte místo toho konstantu. Pokaždé, když proměnná změní svou hodnotu, Azure Monitor vygeneruje novou metriku. Azure Monitor pak rychle dosáhne limitu počtu metrik. Obecně platí, že pokud vývojáři chtějí do názvu metriky zahrnout proměnnou, chtějí ve skutečnosti sledovat více časových řad v rámci jedné metriky a místo názvů proměnných by měli používat dimenze.

Rozměry metrik s vysokou kardinalitou Metriky s příliš mnoha platnými hodnotami v dimenzi ( vysoká kardinalita) jsou mnohem pravděpodobnější, že dosáhne limitu 50 000. Obecně platí, že byste nikdy neměli používat neustále se měnící hodnotu v dimenzi. Časové razítko by například nikdy nemělo být dimenze. Můžete použít server, zákazník nebo ID produktu, ale jenom v případě, že máte menší počet těchto typů.

Jako test se zeptejte sami sebe, jestli byste někdy taková data na grafu namapovali. Pokud máte 10 nebo dokonce 100 serverů, může být užitečné je zobrazit na grafu pro porovnání. Pokud ale máte 1 000, bude výsledný graf pravděpodobně obtížně čitelný nebo nečitelný. Osvědčeným postupem je zachovat ho na méně než 100 platných hodnot. Až 300 je šedá oblast. Pokud potřebujete tuto částku převést, použijte místo toho vlastní protokoly služby Azure Monitor.

Pokud máte proměnnou v názvu nebo dimenzi s vysokou kardinalitou, může dojít k následujícím problémům:

  • Metriky se stanou nespolehlivými kvůli omezování.
  • Průzkumník metrik nebude fungovat.
  • Upozorňování a oznámení se stává nepředvídatelným.
  • Náklady se můžou neočekávaně zvýšit. Microsoft neúčtuje vlastní metriky s rozměry, zatímco tato funkce je ve verzi Public Preview. Po spuštění poplatků v budoucnu se vám budou účtovat neočekávané poplatky. Plán je účtovat spotřebu metrik na základě počtu monitorovaných časových řad a počtu volání rozhraní API.

Pokud je název metriky nebo hodnota dimenze naplněna identifikátorem nebo dimenzí s vysokou kardinalitou omylem, můžete ji snadno opravit odebráním části proměnné.

Pokud je ale pro váš scénář důležitá vysoká kardinalita, agregované metriky pravděpodobně nejsou správnou volbou. Přepněte na vlastní protokoly (tj. volání rozhraní API pro sledování metrik pomocí trackEvent). Zvažte ale, že protokoly agregují hodnoty, takže každá položka bude uložena. V důsledku toho, pokud máte velký objem protokolů v malém časovém období (například 1 milion sekund), může to způsobit omezování a zpoždění příjmu dat.

Další kroky

Používejte vlastní metriky z různých služeb: