Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Azure Monitor Query Metrics ügyféloldali kódtár csak olvasható lekérdezések végrehajtására szolgál a Azure Monitor metrikák adatplatformján:
- Metrikák – Numerikus adatokat gyűjt a figyelt erőforrásokból egy idősorozat-adatbázisba. A metrikák olyan numerikus értékek, amelyeket rendszeres időközönként gyűjtünk össze, és egy rendszer bizonyos aspektusát ismertetjük egy adott időpontban. A metrikák könnyűek, és képesek támogatni a közel valós idejű forgatókönyveket, így hasznosak a riasztásokhoz és a problémák gyors észleléséhez.
Áttérés tanácsadói programból @azure/monitor-query⚠️
Az Áttelepítési útmutatóban részletes útmutatást talál arról, hogyan frissítheti az alkalmazáskódot az eredeti @azure/monitor-query csomagról a könyvtárba @azure/monitor-query-metrics .
Erőforrások:
Kezdő lépések
Támogatott környezetek
- A Node.jsLTS-változatai
- A Safari, a Chrome, a Microsoft Edge és a Firefox legújabb verziói
További információért tekintse meg támogatási szabályzatunkat.
Előfeltételek
- Azure-előfizetés
- Egy TokenCredential implementáció, például egy Azure Identity Library hitelesítő adattípus.
- A metrikák lekérdezéséhez bármilyen típusú Azure-erőforrásra (Storage-fiók, Key Vault, Cosmos DB stb.) van szükség.
A csomag telepítése
Telepítse a Azure Monitor Query Metrics JavaScript-ügyféloldali kódtárát npm:
npm install --save @azure/monitor-query-metrics
Az ügyfél létrehozása
A metrikák lekérdezéséhez hitelesített ügyfélre van szükség. A hitelesítéshez az alábbi példa a @azure/identity csomag DefaultAzureCredential értékét használja.
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);
Ügyfél konfigurálása az Azure szuverén felhőhöz
Alapértelmezés szerint a kódtár ügyfelei az Azure nyilvános felhő használatára vannak konfigurálva. Ha ehelyett szuverén felhőt szeretne használni, adja meg a megfelelő végpontot és célközönség értékét az ügyfél példányosításakor. Például:
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",
});
Hajtsa végre a lekérdezést
A metrikalekérdezésekre vonatkozó példákért tekintse meg a Példák szakaszt.
Főbb fogalmak
Metrikák adatszerkezete
A metrikaértékek minden halmaza egy idősor, amely a következő jellemzőkkel rendelkezik:
- Az érték begyűjtésének időpontja
- Az értékhez társított erőforrás
- A metrika kategóriájaként működő névtér
- Metrika neve
- Maga az érték
- Egyes mutatók több dimenzióval rendelkeznek a többdimenziós metrikákban leírtak szerint. Az egyéni mutatók legfeljebb 10 dimenzióból állhatnak.
Példák
Metrikák lekérdezése
Egy vagy több Azure-erőforrás metrikáinak lekérdezéséhez használja a queryResourcesMetricsClient. Ehhez a metódushoz regionális végpontra van szükség az ügyfél létrehozásakor. Például: https://westus3.metrics.monitor.azure.com.
Minden Azure-erőforrásnak a következő helyen kell lennie:
- Ugyanaz a régió, mint az ügyfél létrehozásakor megadott végpont.
- Ugyanaz az Azure-előfizetés.
Az erőforrás-azonosítóknak azoknak az erőforrásoknak kell lenniük, amelyekhez a metrikákat lekérdezi. Általában a formátum /subscriptions/<id>/resourceGroups/<rg-name>/providers/<source>/topics/<resource-name>.
Az erőforrás-azonosító/URI megkeresése:
- Lépjen az erőforrás oldalára a Azure Portal.
- Válassza a JSON-nézet hivatkozást az Áttekintés szakaszban.
- Másolja ki az értéket a JSON-nézet tetején található Erőforrás-azonosító szövegmezőben.
Továbbá:
- A felhasználónak engedéllyel kell rendelkeznie a monitorozási adatok Azure-előfizetés szintjén történő olvasására. Például a lekérdezni kívánt előfizetés figyelési olvasó szerepköre .
- Meg kell adni a lekérdezni kívánt metrikákat tartalmazó metrikanévteret. A metrikanévterek listáját lásd: Támogatott metrikák és naplókategóriák erőforrástípus szerint.
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}`);
}
Metrikák lekérdezési válaszának kezelése
A metrikák lekérdezési API objektumok listáját MetricsQueryResult adja vissza. Az MetricsQueryResult objektum olyan tulajdonságokat tartalmaz, mint a -typed objektumok listája Metric, granularity, namespace, és timespan. Az Metric objektumok listája a metrics tulajdonság segítségével érhető el. A listában szereplő minden Metric objektum tartalmazza az objektumok listáját TimeSeriesElement . Minden TimeSeriesElement objektum tartalmazza data a tulajdonságokat metadatavalues . Vizuális formában a válasz objektumhierarchiája a következő struktúrához hasonlít:
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)
Jegyzet: Mindegyiket MetricsQueryResult a paraméter megfelelő erőforrásával resourceIds megegyező sorrendben adja vissza. Ha több különböző metrikát kérdez le, a rendszer az elküldés sorrendjében metricNames adja vissza a metrikákat.
Példa a válasz kezelésére:
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}`);
}
}
Az egyes Azure-erőforrástípusokhoz elérhető metrikák és dimenziók leltárát lásd: Támogatott metrikák a Azure Monitor.
Hibaelhárítás
A különböző hibaforgatókönyvek diagnosztizálásához tekintse meg a hibaelhárítási útmutatót.
Következő lépések
További információ a Azure Monitor: Azure Monitor szolgáltatás dokumentációja.
Közreműködés
Ha hozzá szeretne járulni ehhez a kódtárhoz, olvassa el a közreműködői útmutatót, amelyből többet is megtudhat a kód összeállításáról és teszteléséről.
Ennek a modulnak a tesztjei élő és egységtesztek keverékei, amelyekhez Azure Monitor-példányra van szükség. A tesztek végrehajtásához a következőt kell futtatnia:
rush updaterush build -t @azure/monitor-query-metricscd into sdk/monitor/monitor-query-metrics- Másolja a fájlt
sample.enva.env - Nyissa meg a fájlt
.envegy szerkesztőben, és töltse ki az értékeket. -
npm run test.
További részletekért tekintse meg a tesztek mappát.
Kapcsolódó projektek
Azure SDK for JavaScript