Metryki niestandardowe w Azure Monitor (wersja zapoznawcza)

Podczas wdrażania zasobów i aplikacji na platformie Azure należy rozpocząć zbieranie danych telemetrycznych w celu uzyskania wglądu w ich wydajność i kondycję. Platforma Azure udostępnia niektóre metryki od czasu do czasu. Te metryki są nazywane standardową lub platformą. Są one jednak ograniczone.

Aby uzyskać bardziej szczegółowe informacje, warto zebrać niestandardowe wskaźniki wydajności lub metryki specyficzne dla firmy. Te metryki niestandardowe można zbierać za pośrednictwem telemetrii aplikacji, agenta, który działa w zasobach platformy Azure, a nawet zewnętrznego systemu monitorowania. Następnie można je przesłać bezpośrednio do Azure Monitor. Po opublikowaniu metryk niestandardowych w usłudze Azure Monitor można przeglądać i tworzyć zapytania oraz alerty dotyczące metryk niestandardowych dla zasobów i aplikacji platformy Azure obok standardowych metryk platformy Azure.

Azure Monitor metryki niestandardowe są obecnie dostępne w publicznej wersji zapoznawczej.

Metody wysyłania metryk niestandardowych

Metryki niestandardowe można wysyłać do usługi Azure Monitor za pomocą kilku metod:

  • Instrumentować aplikację przy użyciu zestawu SDK usługi Azure Application Szczegółowe informacje i wysyłać niestandardowe dane telemetryczne do Azure Monitor.
  • Zainstaluj agenta Azure Monitor (wersja zapoznawcza) na maszynie wirtualnej platformy Azure z systemem Windows lub Linux iużyj reguły zbierania danych, aby wysyłać liczniki wydajności do Azure Monitor metryk.
  • Zainstaluj rozszerzenie Diagnostyka Azure na maszynie wirtualnej platformy Azure,zestawie skalowania maszyn wirtualnych,klasycznej maszynie wirtualnej lub klasycznej usłudze w chmurze iwyślij liczniki wydajności do usługi Azure Monitor.
  • Zainstaluj agenta InfluxData Telegraf na maszynie wirtualnej z systemem Linux na platformie Azure i wyślij metryki przy użyciu Azure Monitor wtyczki danych wyjściowych.
  • Wysyłanie metryk niestandardowych bezpośrednio do interfejsu API REST Azure Monitor , .

Model cen i przechowywanie

Aby uzyskać szczegółowe informacje na temat tego, kiedy rozliczenia będą włączone dla zapytań dotyczących metryk niestandardowych i metryk, Azure Monitor cennik. Podsumowując, pozyskanie metryk standardowych (metryk platformy) do magazynu metryk usługi Azure Monitor nie wiąże się z żadnym kosztem, ale metryki niestandardowe będą wiązać się z kosztami po wprowadzeniu ogólnej dostępności. Zapytania do interfejsu API metryk są naliczane koszty.

Metryki niestandardowe są przechowywane przez ten sam czas co metryki platformy.

Uwaga

Metryki wysyłane do usługi Azure Monitor za pośrednictwem zestawu SDK usługi Application Szczegółowe informacje są rozliczane jako pozysowane dane dziennika. Dodatkowe opłaty za metryki są naliczane tylko wtedy, Szczegółowe informacje application Szczegółowe informacje Włącz alerty dotyczące niestandardowych wymiarów metryki została wybrana. To pole wyboru wysyła dane do bazy Azure Monitor metryk przy użyciu interfejsu API metryk niestandardowych, aby umożliwić bardziej złożone alerty. Dowiedz się więcej o modelu cen Szczegółowe informacje Application i cenach w Twoim regionie.

Jak wysyłać metryki niestandardowe

Podczas wysyłania metryk niestandardowych do Azure Monitor każdy punkt danych lub wartość zgłoszona w metrykach musi zawierać następujące informacje.

Authentication

