azure-monitor-opentelemetry-exporter-py
Permite que seu agente envie dados de rastreamento, métricas e logs para o Azure Monitor usando Python. É útil para exportar dados de OpenTelemetry para o Application Insights.
O que ela faz
Este código envia informações sobre o funcionamento do seu programa (como rastros, métricas e logs) para o Azure Application Insights. Ele permite que você veja o que está acontecendo dentro do seu aplicativo.
Quando usar
- ✓Quando você quer enviar dados de rastreamento do seu código para o Azure.
- ✓Quando você precisa monitorar o desempenho do seu aplicativo com métricas customizadas.
- ✓Quando você quer registrar eventos importantes do seu programa para análise posterior.
Exemplo do que pedir para a IA
“Envie os rastros do meu aplicativo Python para o Application Insights usando uma string de conexão.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele funciona configurando um 'exportador' que sabe como falar com o Azure Application Insights. Esse exportador é então conectado ao sistema de rastreamento, métricas ou logs do seu programa para que os dados sejam enviados automaticamente.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill azure-monitor-opentelemetry-exporter-pyOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-monitor-opentelemetry-exporter-py/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Exportador OpenTelemetry do Azure Monitor para Python
Exportador de baixo nível para enviar traces, métricas e logs do OpenTelemetry para o Application Insights.
Instalação
pip install azure-monitor-opentelemetry-exporter
Variáveis de Ambiente
APPLICATIONINSIGHTS_CONNECTION_STRING=InstrumentationKey=xxx;IngestionEndpoint=https://xxx.in.applicationinsights.azure.com/
Quando Usar
| Cenário | Usar |
|---|---|
| Configuração rápida, auto-instrumentação | azure-monitor-opentelemetry (distro) |
| Pipeline OpenTelemetry personalizado | azure-monitor-opentelemetry-exporter (este) |
| Controle granular sobre telemetria | azure-monitor-opentelemetry-exporter (este) |
Exportador de Trace
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from azure.monitor.opentelemetry.exporter import AzureMonitorTraceExporter
# Create exporter
exporter = AzureMonitorTraceExporter(
connection_string="InstrumentationKey=xxx;..."
)
# Configure tracer provider
trace.set_tracer_provider(TracerProvider())
trace.get_tracer_provider().add_span_processor(
BatchSpanProcessor(exporter)
)
# Use tracer
tracer = trace.get_tracer(__name__)
with tracer.start_as_current_span("my-span"):
print("Hello, World!")
Exportador de Métricas
from opentelemetry import metrics
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
from azure.monitor.opentelemetry.exporter import AzureMonitorMetricExporter
# Create exporter
exporter = AzureMonitorMetricExporter(
connection_string="InstrumentationKey=xxx;..."
)
# Configure meter provider
reader = PeriodicExportingMetricReader(exporter, export_interval_millis=60000)
metrics.set_meter_provider(MeterProvider(metric_readers=[reader]))
# Use meter
meter = metrics.get_meter(__name__)
counter = meter.create_counter("requests_total")
counter.add(1, {"route": "/api/users"})
Exportador de Logs
import logging
from opentelemetry._logs import set_logger_provider
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
from azure.monitor.opentelemetry.exporter import AzureMonitorLogExporter
# Create exporter
exporter = AzureMonitorLogExporter(
connection_string="InstrumentationKey=xxx;..."
)
# Configure logger provider
logger_provider = LoggerProvider()
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
set_logger_provider(logger_provider)
# Add handler to Python logging
handler = LoggingHandler(level=logging.INFO, logger_provider=logger_provider)
logging.getLogger().addHandler(handler)
# Use logging
logger = logging.getLogger(__name__)
logger.info("This will be sent to Application Insights")
A Partir de Variável de Ambiente
Os exportadores leem APPLICATIONINSIGHTS_CONNECTION_STRING automaticamente:
from azure.monitor.opentelemetry.exporter import AzureMonitorTraceExporter
# Connection string from environment
exporter = AzureMonitorTraceExporter()
Autenticação Azure AD
from azure.identity import DefaultAzureCredential
from azure.monitor.opentelemetry.exporter import AzureMonitorTraceExporter
exporter = AzureMonitorTraceExporter(
credential=DefaultAzureCredential()
)
Amostragem
Use ApplicationInsightsSampler para amostragem consistente:
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.sampling import ParentBasedTraceIdRatio
from azure.monitor.opentelemetry.exporter import ApplicationInsightsSampler
# Sample 10% of traces
sampler = ApplicationInsightsSampler(sampling_ratio=0.1)
trace.set_tracer_provider(TracerProvider(sampler=sampler))
Armazenamento Offline
Configure o armazenamento offline para retentativa:
from azure.monitor.opentelemetry.exporter import AzureMonitorTraceExporter
exporter = AzureMonitorTraceExporter(
connection_string="...",
storage_directory="/path/to/storage", # Custom storage path
disable_offline_storage=False # Enable retry (default)
)
Desabilitar Armazenamento Offline
exporter = AzureMonitorTraceExporter(
connection_string="...",
disable_offline_storage=True # No retry on failure
)
Nuvens Soberanas
from azure.identity import AzureAuthorityHosts, DefaultAzureCredential
…
Perguntas frequentes
O que são 'rastros', 'métricas' e 'logs'?
Rastros mostram o caminho que uma requisição faz pelo seu programa. Métricas são números que medem o desempenho (ex: tempo de resposta). Logs são mensagens de texto que descrevem eventos ou erros.
O que é 'OpenTelemetry'?
É um padrão para coletar e enviar dados de telemetria (rastros, métricas, logs) de forma unificada, permitindo que você use diferentes ferramentas de monitoramento.
Qual a diferença entre usar o 'distro' e o 'exporter'?
O 'distro' é mais fácil de usar para configurações rápidas e automáticas. O 'exporter' (este) te dá mais controle para criar um sistema de monitoramento personalizado.
Detalhes
Descrição original do autor
Azure Monitor OpenTelemetry Exporter for Python. Use for low-level OpenTelemetry export to Application Insights.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2352
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
pytorch-patterns
Ajuda seu agente a usar o PyTorch para criar modelos de aprendizado de máquina. Ele aplica as melhores práticas para treinar modelos de forma eficiente e garantir que os resultados sejam consistentes.
affaan-m/ECC
evm-token-decimals
Ajuda seu agente a evitar erros com números decimais em diferentes redes blockchain. Garante que os valores de tokens sejam precisos em transações e cálculos.
affaan-m/ECC
knowledge-agent
Cria e consulta bases de conhecimento com inteligência artificial. Permite fazer perguntas sobre trabalhos passados ou compilar conhecimento sobre um tema.
thedotmack/claude-mem