Dev & Engineering ✓ Microsoft · Official azure-monitoropentelemetryapplication-insightsnode-jsdistributed-tracingmetricslogstypescript

Azure Monitor OpenTelemetry for TypeScript

Add Application Insights observability to Node.js services with OpenTelemetry.

FollowSkills review · FSRS-2.0
Not recommended
43/ 100 5-point scale 2.2 / 5
1 2 3 4 5 6
1Trust11 / 25 · 2.2/5

The document exposes the main data flows involving connection strings, telemetry exporters, offline storage, and log ingestion, and shows DefaultAzureCredential and ManagedIdentityCredential usage. It lacks guidance on sensitive-data redaction, log-content boundaries, least privilege, user confirmation, external-transfer impact, and rollback, so points are deducted. No credential theft, covert exfiltration, or destructive default is evident.

2Reliability6 / 20 · 1.5/5

Installation, initialization order, the ESM loader, sampling, shutdown, and some error handling are documented, making the happy path plausible. However, there are no skill-specific tests, dependency/version constraints, or reproducible validation, and some examples may use APIs unsafely, such as mutating span.attributes and traceFlags directly; the static ceiling and these uncertainties reduce the score.

3Adaptability8 / 15 · 2.7/5

The audience and core scenarios are clear: Node.js tracing, metrics, logs, auto-instrumentation, and manual export. Non-fit cases, runtime boundaries, privacy/compliance limits, semantic triggers, and mainland-China reachability are not stated, and the capability depends substantially on Azure services, so points are deducted.

4Convention8 / 15 · 2.7/5

The SKILL.md is readable and progressively organized across installation, configuration, quick start, specialized capabilities, and best practices. MIT licensing, author, and version metadata are present. It lacks a changelog, explicit maintenance owner/update path, dependency versions, troubleshooting, FAQ, known limitations, and complete parameter documentation, so it is not full marks.

5Effectiveness6 / 15 · 2.0/5

The examples provide a directly useful starting point for common Node.js Azure Monitor/OpenTelemetry integrations and cover several workflows. There is no skill-specific acceptance evidence, representative verified output, or execution proof; possible API, initialization, and exporter-configuration corrections may still be required, so the static score is capped below the full range and reduced further.

6Verifiability4 / 10 · 2.0/5

The files provide concrete package names, code samples, environment variables, and general repository CI/test evidence, offering some auditability. The supplied tests do not cover this skill's key paths, and there is no skill-specific acceptance suite, third-party execution result, or pinned dependency evidence, so verifiability remains limited.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 9ccaf7c3704a
Before you use it
  • Telemetry sent to Application Insights/Azure Monitor may contain sensitive request data, exceptions, attributes, and logs; establish classification, redaction, sampling, region, and retention policies before deployment.
  • No dependency versions or compatibility matrix are provided; verify current Node.js, OpenTelemetry, and Azure SDK APIs, especially the direct mutation of attributes and traceFlags in the custom SpanProcessor example.
  • The custom log-ingestion example uploads logs to an external Azure endpoint but does not specify least-privilege RBAC, retry/idempotency behavior, or pre-upload validation.
  • This assessment is source-only; the examples, dependencies, and Azure connectivity were not executed or independently tested.
See the full review method →

What does this skill do, and when should you use it?

This skill helps TypeScript and JavaScript developers instrument Node.js applications with Azure Monitor OpenTelemetry. It covers automatic collection of distributed traces, metrics, and logs for Application Insights, along with ESM startup, sampling, offline storage, custom resources, and graceful shutdown. It also documents manual trace, metric, and log exporters plus custom log ingestion. Adopt it when Azure Monitor is the intended telemetry backend; it is less suitable as a provider-neutral OpenTelemetry guide.

Shows how to install @azure/monitor-opentelemetry, @azure/monitor-opentelemetry-exporter, and @azure/monitor-ingestion; configure APPLICATIONINSIGHTS_CONNECTION_STRING and, when applicable, AZURE_TOKEN_CREDENTIALS; call useAzureMonitor() before importing application modules; enable automatic instrumentation through the Node.js ESM loader; configure sampling, Live Metrics, standard metrics, performance counters, offline storage, instrumentation libraries, and custom resources; create custom spans, counters, histograms, and observable gauges; configure Azure Monitor trace, metric, and log exporters manually; upload custom logs with LogsIngestionClient; add a custom SpanProcessor; and call shutdownAzureMonitor() during process shutdown.

  1. A Node.js service team wants automatic Application Insights telemetry for HTTP, Azure SDK, database, and logging libraries with minimal initialization.
  2. A TypeScript application needs distributed traces, metrics, and logs exported to Azure Monitor through a connection string.
  3. An ESM application running on Node.js 18.19+ needs automatic instrumentation through @azure/monitor-opentelemetry/loader.
  4. A high-traffic service needs sampling, offline storage, and graceful shutdown to manage telemetry volume and flushing.
  5. A developer needs custom spans, events, attributes, metrics, or direct control over OpenTelemetry exporters.
  6. An application needs to send custom log records through the Azure Monitor Logs Ingestion API.

What are this skill's strengths and limitations?

Pros
  • Covers both recommended automatic instrumentation and lower-level manual exporter setup.
  • Includes distributed tracing, metrics, logs, sampling, offline storage, and graceful shutdown.
  • Provides TypeScript examples for custom spans, metrics, resources, and span processors.
  • Highlights the important initialization order for useAzureMonitor().