Aby przesłać metryki niestandardowe do usługi Azure Monitor, jednostka, która przesyła metrykę, musi mieć prawidłowy token Azure Active Directory (Azure AD) w nagłówku elementu bearer żądania. Obsługiwane sposoby uzyskania prawidłowego tokenu bearer obejmują:

  • Tożsamości zarządzane dla zasobów platformy Azure. Tożsamość zarządzana umożliwia nadaj zasobom uprawnienia do wykonywania niektórych operacji. Przykładem jest umożliwienie zasobowi emitowania metryk dotyczących samego siebie. Zasób lub jego tożsamość zarządzana może mieć przyznane metryki monitorowania Publisher uprawnienia do innego zasobu. Dzięki temu uprawnieniem tożsamość zarządzana może również emitować metryki dla innych zasobów.

  • Jednostkę usługi Azure AD. W tym scenariuszu aplikacji lub usługi Azure AD można przypisać uprawnienia do emitowania metryk dotyczących zasobu platformy Azure. Aby uwierzytelnić żądanie, Azure Monitor zweryfikuje token aplikacji przy użyciu kluczy publicznych usługi Azure AD. Istniejące metryki monitorowania Publisher mają już to uprawnienie. Jest ona dostępna w Azure Portal.

    Jednostki usługi, w zależności od zasobów, dla których emituje metryki niestandardowe, można nadawać metryki monitorowania Publisher rolę w wymaganym zakresie. Przykłady to subskrypcja, grupa zasobów lub określony zasób.

Porada

Gdy żądasz tokenu usługi Azure AD w celu emitowania metryk niestandardowych, upewnij się, że odbiorcy lub zasób, dla których zażądano tokenu, to https://monitoring.azure.com/ . Pamiętaj, aby dołączyć ukośnik na końcowej trasie.

Temat

Właściwość podmiotu przechwytuje identyfikator zasobu platformy Azure, dla którego metryka niestandardowa jest zgłaszana. Te informacje zostaną zakodowane w adresie URL wywołania interfejsu API. Każdy interfejs API może przesyłać wartości metryk tylko dla jednego zasobu platformy Azure.

Uwaga

Nie można emitować metryk niestandardowych względem identyfikatora zasobu grupy zasobów lub subskrypcji.

Region (Region)

Właściwość regionu przechwytuje region świadczenia usługi Azure, w którym wdrożono zasób, dla którego są emitowane metryki. Metryki muszą być emitowane do tego samego Azure Monitor punktu końcowego regionu co region, w którym zasób jest wdrażany. Na przykład metryki niestandardowe dla maszyny wirtualnej wdrożonej w regionach Zachodnie stany USA muszą być wysyłane do regionalnego punktu końcowego Azure Monitor Zachodnie stany USA. Informacje o regionie są również kodowane w adresie URL wywołania interfejsu API.

Uwaga

W publicznej wersji zapoznawczej metryki niestandardowe są dostępne tylko w podzestawie regionów platformy Azure. Lista obsługiwanych regionów jest udokumentowana w dalszej części tego artykułu.

Znacznik czasu

Każdy punkt danych wysłany do Azure Monitor musi być oznaczony sygnaturą czasową. Ten znacznik czasu przechwytuje datę i czas, o której wartość metryki jest mierzona lub zbierana. Azure Monitor przyjmuje dane metryk ze znacznikami czasu nawet 20 minut w przeszłości i 5 minut w przyszłości. Znacznik czasu musi być w formacie ISO 8601.

Przestrzeń nazw

Przestrzenie nazw to sposób kategoryzowania lub grupowania podobnych metryk. Za pomocą przestrzeni nazw można uzyskać izolację między grupami metryk, które mogą zbierać różne szczegółowe informacje lub wskaźniki wydajności. Na przykład możesz mieć przestrzeń nazw o nazwie contosomemorymetrics, która śledzi metryki użycia pamięci, które profilują aplikację. Inna przestrzeń nazw o nazwie contosoapptransaction może śledzić wszystkie metryki dotyczące transakcji użytkowników w aplikacji.

Nazwa

Właściwość name to nazwa zgłaszanej metryki. Zazwyczaj nazwa jest wystarczająco opisowa, aby ułatwić zidentyfikowanie mierzonych danych. Przykładem jest metryka, która mierzy liczbę bajtów pamięci używanych na maszynie wirtualnej. Może mieć nazwę metryki, np. Bajty pamięci w użyciu.

Klucze wymiarów

Wymiar to para klucz/wartość, która pomaga opisać dodatkowe charakterystyki zbieranej metryki. Korzystając z dodatkowych cech, można zebrać więcej informacji o metryce, co pozwala uzyskać bardziej szczegółowe informacje.

