Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure İzleyici Sorgu Ölçümleri istemci kitaplığı, Azure İzleyici'nin ölçüm veri platformunda salt okunur sorgular yürütmek için kullanılır:
- Ölçümler - İzlenen kaynaklardan sayısal verileri bir zaman serisi veritabanına toplar. Ölçümler, düzenli aralıklarla toplanan ve belirli bir zamanda sistemin bazı yönlerini açıklayan sayısal değerlerdir. Ölçümler basittir ve neredeyse gerçek zamanlı senaryoları destekleyerek sorunları uyarmak ve hızlı algılamak için kullanışlı hale getirir.
Danışma belgesinden @azure/monitor-query⚠geçiş ️
Uygulama kodunuzu orijinal paketten kitaplığa nasıl güncelleyeceğinizle ilgili ayrıntılı yönergeler için @azure/monitor-query@azure/monitor-query-metrics göz atın.
Kaynaklar:
Başlangıç Yapmak
Desteklenen ortamlar
- Node.js LTS sürümleri
- Safari, Chrome, Microsoft Edge ve Firefox'un en son sürümleri
Daha fazla bilgi için destek politikamıza bakın.
Önkoşullar
- Azure aboneliği
- Azure Kimlik kitaplığı kimlik bilgisi türügibi bir TokenCredential uygulaması.
- Ölçümleri sorgulamak için her türlü Azure kaynağına (Depolama Hesabı, Key Vault, Cosmos DB vb.) ihtiyacınız vardır.
Paketi yükle
npm ile JavaScript için Azure İzleyici Sorgu Ölçümleri istemci kitaplığını yükleyin:
npm install --save @azure/monitor-query-metrics
İstemciyi oluşturma
Ölçümleri sorgulamak için kimliği doğrulanmış bir istemci gereklidir. Kimlik doğrulaması için aşağıdaki örnek, @azure/identity paketinden DefaultAzureCredential kullanır.
import { DefaultAzureCredential } from "@azure/identity";
import { MetricsClient } from "@azure/monitor-query-metrics";
const credential = new DefaultAzureCredential();
// Create a MetricsClient
const endpoint = " https://<endpoint>.monitor.azure.com/";
const metricsClient = new MetricsClient(endpoint, credential);
Azure bağımsız bulutu için istemci yapılandırma
Varsayılan olarak, kitaplığın istemcileri Azure Genel Bulutu kullanacak şekilde yapılandırılır. Bunun yerine bağımsız bir bulut kullanmak için, istemci örneği oluştururken doğru uç nokta ve hedef kitle değerini sağlayın. Örneğin:
import { DefaultAzureCredential } from "@azure/identity";
import { MetricsClient } from "@azure/monitor-query-metrics";
const credential = new DefaultAzureCredential();
// Create a MetricsClient
const endpoint = " https://<endpoint>.monitor.azure.cn/";
const metricsClient = new MetricsClient(endpoint, credential, {
audience: "https://monitor.azure.cn/.default",
});
Sorguyu yürütme
Ölçüm sorgularının örnekleri için Örnekler bölümüne bakın.
Temel kavramlar
Ölçümler veri yapısı
Her ölçüm değeri kümesi, aşağıdaki özelliklere sahip bir zaman serisidir:
- Değerin toplandığı saat
- Değerle ilişkilendirilmiş kaynak
- Ölçüm için bir kategori gibi davranan bir ad alanı
- Ölçüm adı
- Değerin kendisi
- Bazı ölçümlerin çok boyutlu ölçümlerde açıklandığı gibi birden çok boyutu vardır. Özel ölçümler en fazla 10 boyuta sahip olabilir.
Örnekler
Ölçümler sorgusu
Bir veya daha fazla Azure kaynağının ölçümlerini queryResources sorgulamak için yöntemini MetricsClientkullanın. Bu yöntem, istemciyi oluştururken bölgesel bir uç nokta gerektirir. Örneğin, https://westus3.metrics.monitor.azure.com.
Her Azure kaynağının şu durumlarda bulunması gerekir:
- İstemci oluşturulurken belirtilen uç noktayla aynı bölge.
- Aynı Azure aboneliği.
Kaynak kimlikleri, ölçümlerin sorgulandığı kaynakların kimlikleri olmalıdır. Normalde şu formattadır /subscriptions/<id>/resourceGroups/<rg-name>/providers/<source>/topics/<resource-name>: .
Kaynak kimliğini/URI'sini bulmak için:
- Azure portalında kaynağınızın sayfasına gidin.
- Genel Bakış bölümündeki JSON Görünümü bağlantısını seçin.
- JSON görünümünün üst kısmındaki Kaynak Kimliği metin kutusundaki değeri kopyalayın.
Ayrıca:
- Kullanıcının izleme verilerini Azure abonelik düzeyinde okuma yetkisine sahip olması gerekir. Örneğin, sorgulanacak abonelikte İzleme Okuyucusu rolü .
- Sorgulanacak ölçümleri içeren ölçüm ad alanı sağlanmalıdır. Ölçüm ad alanlarının listesi için Kaynak türüne göre desteklenen ölçümler ve günlük kategorileri bölümüne bakın.
import { DefaultAzureCredential } from "@azure/identity";
import { MetricsClient } from "@azure/monitor-query-metrics";
const resourceIds = [
"/subscriptions/0000000-0000-000-0000-000000/resourceGroups/test/providers/Microsoft.OperationalInsights/workspaces/test-logs",
"/subscriptions/0000000-0000-000-0000-000000/resourceGroups/test/providers/Microsoft.OperationalInsights/workspaces/test-logs2",
];
const metricsNamespace = "Microsoft.OperationalInsights/workspaces";
const metricNames = ["Heartbeat"];
const endpoint = "https://westus3.metrics.monitor.azure.com";
const credential = new DefaultAzureCredential();
const metricsClient = new MetricsClient(endpoint, credential);
const result = await metricsClient.queryResources(resourceIds, metricNames, metricsNamespace, {
aggregation: "Count",
});
console.log(`Retrieved metrics for ${result.length} resources`);
for (const resource of result) {
console.log(`Resource: ${resource.resourceId}`);
console.log(`Metrics: ${resource.metrics.length}`);
}
Ölçüm sorgu yanıtını işleme
Ölçüm sorgu API'si MetricsQueryResult bir nesne listesi döndürür. Nesne MetricsQueryResult , -typed nesnelerin listesi Metric, granularity, namespace, ve timespangibi özellikler içerir. Nesne Metric listesine özellik kullanılarak metrics erişilebilir. Bu listedeki her Metric nesne bir nesne listesi TimeSeriesElement içerir. Her TimeSeriesElement nesne ve metadatavalues özelliklerini içerirdata. Görsel biçimde, yanıtın nesne hiyerarşisi aşağıdaki yapıya benzer:
MetricsQueryResult
|---granularity
|---timespan
|---cost
|---namespace
|---resourceRegion
|---metrics (list of `Metric` objects)
|---id
|---type
|---name
|---unit
|---timeseries (list of `TimeSeriesElement` objects)
|---metadatavalues
|---data (list of data points)
Not: Her MetricsQueryResult biri, parametredeki resourceIds karşılık gelen kaynakla aynı sırada döndürülür. Birden çok farklı ölçüm sorgulanırsa, ölçümler gönderildiği metricNames sıraya göre döndürülür.
Yanıtı işleme örneği:
import { DefaultAzureCredential } from "@azure/identity";
import { MetricsClient, Durations } from "@azure/monitor-query-metrics";
const resourceIds = [
"/subscriptions/0000000-0000-000-0000-000000/resourceGroups/test/providers/Microsoft.OperationalInsights/workspaces/test-logs",
];
const metricsNamespace = "Microsoft.OperationalInsights/workspaces";
const metricNames = ["Heartbeat"];
const endpoint = "https://westus3.metrics.monitor.azure.com";
const credential = new DefaultAzureCredential();
const metricsClient = new MetricsClient(endpoint, credential);
const endTime = new Date();
const startTime = new Date(endTime.getTime() - 60 * 60 * 1000); // 1 hour ago
const result = await metricsClient.queryResources(resourceIds, metricNames, metricsNamespace, {
aggregation: "Count,Average", // Multiple aggregations
startTime: startTime,
endTime: endTime,
interval: Durations.fiveMinutes,
top: 10, // Limit results
orderBy: "count desc", // Sort by count descending
filter: "Computer eq '*'", // Filter criteria
});
console.log(`Retrieved ${result.length} resources with advanced filtering`);
for (const resource of result) {
for (const metric of resource.metrics) {
console.log(`Metric: ${metric.name}`);
console.log(`Time series count: ${metric.timeseries.length}`);
}
}
Her Azure kaynak türü için kullanılabilen ölçümlerin ve boyutların envanteri için bkz.
Sorun giderme
Çeşitli arıza senaryolarını tanılamak için sorun giderme kılavuzuna bakın.
Sonraki Adımlar
Azure İzleyici hakkında daha fazla bilgi edinmek için Azure İzleyici hizmet belgelerine bakın.
Katkıda Bulunmak
Bu kitaplığa katkıda bulunmak istiyorsanız kodu oluşturma ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzu okuyun.
Bu modülün testleri, bir Azure İzleyici örneğine sahip olmanız gereken canlı ve birim testlerinin bir karışımıdır. Testleri yürütmek için şunları çalıştırmanız gerekir:
rush updaterush build -t @azure/monitor-query-metricscd into sdk/monitor/monitor-query-metrics- Dosyayı şuraya kopyalayın:
sample.env.env -
.envDosyayı bir düzenleyicide açın ve değerleri doldurun. -
npm run test.
Daha fazla ayrıntı için testler dosyamıza bakın.
İlgili projeler
- JavaScript için Microsoft Azure SDK
- Azure İzleyici
Azure SDK for JavaScript