Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Začínáme
Tento balíček exportéru předpokládá, že vaše aplikace je již instrumentována pomocí sady OpenTelemetry SDK. Jakmile budete připraveni exportovat data OpenTelemetry, můžete tento exportér přidat do své aplikace.
Nainstalujte balíček
npm install @azure/monitor-opentelemetry-exporter
Aktuálně podporovaná prostředí
Další podrobnosti najdete v zásadách podpory.
Varování: Tato sada SDK funguje pouze pro Node.js prostředí. Použijte sadu Application Insights JavaScript SDK pro prostředí prohlížeče.
Požadavky
Distribuované trasování
Přidání exportéru do stávajícího poskytovatele sledování OpenTelemetry (NodeTracerProvider / BasicTracerProvider)
import { AzureMonitorTraceExporter } from "@azure/monitor-opentelemetry-exporter";
import { NodeTracerProvider, BatchSpanProcessor } from "@opentelemetry/sdk-trace-node";
import { resourceFromAttributes } from "@opentelemetry/resources";
import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
// Create an exporter instance
const exporter = new AzureMonitorTraceExporter({
connectionString: "<connection string>",
});
// Create and configure the Node Tracer provider
const tracerProvider = new NodeTracerProvider({
resource: resourceFromAttributes({
[ATTR_SERVICE_NAME]: "basic-service",
}),
spanProcessors: [
new BatchSpanProcessor(exporter, {
exportTimeoutMillis: 15000,
maxQueueSize: 1000,
}),
],
});
// Register Tracer Provider as global
tracerProvider.register();
Metodiky
Přidání exportéru do stávajícího poskytovatele měřičů OpenTelemetry (MeterProvider)
import { AzureMonitorMetricExporter } from "@azure/monitor-opentelemetry-exporter";
import { PeriodicExportingMetricReader, MeterProvider } from "@opentelemetry/sdk-metrics";
import { metrics } from "@opentelemetry/api";
// Add the exporter into the MetricReader and register it with the MeterProvider
const exporter = new AzureMonitorMetricExporter({
connectionString: "<connection string>",
});
const metricReaderOptions = {
exporter: exporter,
};
const metricReader = new PeriodicExportingMetricReader(metricReaderOptions);
const meterProvider = new MeterProvider({
readers: [metricReader],
});
// Register Meter Provider as global
metrics.setGlobalMeterProvider(meterProvider);
Záznamy
Přidání exportéru protokolů do stávajícího poskytovatele protokolovacího nástroje OpenTelemetry (LoggerProvider)
import { AzureMonitorLogExporter } from "@azure/monitor-opentelemetry-exporter";
import { BatchLogRecordProcessor, LoggerProvider } from "@opentelemetry/sdk-logs";
import { logs } from "@opentelemetry/api-logs";
// Add the Log exporter into the logRecordProcessor and register it with the LoggerProvider
const exporter = new AzureMonitorLogExporter({
connectionString: "<connection string>",
});
const logRecordProcessor = new BatchLogRecordProcessor(exporter);
const loggerProvider = new LoggerProvider();
loggerProvider.addLogRecordProcessor(logRecordProcessor);
// Register logger Provider as global
logs.setGlobalLoggerProvider(loggerProvider);
Vzorkování
Povolením vzorkování můžete omezit množství přijatých záznamů telemetrie. Pokud chcete povolit správné vzorkování v Application Insights, použijte následující postup ApplicationInsightsSampler .
import { ApplicationInsightsSampler } from "@azure/monitor-opentelemetry-exporter";
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
import { resourceFromAttributes } from "@opentelemetry/resources";
import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
// Sampler expects a sample rate of between 0 and 1 inclusive
// A rate of 0.75 means approximately 75 % of your traces will be sent
const aiSampler = new ApplicationInsightsSampler(0.75);
const provider = new NodeTracerProvider({
sampler: aiSampler,
resource: resourceFromAttributes({
[ATTR_SERVICE_NAME]: "basic-service",
}),
});
provider.register();
Příklady
Kompletní ukázky několika scénářů se šampiony najdete ve samples/ složce.
Klíčové koncepty
Další informace o projektu OpenTelemetry najdete ve specifikacích OpenTelemetry.
Řešení problémů
Povolte protokolování ladění
Protokolování ladění můžete povolit změnou úrovně protokolování vašeho poskytovatele.
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
import { diag, DiagConsoleLogger, DiagLogLevel } from "@opentelemetry/api";
const provider = new NodeTracerProvider();
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.ALL);
provider.register();
Logování
Povolení protokolování Azure může také pomoci odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou prostředí AZURE_LOG_LEVEL na info. Případně můžete protokolování povolit za běhu voláním setLogLevel v @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Podrobnější pokyny k povolení protokolů najdete v dokumentaci k @azure/protokolovacímu balíčku.
Další kroky
Tento exportér je určen pro použití s OpenTelemetry JS.
Registr pluginů
Pokud chcete zjistit, jestli už byl modul plug-in vytvořen pro knihovnu, kterou používáte, podívejte se na registr OpenTelemetry.
Pokud nemůžete svou knihovnu v registru, neváhejte navrhnout nový požadavek na plugin na opentelemetry-js-contrib.
Přispění
Pokud chcete přispívat do této knihovny, přečtěte si průvodce přispívání a přečtěte si další informace o vytváření a testování kódu.
Azure SDK for JavaScript