REST API kullanarak bir Azure kaynağı için özel ölçümleri alma

Bu makalede, REST API aracılığıyla Azure İzleyici ölçüm deposuna Azure kaynakları için özel ölçümler gönderme adımları gösterilmektedir. Ölçümler Azure İzleyici'deyken, standart ölçümlerle yaptığınız tüm işlemleri bunlarla yapabilirsiniz. Örneğin, grafikler ve uyarılar oluşturabilir ve ölçümleri diğer dış araçlara yönlendirebilirsiniz.

Not

REST API yalnızca Azure kaynakları için özel ölçümler göndermeye izin verir. Diğer ortamlardaki veya şirket içindeki kaynakların ölçümlerini göndermek için Uygulama Analizler kullanın.

Özel ölçümleri almak için REST istekleri gönderme

Azure İzleyici'ye özel ölçümler gönderdiğinizde, ölçümlerde bildirilen her veri noktası veya değer aşağıdaki bilgileri içermelidir.

Kimlik Doğrulaması

Azure İzleyici'ye özel ölçümler göndermek için ölçümü gönderen varlığın isteğin Taşıyıcı üst bilgisinde geçerli bir Microsoft Entra belirteci olması gerekir. Geçerli taşıyıcı belirteci edinmenin desteklenen yolları şunlardır:

  • Azure kaynakları için yönetilen kimlikler. Belirli işlemleri gerçekleştirmek için kaynaklara izin vermek için yönetilen kimlik kullanabilirsiniz. Bir kaynağın kendisi hakkında ölçümler yaymasına izin veren bir örnektir. Bir kaynağa veya yönetilen kimliğine başka bir kaynak üzerinde İzleme Ölçümleri Yayımcısı izinleri verilebilir. Bu izinle, yönetilen kimlik diğer kaynaklar için ölçümleri de yayabilir.

  • Microsoft Entra hizmet sorumlusu. Bu senaryoda, bir Microsoft Entra uygulaması veya hizmeti, Azure kaynağıyla ilgili ölçümleri yaymak için izinler atanabilir. Azure İzleyici, isteğin kimliğini doğrulamak için Microsoft Entra ortak anahtarlarını kullanarak uygulama belirtecini doğrular. Mevcut İzleme Ölçümleri Yayımcısı rolü bu izne zaten sahip. Azure portalında kullanılabilir.

    Hizmet sorumlusuna, hangi kaynaklar için özel ölçümler yaydığı bağlı olarak, gereken kapsamda İzleme Ölçümleri Yayımcısı rolü verilebilir. Örnek olarak abonelik, kaynak grubu veya belirli bir kaynak verilebilir.

İpucu

Özel ölçümler yaymak için bir Microsoft Entra belirteci istediğinizde, belirtecin istendığı hedef kitlenin veya kaynağın olduğundan https://monitoring.azure.com/emin olun. Sondaki eğik çizgiyi eklediğinizden emin olun.

Yetkilendirme belirteci alma

Yönetilen kimliğinizi veya hizmet sorumlunuzu oluşturduktan ve İzleme Ölçümleri Yayımcısı izinlerini atadıktan sonra, aşağıdaki isteği kullanarak bir yetkilendirme belirteci alabilirsiniz:

curl -X POST 'https://login.microsoftonline.com/<tennant ID>/oauth2/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<your apps client ID>' \
--data-urlencode 'client_secret=<your apps client secret' \
--data-urlencode 'resource=https://monitoring.azure.com'

Yanıt gövdesi aşağıdaki biçimde görünür:

{
    "token_type": "Bearer",
    "expires_in": "86399",
    "ext_expires_in": "86399",
    "expires_on": "1672826207",
    "not_before": "1672739507",
    "resource": "https://monitoring.azure.com",
    "access_token": "eyJ0eXAiOiJKV1Qi....gpHWoRzeDdVQd2OE3dNsLIvUIxQ"
}

Erişim belirtecini yanıttan aşağıdaki HTTP isteklerinde kullanmak üzere kaydedin.

Konu

konu özelliği, özel ölçümün bildirildiği Azure kaynak kimliğini yakalar. Bu bilgiler API çağrısının URL'sinde kodlanmıştır. Her API yalnızca tek bir Azure kaynağı için ölçüm değerleri gönderebilir.

Not

Bir kaynak grubunun veya aboneliğin kaynak kimliğine göre özel ölçümler yayamazsınız.

Bölge

