Dev & Engineering ✓ Microsoft · Official azure-monitorapplication-insightsopentelemetrypythonauto-instrumentationazure-identity

Azure Monitor OpenTelemetry for Python

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

FollowSkills review · FSRS-2.0
Not recommended
45/ 100 5-point scale 2.3 / 5
1 2 3 4 5 6
1Trust12 / 25 · 2.4/5

The documentation recommends DefaultAzureCredential, constraining the production credential chain, and storing the connection string in environment variables, showing some least-exposure and authentication awareness. It does not explain telemetry data flow, sensitive-field redaction, collection scope, user confirmation, rollback, or egress controls, so points are deducted.

2Reliability7 / 20 · 1.8/5

The install command, basic configuration, and framework examples make the happy path plausible. However, the main document uses an instrumentations parameter while the reference document uses instrumentation_options; lifecycle cleanup is stated as a rule without a complete reproducible example, and abnormal-input or failure feedback is not covered. The score remains within the static-review ceiling.

3Adaptability8 / 15 · 2.7/5

Trigger phrases, the Python package, and primary scenarios are reasonably clear, covering Flask, Django, FastAPI, and custom telemetry. Non-fit ranges, compatibility boundaries, sensitive-data guidance, and mainland-China network fit are not clearly stated; the core function also depends on reachability of Azure Application Insights services, so points are deducted.

4Convention8 / 15 · 2.7/5

The skill has front matter, MIT licensing, a version, installation notes, a parameter table, best practices, and layered reference files. It lacks a changelog, explicit maintenance owner and update path, troubleshooting guidance, version pinning, and complete limitation disclosure; the two documents also disagree on an API parameter name.

5Effectiveness6 / 15 · 2.0/5

It can directly help with basic Application Insights auto-instrumentation and includes examples for common frameworks, sampling, role naming, and authentication. Several examples omit the required connection-string setup or exit-time flush/shutdown, and the parameter inconsistency may require manual correction. No comparative benefit or verified representative output is supplied.

6Verifiability4 / 10 · 2.0/5

The supplied files contain auditable code snippets, parameter tables, repository licensing, and general CI/test materials. They do not provide skill-specific acceptance tests, execution results, or independent corroboration, and some API/capability claims conflict across files, so only limited static evidence supports the score.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 9ccaf7c3704a
Before you use it
  • The main document's instrumentations parameter conflicts with the reference document's instrumentation_options; verify the current azure-monitor-opentelemetry API before use.
  • Telemetry may include requests, logs, exceptions, and custom attributes, but the skill provides no sensitive-data filtering, sampling-boundary, or data-residency guidance.
  • Production use should add complete connection-string injection, credential-scope, and exit-time force_flush/shutdown handling, and confirm service reachability from mainland China.
See the full review method →

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

This skill helps Python developers configure the Azure Monitor OpenTelemetry Distro for Application Insights. It covers automatic tracing for Flask, Django, FastAPI, HTTP clients, databases, and Redis, plus custom traces, metrics, and logs. Configuration examples include Microsoft Entra authentication, sampling, cloud role naming, Live Metrics, and selective instrumentations. Production guidance requires an environment-provided connection string and explicit telemetry-provider flushing and shutdown at process exit.

Shows how to install azure-monitor-opentelemetry and initialize Application Insights with configure_azure_monitor(). It reads APPLICATIONINSIGHTS_CONNECTION_STRING and supports DefaultAzureCredential or a specified Azure credential for ingestion authentication. It provides examples for Flask, Django, and FastAPI, along with custom spans, metrics, logs, sampling ratios, cloud role names, Live Metrics, and instrumentation selection.

  1. A Python web developer wants minimal-code Application Insights setup for a Flask, Django, or FastAPI service.
  2. A platform team needs automatic tracing for services using Requests, httpx, database clients, or Redis.
  3. A production team wants Microsoft Entra authentication instead of relying only on an instrumentation key.
  4. A high-traffic application needs sampling and cloud role names for Application Map service identification.

What are this skill's strengths and limitations?