Na przykład metryka Bajty pamięci w użyciu może mieć klucz wymiaru o nazwie Proces, który przechwytuje, ile bajtów pamięci zużywa każdy proces na maszynie wirtualnej. Za pomocą tego klucza można filtrować metrykę, aby zobaczyć, ile procesów specyficznych dla pamięci używa lub zidentyfikować pięć najważniejszych procesów według użycia pamięci.

Wymiary są opcjonalne i nie wszystkie metryki mają wymiary. Metryka niestandardowa może mieć maksymalnie 10 wymiarów.

Wartości wymiarów

W przypadku raportowania punktu danych metryki dla każdego klucza wymiaru w zgłoszonej metryce istnieje odpowiadająca wartość wymiaru. Możesz na przykład zgłosić pamięć używaną przez firmę ContosoApp na maszynie wirtualnej:

  • Nazwa metryki to Bajty pamięci w metryce Użyj.
  • Kluczem wymiaru będzie Proces.
  • Wartością wymiaru będzie ContosoApp.exe.

Podczas publikowania wartości metryki można określić tylko jedną wartość wymiaru na klucz wymiaru. Jeśli zbierzemy takie samo wykorzystanie pamięci dla wielu procesów na maszynie wirtualnej, możesz zgłosić wiele wartości metryk dla tego znacznika czasu. Każda wartość metryki określa inną wartość wymiaru dla klucza wymiaru Proces.

Mimo że wymiary są opcjonalne, jeśli wpis metryki definiuje klucze wymiarów, odpowiednie wartości wymiarów są obowiązkowe.

Wartości metryk

Azure Monitor przechowuje wszystkie metryki w 1-minutowych interwałach szczegółowości. W ciągu danej minuty może być konieczne kilkukrotnie próbkowania metryki. Na przykład na podstawie użycia procesora CPU. Może też być konieczne pomiar metryki dla wielu zdarzeń dyskretnych, takich jak opóźnienia transakcji logowania.

Aby ograniczyć liczbę nieprzetworzonych wartości, które trzeba emitować i płacić w Azure Monitor, możesz lokalnie wstępnie agregować i emitować wartości:

  • Min.: minimalna zaobserwowana wartość ze wszystkich próbek i pomiarów w ciągu minuty.
  • Maksimum:maksymalna obserwowana wartość ze wszystkich próbek i pomiarów w ciągu minuty.
  • Suma:suma wszystkich obserwowanych wartości ze wszystkich próbek i pomiarów w ciągu minuty.
  • Liczba:liczba próbek i pomiarów w ciągu minuty.

Jeśli na przykład w ciągu danej minuty były cztery transakcje logowania do aplikacji, mierzone opóźnienia dla każdej z nich mogą być następujące:

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

Następnie wynikowa publikacja metryki w Azure Monitor będzie następująca:

  • Min.: 4
  • Maks.: 16
  • Suma: 40
  • Liczba: 4

Jeśli aplikacja nie może wstępnie agregować lokalnie i musi emitować każdą dyskretną próbkę lub zdarzenie natychmiast po pobraniu, możesz emitować nieprzetworzone wartości miary. Na przykład za każdym razem, gdy w aplikacji nastąpi transakcja logowania, należy opublikować metrykę Azure Monitor tylko jedną miarą. W przypadku transakcji logowania, która trwała 12 milisekund, publikacja metryki będzie następująca:

  • Min.: 12
  • Maks.: 12
  • Suma: 12
  • Liczba: 1

Dzięki temu procesowi można emitować wiele wartości dla tej samej kombinacji metryki/wymiaru w ciągu danej minuty. Azure Monitor następnie pobiera wszystkie nieprzetworzone wartości emitowane dla danej minuty i agreguje je.

Publikowanie przykładowej metryki niestandardowej

W poniższym przykładzie utworzysz metrykę niestandardową o nazwie Bajty pamięci w obszarze Użyj w obszarze przestrzeni nazw metryki Profil pamięci dla maszyny wirtualnej. Metryka ma jeden wymiar o nazwie Proces. W przypadku znacznika czasu wartości metryk są emitowane dla dwóch procesów.

{
    "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
          }
        ]
      }
    }
  }

Uwaga

Program Application Szczegółowe informacje, rozszerzenie diagnostyki i agent telegrafu InfluxData są już skonfigurowane do emitowania wartości metryk względem poprawnego regionalnego punktu końcowego i przenoszenia wszystkich powyższych właściwości w każdym z nich.