Limitations
  • It is specifically oriented toward Azure Monitor and Application Insights rather than provider-neutral OpenTelemetry.
  • Examples require Node.js, npm, Azure Monitor packages, and Azure configuration values.
  • The source does not document independent test coverage for this specific skill.
  • Users must provide Azure details such as a connection string, ingestion endpoint, or data collection rule identifiers for the relevant examples.

How do you install this skill?

Install the collection with npx skills add microsoft/skills, then select the required skill in the wizard. The README says skills are installed to the selected agent directory, such as .github/skills/ for GitHub Copilot, and can be symlinked for multiple agents. The source does not provide a standalone installation command for azure-monitor-opentelemetry-ts. Install the runtime packages with npm install @azure/monitor-opentelemetry; for custom low-level exporters, use npm install @azure/monitor-opentelemetry-exporter; for custom log ingestion, use npm install @azure/monitor-ingestion.

How do you use this skill?

Use a request such as: Instrument this TypeScript Node.js service with Azure Monitor OpenTelemetry, automatically collect traces, metrics, and logs, and configure Application Insights with APPLICATIONINSIGHTS_CONNECTION_STRING. Call useAzureMonitor() before importing other application modules. For ESM, start with node --import @azure/monitor-opentelemetry/loader ./dist/index.js. If production uses DefaultAzureCredential, set AZURE_TOKEN_CREDENTIALS=prod.

How does this skill compare with similar options?

The skill presents the recommended @azure/monitor-opentelemetry automatic-instrumentation approach alongside the lower-level @azure/monitor-opentelemetry-exporter setup. The distro is suited to faster onboarding, while the exporter route is suited to applications that need to manage OpenTelemetry providers and processors directly.

FAQ

Is this skill for non-Node.js applications?
No. Its description and examples target JavaScript and TypeScript Node.js applications.
What is the key startup requirement for automatic instrumentation?
Call useAzureMonitor() before importing other application modules; ESM projects should also use the documented loader command.
Is a connection string required?
The documented exporter configuration uses APPLICATIONINSIGHTS_CONNECTION_STRING. The source does not document an alternative configuration for the examples.
How should high-traffic applications control telemetry volume?
Set samplingRatio, use offline storage where appropriate, and call shutdownAzureMonitor() during shutdown to flush telemetry.

More skills from this repository

All from microsoft/agent-skills

Dev & Engineering ✓ Microsoft · Official

Azure Monitor Telemetry for Java

Guides Java teams in exporting OpenTelemetry data to Azure Monitor.

Dev & Engineering ✓ Microsoft · Official

Application Insights Web Monitoring

Instrument browser and React Native apps with Application Insights for user behavior, requests, errors, and GenAI trace visibility.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor OpenTelemetry Exporter

Build a controlled Python OpenTelemetry pipeline that exports traces, metrics, and logs to Application Insights.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor OpenTelemetry for Python

Connect Python applications to Application Insights with one-line OpenTelemetry setup.

Dev & Engineering ✓ Microsoft · Official

Azure Queue Storage TypeScript Skill

Build Azure Queue Storage workers that send, receive, inspect, and manage messages in TypeScript or JavaScript.

Dev & Engineering ✓ Microsoft · Official

Azure Application Insights Instrumentation Guide

Practical guidance for adding Application Insights telemetry to Azure-hosted ASP.NET Core and Node.js web apps.

Dev & Engineering ✓ Microsoft · Official

Azure Web PubSub Real-Time Messaging

Build TypeScript WebSocket messaging, group communication, and live notification features with Azure Web PubSub.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor Query for Python

Generate Python code for querying Azure Monitor logs and metrics.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor Custom Log Ingestion

Guides Python agents to send custom logs to Log Analytics through the Logs Ingestion API.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor Query for Java

Query Azure Monitor logs and resource metrics from Java applications.

Dev & Engineering ✓ Microsoft · Official

Azure PostgreSQL TypeScript Connector

A practical pg-based guide for secure, pooled Azure PostgreSQL access in Node.js and TypeScript.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor Log Ingestion for Java

Guides Java applications in sending structured custom logs to Azure Monitor through DCRs.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for TypeScript

Configure secure, flexible Microsoft Entra ID authentication for TypeScript Azure applications.

Dev & Engineering ✓ Microsoft · Official

Azure Playwright Cloud Testing

Scale TypeScript Playwright tests on Azure-hosted browsers and publish results.

Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB TypeScript Skill

Gives TypeScript and JavaScript coding agents practical Cosmos DB data-access patterns.

Automation & Ops ✓ Microsoft · Official

Azure Production Diagnostics

Systematically investigate Azure production failures, identify root causes, and guide safe remediation.

Dev & Engineering ✓ Microsoft · Official

Azure Event Hubs TypeScript Skill

Build TypeScript event-streaming applications with batching, partition-aware consumers, checkpointing, and Azure identity authentication.

Dev & Engineering ✓ Microsoft · Official

React Flow Node Builder

Create typed React Flow nodes with handles, resizing behavior, and Zustand-backed state integration.

Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for TypeScript

A practical guide for uploading, downloading, and managing Azure Blob Storage from TypeScript and JavaScript applications.

Dev & Engineering ✓ Microsoft · Official

Azure AI Content Safety for TypeScript

Add text and image harm detection with customizable blocklists to TypeScript applications.

Related skills