Pros
  • Includes direct Flask, Django, and FastAPI examples.
  • Covers custom traces, metrics, and logs.
  • Supports DefaultAzureCredential, sampling, Live Metrics, cloud role names, and selective instrumentations.
  • Provides explicit production guidance for authentication and telemetry flushing.
Limitations
  • The source does not provide a compatibility matrix, test results, or troubleshooting guide.
  • It does not explain Azure resource creation, Entra permission setup, or Application Insights pricing.
  • Automatic instrumentation is documented only for the listed libraries; support for others is not established by this source.

How do you install this skill?

Install the Agent Skills collection with npx skills add microsoft/skills, then select the required skill in the wizard. The README states that skills are installed in the selected agent directory, such as .github/skills/ for GitHub Copilot. Install the Python runtime package with pip install azure-monitor-opentelemetry.

How do you use this skill?

Example trigger: Configure azure-monitor-opentelemetry and Application Insights auto-instrumentation for this Python service. In code, import configure_azure_monitor and call configure_azure_monitor(credential=DefaultAzureCredential()) early; set APPLICATIONINSIGHTS_CONNECTION_STRING. For production, also set AZURE_TOKEN_CREDENTIALS=prod or a specific credential, and call the provider's force_flush() or shutdown() when the process exits.

How does this skill compare with similar options?

Compared with instrumentation-key-only authentication, the skill recommends DefaultAzureCredential for Microsoft Entra authentication; the connection string still identifies the target Application Insights resource.

FAQ

Does this skill create the Application Insights resource?
No. The source only explains configuring the Python distro, connection string, and credentials; it does not provide resource-creation steps.
Which environment variables are required in production?
APPLICATIONINSIGHTS_CONNECTION_STRING is required for all authentication methods. When using DefaultAzureCredential, production should also set AZURE_TOKEN_CREDENTIALS=prod or a specific credential.
What must happen when the application exits?
Providers are not context managers. Call force_flush() or shutdown() explicitly at process exit so buffered telemetry is exported deterministically.
Does the source specify pricing or Azure permissions?
No. It does not state pricing or list specific Microsoft Entra permission requirements.

More skills from this repository

All from microsoft/agent-skills

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 Telemetry for Java

Guides Java teams in exporting OpenTelemetry data to Azure Monitor.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor OpenTelemetry for TypeScript

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

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 Data Lake Gen2 for Python

Guides Python developers through hierarchical file-system and large-file operations on Azure Data Lake Storage Gen2.

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 Identity for Python

A practical skill for securing Python Azure applications with Microsoft Entra ID credentials.

Dev & Engineering ✓ Microsoft · Official

Azure Queue Storage for Python

Gives coding agents reliable Python patterns for secure Azure Queue Storage messaging and asynchronous task processing.

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 Bot Service Python Manager

Create, manage, and configure Azure Bot Service resources and channels from Python.

Dev & Engineering ✓ Microsoft · Official

Azure Web PubSub for Python

Build Azure WebSocket messaging and publish-subscribe workflows for Python applications.

Dev & Engineering ✓ Microsoft · Official

Azure Event Hubs for Python

A practical guide to high-throughput event ingestion, consumption, and checkpointing in Python.

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

Microsoft Foundry Python Projects Skill

Gives coding agents dependable patterns for building Foundry AI applications with the Azure AI Projects Python SDK.

Dev & Engineering ✓ Microsoft · Official

Azure Service Bus for Python

Practical Python guidance for reliable Azure Service Bus queues and publish-subscribe messaging.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for TypeScript

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

Dev & Engineering ✓ Microsoft · Official

Azure AI Text Analytics for Python

Guides Python developers through Azure-powered text analysis and NLP workflows.

Dev & Engineering ✓ Microsoft · Official

Azure Queue Storage for Rust

A focused guide for building secure Azure Queue Storage messaging workflows in Rust.

Dev & Engineering ✓ Microsoft · Official

Fabric Capacity Manager for .NET

Manage Microsoft Fabric capacities programmatically through Azure Resource Manager.

Related skills