Niestandardowe definicje metryk

Nie ma potrzeby wstępnie zdefiniowanej metryki niestandardowej w Azure Monitor, zanim zostanie ona emitowana. Każdy opublikowany punkt danych metryki zawiera informacje o przestrzeni nazw, nazwie i wymiarze. Dlatego podczas pierwszego emitowania metryki niestandardowej do Azure Monitor automatycznie tworzona jest definicja metryki. Ta definicja metryki jest następnie wykrywalna dla dowolnego zasobu, względem których metryka jest emitowana za pośrednictwem definicji metryk.

Uwaga

Azure Monitor nie obsługuje jeszcze definiowania jednostek dla metryki niestandardowej.

Korzystanie z metryk niestandardowych

Po przesłaniu metryk niestandardowych do usługi Azure Monitor możesz przeglądać je za pośrednictwem witryny Azure Portal i odpytować je za pośrednictwem interfejsów API REST Azure Monitor niestandardowych. Można również tworzyć na nich alerty w celu powiadamiania o spełniania określonych warunków.

Uwaga

Aby wyświetlać metryki niestandardowe, musisz mieć rolę czytelnika lub współautora. Zobacz Czytelnik monitorowania.

Przeglądaj metryki niestandardowe za pomocą Azure Portal

  1. Przejdź do witryny Azure Portal.
  2. Wybierz okienko Monitorowanie.
  3. Wybierz pozycję Metryki.
  4. Wybierz zasób, dla których emitowana jest metryka niestandardowa.
  5. Wybierz przestrzeń nazw metryk dla metryki niestandardowej.
  6. Wybierz metrykę niestandardową.

Aby uzyskać więcej informacji na temat wyświetlania metryk w Azure Portal, zobacz Wprowadzenie do usługi Azure Eksplorator metryk.

Obsługiwane regiony

W publicznej wersji zapoznawczej możliwość publikowania metryk niestandardowych jest dostępna tylko w podzestawie regionów platformy Azure. To ograniczenie oznacza, że metryki mogą być publikowane tylko dla zasobów w jednym z obsługiwanych regionów. Aby uzyskać więcej informacji na temat regionów świadczenia usługi Azure, zobacz Obszary geograficzne platformy Azure.

W poniższej tabeli wymieniono obsługiwane regiony platformy Azure dla metryk niestandardowych. Zawiera również listę odpowiednich punktów końcowych, w których powinny być publikowane metryki dla zasobów w tych regionach. Kod regionu platformy Azure używany w prefiksie punktu końcowego to po prostu nazwa regionu z usuniętym odstępem.

Region platformy Azure Prefiks regionalnego punktu końcowego
Wszystkie regiony chmury publicznej https:// azure_region_code <> .monitoring.azure.com

Opóźnienie i przechowywanie magazynu

Nowo dodana metryka lub nowo dodany wymiar do metryki może potrwać do 3 minut. Gdy dane zostaną w systemie, powinny pojawić się w mniej niż 30 sekundach przez 99% czasu.

Jeśli usuniesz metrykę lub wymiar, usunięcie zmiany z systemu może potrwać tydzień lub miesiąc.

Limity przydziału i ograniczenia

Azure Monitor nakłada następujące limity użycia na metryki niestandardowe:

Kategoria Limit
Łączna liczba aktywnych szeregów czasu w subskrypcji we wszystkich regionach, w których wdrożono 50 000
Klucze wymiarów na metrykę 10
Długość ciągu dla przestrzeni nazw metryk, nazw metryk, kluczy wymiarów i wartości wymiarów 256 znaków

Aktywny szereg czasowy jest definiowany jako dowolna unikatowa kombinacja metryki, klucza wymiaru lub wartości wymiaru, która ma wartości metryk opublikowane w ciągu ostatnich 12 godzin.

Aby zrozumieć limit 50 000 w szeregach czasowych, weź pod uwagę następującą metrykę:

Czas odpowiedzi serwera z wymiarami: Region,Dział,CustomerID

W przypadku tej metryki, jeśli masz 10 regionów, 20 działów i 100 klientów, daje to 10 x 20 x 100 = 20 000 szeregów czasu.

