Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pustaka klien Metrik Kueri Azure Monitor digunakan untuk menjalankan kueri baca-saja terhadap platform data metrik Azure Monitor:
- Metrik - Mengumpulkan data numerik dari sumber daya yang dipantau ke dalam database deret waktu. Metrik adalah nilai numerik yang dikumpulkan secara berkala dan menggambarkan beberapa aspek sistem pada waktu tertentu. Metrik ringan dan mampu mendukung skenario mendekati real-time, membuatnya berguna untuk memperingatkan dan mendeteksi masalah dengan cepat.
Bermigrasi dari @azure/monitor-query penasihat ⚠️
Lihat Panduan Migrasi untuk petunjuk terperinci tentang cara memperbarui kode aplikasi Anda dari paket asli @azure/monitor-query ke @azure/monitor-query-metrics pustaka.
Sumber daya:
Memulai Langkah Pertama
Lingkungan yang didukung
- Versi LTS dari Node.js
- Versi terbaru Safari, Chrome, Microsoft Edge, dan Firefox
Untuk informasi selengkapnya, lihat kebijakan dukungan kami.
Prasyarat
- langganan Azure
- Implementasi TokenCredential, seperti jenis kredensial pustaka Azure Identity .
- Untuk mengkueri Metrik, Anda memerlukan sumber daya Azure dalam bentuk apa pun (Akun Penyimpanan, Key Vault, Cosmos DB, dll.).
Pasang paketnya
Instal pustaka klien Metrik Kueri Azure Monitor untuk JavaScript dengan npm:
npm install --save @azure/monitor-query-metrics
Membuat klien
Klien yang diautentikasi diperlukan untuk mengkueri Metrik. Untuk mengautentikasi, contoh berikut menggunakan DefaultAzureCredential dari paket @azure/identitas .
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);
Mengonfigurasi klien untuk azure sovereign cloud
Secara default, klien pustaka dikonfigurasi untuk menggunakan Azure Public Cloud. Untuk menggunakan sovereign cloud, berikan nilai titik akhir dan audiens yang benar saat membuat instans klien. Contohnya:
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",
});
Menjalankan kueri
Untuk contoh kueri Metrik, lihat bagian Contoh .
Konsep utama
Struktur data metrik
Setiap set nilai metrik adalah rangkaian waktu dengan karakteristik berikut:
- Waktu nilai dikumpulkan
- Sumber daya yang terkait dengan nilai
- Namespace layanan yang bertindak seperti kategori untuk metrik
- Nama metrik
- Nilai itu sendiri
- Beberapa metrik memiliki beberapa dimensi seperti yang dijelaskan dalam metrik multi-dimensi. Metrik kustom dapat memiliki hingga 10 dimensi.
Contoh
Kueri metrik
Untuk mengkueri metrik untuk satu atau beberapa sumber daya Azure, gunakan queryResources metode MetricsClient. Metode ini memerlukan titik akhir regional saat membuat klien. Contohnya, https://westus3.metrics.monitor.azure.com.
Setiap sumber daya Azure harus berada di:
- Wilayah yang sama dengan titik akhir yang ditentukan saat membuat klien.
- Langganan Azure yang sama.
ID sumber daya harus berupa sumber daya yang metriknya sedang dikueri. Ini biasanya dari format /subscriptions/<id>/resourceGroups/<rg-name>/providers/<source>/topics/<resource-name>.
Untuk menemukan ID/URI sumber daya:
- Navigasi ke halaman sumber daya Anda di portal Microsoft Azure.
- Pilih tautan JSON View di bagian Gambaran Umum .
- Salin nilai di kotak teks ID Sumber Daya di bagian atas tampilan JSON.
Selanjutnya:
- Pengguna harus berwenang untuk membaca data pemantauan di tingkat langganan Azure. Misalnya, peran Pembaca Pemantauan pada langganan yang akan dikueri.
- Namespace metrik yang berisi metrik yang akan dikueri harus disediakan. Untuk daftar namespace metrik, lihat Metrik yang didukung dan kategori log berdasarkan jenis sumber daya.
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}`);
}
Menangani respons kueri metrik
API kueri metrik mengembalikan daftar MetricsQueryResult objek. Objek berisi MetricsQueryResult properti seperti daftar Metricobjek -typed, granularity, namespace, dan timespan.
Metric Daftar objek dapat diakses menggunakan metrics properti. Setiap Metric objek dalam daftar ini berisi daftar TimeSeriesElement objek. Setiap TimeSeriesElement objek berisi data dan metadatavalues properti. Dalam bentuk visual, hierarki objek respons menyerupai struktur berikut:
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)
Nota: Masing-masing MetricsQueryResult dikembalikan dalam urutan yang sama dengan sumber daya yang sesuai dalam resourceIds parameter. Jika beberapa metrik berbeda dikueri, metrik dikembalikan dalam urutan pengiriman metricNames .
Contoh respons penanganan:
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}`);
}
}
Untuk inventaris metrik dan dimensi yang tersedia untuk setiap jenis sumber daya Azure, lihat Metrik yang didukung dengan Azure Monitor.
Penyelesaian Masalah
Untuk mendiagnosis berbagai skenario kegagalan, lihat panduan pemecahan masalah.
Langkah selanjutnya
Untuk mempelajari selengkapnya tentang Azure Monitor, lihat dokumentasi layanan Azure Monitor.
Berpartisipasi
Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.
Pengujian modul ini adalah campuran pengujian langsung dan unit, yang mengharuskan Anda memiliki instans Azure Monitor. Untuk menjalankan pengujian, Anda harus menjalankan:
rush updaterush build -t @azure/monitor-query-metricscd into sdk/monitor/monitor-query-metrics- Salin
sample.envfile ke.env - Buka
.envfile di editor dan isi nilainya. -
npm run test.
Untuk detail selengkapnya, lihat folder pengujian kami.
Proyek terkait
Azure SDK for JavaScript