sickn33/antigravity-awesome-skills/azure-monitor-opentelemetry-py

Claude Code and agent skill by sickn33/antigravity-awesome-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Azure Monitor OpenTelemetry Distro for Python. Use for one-line Application Insights setup with auto-instrumentation.

Install

npx vskill@latest install sickn33/antigravity-awesome-skills/azure-monitor-opentelemetry-py

SKILL.md

Azure Monitor OpenTelemetry Distro for Python

One-line setup for Application Insights with OpenTelemetry auto-instrumentation.

Installation

bash
pip install azure-monitor-opentelemetry

Environment Variables

bash
APPLICATIONINSIGHTS_CONNECTION_STRING=InstrumentationKey=xxx;IngestionEndpoint=https://xxx.in.applicationinsights.azure.com/

Quick Start

python
from azure.monitor.opentelemetry import configure_azure_monitor
# One-line setup - reads connection string from environment
configure_azure_monitor()
# Your application code...

Explicit Configuration

python
from azure.monitor.opentelemetry import configure_azure_monitor
configure_azure_monitor(
connection_string="InstrumentationKey=xxx;IngestionEndpoint=https://xxx.in.applicationinsights.azure.com/"
)

With Flask

python
from flask import Flask
from azure.monitor.opentelemetry import configure_azure_monitor
configure_azure_monitor()
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
if __name__ == "__main__":
app.run()

With Django

python
# settings.py
from azure.monitor.opentelemetry import configure_azure_monitor
configure_azure_monitor()
# Django settings...

With FastAPI

python
from fastapi import FastAPI
from azure.monitor.opentelemetry import configure_azure_monitor
configure_azure_monitor()
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}

Custom Traces

python
from opentelemetry import trace
from azure.monitor.opentelemetry import configure_azure_monitor
configure_azure_monitor()
tracer = trace.get_tracer(__name__)
with tracer.start_as_current_span("my-operation") as span:
span.set_attribute("custom.attribute", "value")
# Do work...

Custom Metrics

python
from opentelemetry import metrics
from azure.monitor.opentelemetry import configure_azure_monitor
configure_azure_monitor()
meter = metrics.get_meter(__name__)
counter = meter.create_counter("my_counter")
counter.add(1, {"dimension": "value"})

Custom Logs

python
import logging
from azure.monitor.opentelemetry import configure_azure_monitor
configure_azure_monitor()
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
logger.info("This will appear in Application Insights")
logger.error("Errors are captured too", exc_info=True)

Sampling

python
from azure.monitor.opentelemetry import configure_azure_monitor
# Sample 10% of requests
configure_azure_monitor(
sampling_ratio=0.1
)

Cloud Role Name

Set cloud role name for Application Map:

python
from azure.monitor.opentelemetry import configure_azure_monitor
from opentelemetry.sdk.resources import Resource, SERVICE_NAME
configure_azure_monitor(
resource=Resource.create({SERVICE_NAME: "my-service-name"})
)

Disable Specific Instrumentations

python
from azure.monitor.opentelemetry import configure_azure_monitor
configure_azure_monitor(
instrumentation_options={"flask": {"enabled": False}} # Disable Flask; others keep defaults
)

Enable Live Metrics

python
from azure.monitor.opentelemetry import configure_azure_monitor
configure_azure_monitor(
enable_live_metrics=True
)

Azure AD Authentication

python
from azure.monitor.opentelemetry import configure_azure_monitor
from azure.identity import DefaultAzureCredential
configure_azure_monitor(
credential=DefaultAzureCredential()
)

Configure once per process. Pin and inspect the installed distro: supported libraries and defaults change, and Azure Monitor versus Microsoft OpenTelemetry distros use different APIs. Do not initialize both. Azure SDK reference documents instrumentation_options; confirm optional instrumentations/dependencies rather than assuming every library below is included. Telemetry leaves the process: authorize its destination/retention, redact secrets and personal data from logs/spans, limit cardinality and ingestion cost, and verify export using synthetic data. Trace sampling does not imply metrics or all logs are sampled.

Auto-Instrumentations Included

LibraryTelemetry Type
FlaskTraces
DjangoTraces
FastAPITraces
RequestsTraces
urllib3Traces
httpxTraces
aiohttpTraces
psycopg2Traces
pymysqlTraces
pymongoTraces
redisTraces

Configuration Options

ParameterDescriptionDefault
connection_stringApplication Insights connection stringFrom env var
credentialAzure credential for AAD authNone
sampling_ratioExplicit trace sampling fractionVersion-dependent; inspect sampler/environment
resourceOpenTelemetry ResourceAuto-detected
instrumentation_optionsPer-library enabled dictionaryVersion-dependent defaults
enable_live_metricsEnable Live Metrics streamVersion-dependent; set explicitly

Best Practices

  1. Call configure_azure_monitor() early — Before importing instrumented libraries
  2. Use environment variables for connection string in production
  3. Set cloud role name for multi-service applications
  4. Enable sampling in high-traffic applications
  5. Use structured logging for better log analytics queries
  6. Add custom attributes to spans for better debugging
  7. Use AAD authentication for production workloads

When to Use

This skill is applicable to execute the workflow or actions described in the overview.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
26,684
Repository forks
4,541
Repository npm downloads, 7 days
5,562
7-day trend score
72

Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 23 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/sickn33/antigravity-awesome-skills/azure-monitor-opentelemetry-py/badge)](https://verified-skill.com/skills/sickn33/antigravity-awesome-skills/azure-monitor-opentelemetry-py)

Something wrong with this skill or its page? Tell us.