Jeśli masz 100 regionów, 200 działów i 2000 klientów, daje to 100 x 200 x 2000 = 40 milionów szeregów czasowych, co znacznie ogranicza tylko tę metrykę.

Ponownie ten limit nie dotyczy poszczególnych metryk. Jest to suma wszystkich takich metryk w ramach subskrypcji i regionu.

Ograniczenia i zagadnienia dotyczące projektowania

Używanie Szczegółowe informacje na potrzeby inspekcjiprogramu . Potok telemetrii Szczegółowe informacje aplikacji jest zoptymalizowany pod kątem minimalizowania wpływu na wydajność i ograniczania ruchu sieciowego z monitorowania aplikacji. W związku z tym ogranicza lub przykłady (pobiera tylko procent telemetrii i ignoruje pozostałe), jeśli początkowy zestaw danych staje się zbyt duży. Z powodu tego zachowania nie można używać go do celów inspekcji, ponieważ niektóre rekordy prawdopodobnie zostaną porzucone.

Metryki ze zmienną o nazwie. Nie używaj zmiennej jako części nazwy metryki. Zamiast tego użyj stałej. Za każdym razem, gdy zmienna zmienia swoją wartość, Azure Monitor wygeneruje nową metrykę. Azure Monitor następnie szybko dobije limitu liczby metryk. Zwykle, gdy deweloperzy chcą uwzględnić zmienną w nazwie metryki, tak naprawdę chcą śledzić wiele szeregów czasu w ramach jednej metryki i powinni używać wymiarów zamiast nazw metryk zmiennych.

Wymiary metryki o wysokiej kardynalności. Metryki ze zbyt dużą prawidłową wartością w wymiarze (wysoka kardynalność)są znacznie bardziej prawdopodobne, że przekroczą limit 50 000. Ogólnie rzecz biorąc, nigdy nie należy używać stale zmieniającej się wartości w wymiarze. Na przykład znacznik czasu nigdy nie powinien być wymiarem. Możesz użyć identyfikatora serwera, klienta lub produktu, ale tylko wtedy, gdy masz mniejszą liczbę tych typów.

Jako test zadaj sobie pytanie, czy kiedykolwiek będziesz grafować takie dane na grafie. Jeśli masz 10 lub nawet 100 serwerów, warto zobaczyć je wszystkie na wykresie do porównania. Jednak jeśli masz 1000, wynikowy wykres będzie prawdopodobnie trudny lub niemożliwy do odczytania. Najlepszym rozwiązaniem jest zachowanie mniejszej liczby prawidłowych wartości niż 100. Maksymalnie 300 jest szarym obszarem. Jeśli musisz przećlić tę kwotę, użyj Azure Monitor dzienników niestandardowych.

Jeśli w nazwie lub wymiarze o wysokiej kardynalności znajduje się zmienna, mogą wystąpić następujące zdarzenia:

  • Metryki stają się zawodne z powodu ograniczania przepustowości.
  • Eksplorator metryk nie będzie działać.
  • Alerty i powiadomienia stają się nieprzewidywalne.
  • Koszty mogą nieoczekiwanie wzrosnąć. Firma Microsoft nie jest obciążana za metryki niestandardowe z wymiarami, gdy ta funkcja jest w publicznej wersji zapoznawczej. Jednak po rozpoczęciu opłat w przyszłości zostaną naliczone nieoczekiwane opłaty. Planem jest naliczanie opłat za zużycie metryk na podstawie liczby monitorowanych szeregów czasowych i liczby wywołań interfejsu API.

Jeśli nazwa metryki lub wartość wymiaru zostanie przez pomyłkę wypełniona identyfikatorem lub wymiarem o wysokiej kardynalności, możesz łatwo rozwiązać ten problem, usuwając część zmiennej.

Jeśli jednak wysoka kardynalność jest niezbędna w twoim scenariuszu, zagregowane metryki prawdopodobnie nie są właściwym wyborem. Przełącz się na używanie dzienników niestandardowych (tj. trackMetric api calls with trackEvent). Należy jednak wziąć pod uwagę, że dzienniki nie agreguje wartości, więc będą przechowywane wszystkie pojedyncze wpisy. W związku z tym, jeśli masz dużą ilość dzienników w krótkim czasie (na przykład 1 milion sekundy), może to spowodować opóźnienia ograniczania i pozyskiwania.

Następne kroki

Użyj metryk niestandardowych z różnych usług: