Pular para o conteúdo
Skillpedia
Machine learning48 mil · #2352

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-monitor-opentelemetry-exporter-py/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-monitor-opentelemetry-exporter-py/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-py

Ou 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.md
Conteú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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2352
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas