Biblioteca cliente de OpenTelemetry Exporter de Azure Monitor para Java: versión 1.0.0-beta.12
Esta biblioteca cliente proporciona compatibilidad para exportar datos de OpenTelemetry a Azure Monitor. En este paquete se supone que la aplicación ya está instrumentada con el SDK de OpenTelemetry siguiendo la especificación de OpenTelemetry.
Código | fuentePaquete (Maven) | Documentación | de referencia de APIDocumentación | del productoMuestras
Introducción
Requisitos previos
- Kit de desarrollo de Java (JDK) con la versión 8 o posterior
- Suscripción de Azure
- Recurso de Application Insights
Para más información, lea introducción a Application Insights.
Inclusión del paquete
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-monitor-opentelemetry-exporter</artifactId>
<version>1.0.0-beta.8</version>
</dependency>
Authentication
Obtención de la clave de instrumentación desde el portal
Para exportar datos de telemetría a Azure Monitor, necesitará la clave de instrumentación para el recurso de Application Insights. Para obtener la clave de instrumentación, vaya a Azure Portal y busque el recurso. En la página de información general del recurso, encontrará la clave de instrumentación en la esquina superior derecha.
Creación de un generador de exportadores para Azure Monitor
AzureMonitorExporterBuilder azureMonitorExporterBuilder = new AzureMonitorExporterBuilder()
.connectionString("{connection-string}");
Exportación de datos de intervalo
En el ejemplo siguiente se muestra cómo exportar datos de seguimiento a Azure Monitor a través de AzureMonitorTraceExporter
Configuración del SDK de OpenTelemetry para trabajar con el exportador de Azure Monitor
// Create Azure Monitor exporter and initialize OpenTelemetry SDK
// This should be done just once when application starts up
AutoConfiguredOpenTelemetrySdkBuilder sdkBuilder = AutoConfiguredOpenTelemetrySdk.builder();
new AzureMonitorExporterBuilder()
.connectionString("{connection-string}")
.build(sdkBuilder);
OpenTelemetry openTelemetry = sdkBuilder.build().getOpenTelemetrySdk();
Tracer tracer = openTelemetry.getTracer("Sample");
Creación de intervalos
// Make service calls by adding new parent spans
ConfigurationClient client = new ConfigurationClientBuilder()
.connectionString("{app-config-connection-string}")
.buildClient();
Span span = tracer.spanBuilder("user-parent-span").startSpan();
final Scope scope = span.makeCurrent();
try {
// Thread bound (sync) calls will automatically pick up the parent span and you don't need to pass it explicitly.
client.setConfigurationSetting("hello", "text", "World");
} finally {
span.end();
scope.close();
}
Conceptos clave
Algunos conceptos clave para el exportador de Azure Monitor incluyen:
OpenTelemetry: OpenTelemetry es un conjunto de bibliotecas que se usan para recopilar y exportar datos de telemetría (métricas, registros y seguimientos) para el análisis con el fin de comprender el rendimiento y el comportamiento del software.
Instrumentación: la capacidad de llamar directamente a la API de OpenTelemetry mediante cualquier aplicación se facilita mediante la instrumentación. Una biblioteca que habilita la observabilidad de OpenTelemetry para otra biblioteca se denomina biblioteca de instrumentación.
Seguimiento: el seguimiento hace referencia al seguimiento distribuido. Se puede considerar como un grafo acíclico dirigido (DAG) de intervalos, donde los bordes entre intervalos se definen como relación primaria/secundaria.
Proveedor de seguimiento: proporciona un
Tracer
para su uso por parte de la biblioteca de instrumentación especificada.Procesador de intervalos: un procesador de intervalos permite enlaces para las invocaciones de métodos de inicio y finalización del
Span
SDK. Siga el vínculo para obtener más información.Muestreo: el muestreo es un mecanismo para controlar el ruido y la sobrecarga introducidos por OpenTelemetry reduciendo el número de muestras de seguimiento recopiladas y enviadas al back-end.
Para obtener más información sobre el proyecto OpenTelemetry, revise las especificaciones de OpenTelemetry.
Ejemplos
Puede encontrar más ejemplos en ejemplos.
Solución de problemas
Habilitar el registro
Los SDK de Azure para Java ofrecen una historia de registro coherente para ayudar a solucionar errores de aplicación y acelerar su resolución. Los registros generados capturarán el flujo de una aplicación antes de alcanzar el estado terminal para ayudar a encontrar el problema raíz. Vea la wiki de registro para obtener instrucciones sobre cómo habilitar el registro.
Pasos siguientes
Más información sobre Open Telemetry
Contribuciones
Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución.
Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.
Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.