region özelliği, ölçüm yaydığınız kaynağın dağıtıldığı Azure bölgesini yakalar. Ölçümlerin, kaynağın dağıtıldığı bölgeyle aynı Azure İzleyici bölgesel uç noktasına dağıtılması gerekir. Örneğin, Batı ABD'de dağıtılan bir VM için özel ölçümlerin WestUS bölgesel Azure İzleyici uç noktasına gönderilmesi gerekir. Bölge bilgileri, API çağrısının URL'sinde de kodlanır.

Zaman damgası

Azure İzleyici'ye gönderilen her veri noktası bir zaman damgasıyla işaretlenmelidir. Bu zaman damgası, ölçüm değerinin ölçüldiği veya toplandığı tarih ve saati yakalar. Azure İzleyici, geçmişte 20 dakika ve gelecekte 5 dakika kadar zaman damgaları içeren ölçüm verilerini kabul eder. Zaman damgası ISO 8601 biçiminde olmalıdır.

Ad Alanı

Ad alanları, benzer ölçümleri birlikte kategorilere ayırmanın veya gruplandırmanın bir yoludur. Ad alanlarını kullanarak farklı içgörüler veya performans göstergeleri toplayan ölçüm grupları arasında yalıtım elde edebilirsiniz. Örneğin, uygulamanızın profilini oluşturan bellek kullanımı ölçümlerini izleyen contosomemorymetrics adlı bir ad alanınız olabilir. contosoapptransaction adlı başka bir ad alanı, uygulamanızdaki kullanıcı işlemleriyle ilgili tüm ölçümleri izleyebilir.

Veri Akışı Adı

name özelliği, bildirilen ölçümün adıdır. Genellikle, ad ölçülenleri tanımlamaya yardımcı olacak kadar açıklayıcıdır. Vm'de kullanılan bellek baytlarının sayısını ölçen ölçüme örnek olarak verilmiştir. Kullanılan Bellek Baytları gibi bir ölçüm adı olabilir.

Boyut anahtarları

Boyut, toplanan ölçümle ilgili diğer özellikleri açıklamaya yardımcı olan bir anahtar/değer çiftidir. Diğer özellikleri kullanarak ölçüm hakkında daha fazla bilgi toplayabilir ve bu sayede daha derin içgörüler elde edebilirsiniz.

Örneğin, Kullanılan Bellek Baytları ölçümünde, bir VM'deki her işlemin kullandığı bellek sayısını yakalayan İşlem adlı bir boyut anahtarı olabilir. Bu anahtarı kullanarak, belleğe özgü işlemlerin ne kadar kullandığını görmek veya bellek kullanımına göre ilk beş işlemi belirlemek için ölçümü filtreleyebilirsiniz.

Boyutlar isteğe bağlıdır ve tüm ölçümlerin boyutları yoktur. Özel bir ölçümün en fazla 10 boyutu olabilir.

Boyut değerleri

Bir ölçüm veri noktası bildirirken, bildirilen ölçümdeki her boyut anahtarı için karşılık gelen bir boyut değeri vardır. Örneğin, ContosoApp'in VM'nizde kullandığı belleği raporlamak isteyebilirsiniz:

  • Ölçüm adı Kullanımdaki Bellek Baytları olacaktır.
  • Boyut anahtarı İşlem olacaktır.
  • Boyut değeri ContosoApp.exe.

Bir ölçüm değeri yayımlarken, boyut anahtarı başına yalnızca tek bir boyut değeri belirtebilirsiniz. VM'de birden çok işlem için aynı bellek kullanımını toplarsanız, bu zaman damgası için birden çok ölçüm değeri bildirebilirsiniz. Her ölçüm değeri İşlem boyut anahtarı için farklı bir boyut değeri belirtir.

Boyutlar isteğe bağlı olsa da, ölçüm gönderisi boyut anahtarlarını tanımlıyorsa, ilgili boyut değerleri zorunlu olur.

Ölçüm değerleri

Azure İzleyici tüm ölçümleri 1 dakikalık ayrıntı aralıklarında depolar. Belirli bir dakika boyunca bir ölçümün birkaç kez örneklenmiş olması gerekebilir. Bu ölçümlere örnek olarak CPU kullanımı verilebilir. Veya bir ölçümün oturum açma işlemi gecikme süreleri gibi birçok ayrı olay için ölçülmesi gerekebilir.

Azure İzleyici'de yaymak ve ödeme yapmak zorunda olduğunuz ham değerlerin sayısını sınırlamak için yerel olarak önceden toplama ve toplanan değerleri yayma:

  • Min: Dakika boyunca tüm örneklerden ve ölçümlerden gözlemlenen en düşük değerdir.
  • Maksimum: Dakika boyunca tüm örneklerden ve ölçümlerden gözlemlenen maksimum değer.
  • Toplam: Dakika boyunca tüm örneklerden ve ölçümlerden gözlemlenen tüm değerlerin toplamı.
  • Sayı: Dakika içinde alınan örneklerin ve ölçümlerin sayısı.

Not

Azure İzleyici, özel ölçüm için Birim tanımlamayı desteklemez.

Örneğin, bir dakika boyunca uygulamanızda dört oturum açma işlemi varsa, her birinin elde edilen ölçülen gecikme süreleri şöyle olabilir:

İşlem 1 İşlem 2 İşlem 3 İşlem 4
7 ms 4 ms 13 ms 16 ms

Ardından Azure İzleyici'de elde edilen ölçüm yayını şu şekilde olur:

  • Dk: 4
  • Maksimum: 16
  • Toplam: 40
  • Sayı: 4

Uygulamanız yerel olarak önceden toplayamazsa ve her ayrı örneği veya olayı toplama sırasında hemen yayması gerekiyorsa ham ölçü değerlerini yayabilirsiniz. Örneğin, uygulamanızda her oturum açma işlemi gerçekleştiğinde yalnızca tek bir ölçümle Azure İzleyici'de bir ölçüm yayımlarsınız. Bu nedenle, 12 milisaniye süren bir oturum açma işlemi için ölçüm yayını şu şekilde olur:

  • Dk: 12
  • Maks: 12
  • Toplam: 12
  • Sayı: 1

Bu işlemle, belirli bir dakika boyunca aynı ölçüm/boyut bileşimi için birden çok değer yayabilirsiniz. Azure İzleyici daha sonra belirli bir dakika boyunca yayılan tüm ham değerleri alır ve toplar.

Örnek özel ölçüm yayını

Aşağıdaki örnekte, bir sanal makine için ölçüm ad alanı Bellek Profili altında Kullanımda Bellek Baytları adlı özel bir ölçüm oluşturun. Ölçümün İşlem adlı tek bir boyutu vardır. Zaman damgası için ölçüm değerleri iki işlem için yayılır.

Aşağıdaki JSON dosyasını yerel bilgisayarınızda custommetric.json adlı bir dosyada depolayın. Time parametresini son 20 dakika içinde olacak şekilde güncelleştirin. 20 dakikadan eski bir ölçümü mağazaya koyamazsınız.

{
    "time": "2024-01-07T11: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
          }
        ]
      }
    }
  }

Aşağıdaki değişkenleri kullanarak aşağıdaki HTTP POST isteğini gönderin:

  • location: Ölçüm yaydığınız kaynağın dağıtım bölgesi.

  • resourceId: Ölçümü izlediğiniz Azure kaynağının kaynak kimliği.

  • accessToken: Yetkilendirme belirteci alma adımından alınan yetkilendirme belirteci .

    curl -X POST 'https://<location>/.monitoring.azure.com<resourceId>/metrics' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <accessToken>' \
    -d @custommetric.json 
    

Ölçümlerinizi görüntüleme

  1. Azure Portal’ında oturum açın.

  2. Soldaki menüden İzleyici'yi seçin.

  3. İzleyici sayfasında Ölçümler'i seçin.

    Screenshot that shows how to select Metrics in the Azure portal.

  4. Toplama dönemini Son saat olarak değiştirin.

  5. Kapsam açılan listesinde ölçümü gönderdiğiniz kaynağı seçin.

  6. Ölçüm Ad Alanı açılan listesinde Bellek Profili'ni seçin.

  7. Ölçüm açılan listesinde Kullanımdaki Bellek Baytları'nı seçin.

Sorun giderme

İşlemin bir bölümünü içeren bir hata iletisi alırsanız aşağıdaki sorun giderme bilgilerini göz önünde bulundurun:

  • Bir abonelik veya kaynak grubu veya kaynak için ölçüm veremiyorsanız, uygulamanızın veya hizmet sorumlunuzun Erişim denetiminde (IAM) İzleme Ölçümleri Yayımcısı rolü atanmış olup olmadığını denetleyin.
  • Boyut adlarının sayısının değer sayısıyla eşleşir olup olmadığını denetleyin.
  • Ölçümleri doğru Azure İzleyici bölgesel uç noktasına yaydığınızdan emin olun. Örneğin, kaynağınız Batı ABD'de dağıtıldıysa ölçümleri Batı ABD bölgesel uç noktasına yaymalısınız.
  • Zaman damgasının son 20 dakika içinde olup olmadığını denetleyin.
  • Zaman damgasının ISO 8601 biçiminde olup olmadığını denetleyin.
  • Ölçüm adının geçerli olup olmadığını denetleyin. Örneğin boşluk içeremez.

Sonraki adımlar

Özel ölçümler hakkında daha fazla bilgi edinin.