尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

【计算机工具类-监控和日志Skills】azure-monitor-opentelemetry-exporter-py 技能

【计算机工具类-监控和日志Skills】azure-monitor-opentelemetry-exporter-py 技能 Azure Monitor OpenTelemetry Exporter for Python. Use for low-level OpenTelemetry export to Application Insights.技能概述azure-monitor-opentelemetry-exporter-py 技能用于将OpenTelemetry跟踪、指标和日志导出到Application Insights。这是一个低级导出器适用于需要自定义OpenTelemetry管道和细粒度控制遥测的场景。支持Azure AD认证、采样、离线存储和主权云部署。下载地址agentic-awesome-skills/skills/azure-monitor-opentelemetry-exporter-py at main · sickn33/agentic-awesome-skills · GitHub主要功能跟踪导出将OpenTelemetry Span导出到Application Insights指标导出支持自定义指标和性能计数器日志导出将Python日志发送到Application InsightsAzure AD认证支持Azure Active Directory身份验证采样支持使用ApplicationInsightsSampler进行一致采样离线存储支持离线存储和重试机制安装pip install azure-monitor-opentelemetry-exporter环境变量APPLICATIONINSIGHTS_CONNECTION_STRINGInstrumentationKeyxxx;IngestionEndpointhttps://xxx.in.applicationinsights.azure.com/使用场景场景使用快速设置自动检测azure-monitor-opentelemetry (distro)自定义OpenTelemetry管道azure-monitor-opentelemetry-exporter (此包)细粒度控制遥测azure-monitor-opentelemetry-exporter (此包)跟踪导出器from opentelemetry import tracefrom opentelemetry.sdk.trace import TracerProviderfrom opentelemetry.sdk.trace.export import BatchSpanProcessorfrom azure.monitor.opentelemetry.exporter import AzureMonitorTraceExporter# Create exporterexporter AzureMonitorTraceExporter(connection_stringInstrumentationKeyxxx;...)# Configure tracer providertrace.set_tracer_provider(TracerProvider())trace.get_tracer_provider().add_span_processor(BatchSpanProcessor(exporter))# Use tracertracer trace.get_tracer(__name__)with tracer.start_as_current_span(my-span):print(Hello, World!)指标导出器from opentelemetry import metricsfrom opentelemetry.sdk.metrics import MeterProviderfrom opentelemetry.sdk.metrics.export import PeriodicExportingMetricReaderfrom azure.monitor.opentelemetry.exporter import AzureMonitorMetricExporter# Create exporterexporter AzureMonitorMetricExporter(connection_stringInstrumentationKeyxxx;...)# Configure meter providerreader PeriodicExportingMetricReader(exporter, export_interval_millis60000)metrics.set_meter_provider(MeterProvider(metric_readers[reader]))# Use metermeter metrics.get_meter(__name__)counter meter.create_counter(requests_total)counter.add(1, {route: /api/users})日志导出器import loggingfrom opentelemetry._logs import set_logger_providerfrom opentelemetry.sdk._logs import LoggerProvider, LoggingHandlerfrom opentelemetry.sdk._logs.export import BatchLogRecordProcessorfrom azure.monitor.opentelemetry.exporter import AzureMonitorLogExporter# Create exporterexporter AzureMonitorLogExporter(connection_stringInstrumentationKeyxxx;...)# Configure logger providerlogger_provider LoggerProvider()logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))set_logger_provider(logger_provider)# Add handler to Python logginghandler LoggingHandler(levellogging.INFO, logger_providerlogger_provider)logging.getLogger().addHandler(handler)# Use logginglogger logging.getLogger(__name__)logger.info(This will be sent to Application Insights)Azure AD认证from azure.identity import DefaultAzureCredential from azure.monitor.opentelemetry.exporter import AzureMonitorTraceExporter exporter AzureMonitorTraceExporter( credentialDefaultAzureCredential() )用正常的格式来展示代码你只是负责格式化代码不需要解释代码。采样配置from opentelemetry.sdk.trace import TracerProviderfrom azure.monitor.opentelemetry.exporter import ApplicationInsightsSampler# Sample 10% of tracessampler ApplicationInsightsSampler(sampling_ratio0.1)trace.set_tracer_provider(TracerProvider(samplersampler))离线存储from azure.monitor.opentelemetry.exporter import AzureMonitorTraceExporterexporter AzureMonitorTraceExporter(connection_string...,storage_directory/path/to/storage, # Custom storage pathdisable_offline_storageFalse # Enable retry (default))主权云支持from azure.identity import AzureAuthorityHosts, DefaultAzureCredentialfrom azure.monitor.opentelemetry.exporter import AzureMonitorTraceExporter# Azure Governmentcredential DefaultAzureCredential(authorityAzureAuthorityHosts.AZURE_GOVERNMENT)exporter AzureMonitorTraceExporter(connection_stringInstrumentationKeyxxx;IngestionEndpointhttps://xxx.in.applicationinsights.azure.us/,credentialcredential)导出器类型导出器遥测类型Application Insights表AzureMonitorTraceExporter跟踪/Spanrequests, dependencies, exceptionsAzureMonitorMetricExporter指标customMetrics, performanceCountersAzureMonitorLogExporter日志traces, customEvents配置选项参数描述默认值connection_stringApplication Insights连接字符串从环境变量credentialAzure AD认证凭据Nonedisable_offline_storage禁用重试存储Falsestorage_directory自定义存储路径临时目录最佳实践使用BatchSpanProcessor- 生产环境使用批处理而非简单处理使用ApplicationInsightsSampler- 在服务间实现一致采样启用离线存储- 提高生产环境的可靠性使用AAD认证- 替代检测密钥设置适当的导出间隔- 根据工作负载调整使用distro- 除非需要自定义管道否则使用azure-monitor-opentelemetry
返回列表