Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos del entorno en la nube.
Supervisión de aplicaciones mediante OCI Application Performance Monitoring y OpenTelemetry
Introducción
Con frecuencia, la supervisión de aplicaciones que varían en los componentes de la pila puede resultar difícil. Un enfoque unificado para supervisar estos componentes permite una visibilidad integral y estadísticas sobre los problemas que puedan surgir. OpenTelemetry es un estándar del sector para recopilar datos de rastreo, métricas y logs para la mayoría de los lenguajes de programación. Puede proporcionar estadísticas potentes cuando se combina con los servicios de observación y gestión de Oracle Cloud Infrastructure (OCI), como OCI Application Performance Monitoring y OCI Logging Analytics.

OCI Application Performance Monitoring proporciona una amplia visibilidad del rendimiento de las aplicaciones y la capacidad de diagnosticar incidencias rápidamente para ofrecer un nivel de servicio consistente. Esto incluye la supervisión de los diversos componentes y la lógica de aplicación en los clientes, los servicios de terceros y los niveles informáticos de backend, de forma local o en la nube.

OCI Logging Analytics es una solución en la nube de OCI que indexa, enriquece, agrega, explora, busca, analiza, correlaciona, visualiza y supervisa todos los datos de log de las aplicaciones y la infraestructura del sistema. Obtenga estadísticas potentes de los datos de log mediante modelos de IA/AA seleccionados creados en OCI Logging Analytics.

OpenTelemetry tiene varias implementaciones para diferentes lenguajes de programación y se actualiza o desarrolla constantemente. El propósito de este marco es tener una forma unificada y estandarizada de recopilar y enviar datos de monitoreo.
En este tutorial, aprenderá a instrumentar una aplicación con OpenTelemetry y a exportar los datos recopilados a servicios de OCI como OCI Application Performance Monitoring y OCI Logging Analytics.
Objetivos
-
Configure OpenTelemetry para una aplicación de pila que no sea de Oracle.
-
Envíe rastreos y métricas a OCI Application Performance Monitoring.
-
Enviar datos de log a OCI Logging Analytics.
Requisitos
-
Un arrendamiento de OCI con la cuenta de administrador inicial.
-
Una aplicación
Node.js(ejemplo de repositorio GitHub: oci-observability-and-management). -
Conocimientos básicos de JavaScript.
Ejemplo de GitHub
Si desea implementar la supervisión para las aplicaciones MERN/MEAN/MEVN, utilice el repositorio GitHub oci-observability-and-management. Este repositorio incluye archivos para:
-
Instruir el frontend y backend de la aplicación.
-
Envía métricas personalizadas a OCI Application Performance Monitoring (APM).
-
Enviar mensajes de log a OCI Logging Analytics.
-
Una aplicación de ejemplo para experimentar con la implantación OpenTelemetry.
Tarea 1: Configuración de OCI Application Performance Monitoring
-
Creación de un dominio de OCI Application Performance Monitoring (APM)
Nota: Revise la documentación de OCI Application Performance Monitoring para conocer las tareas necesarias.
-
Conéctese a la consola de OCI y vaya a Observability & Management, Application Performance Management, Administration para abrir la página de administración de OCI Application Performance Monitoring.
-
Haga clic en Crear dominio APM e introduzca un nombre de dominio. Observe la siguiente información que se encuentra en la página de dominio de OCI Application Performance Monitoring.
-
Punto final de carga de datos: URL para enviar datos a OCI Application Performance Monitoring.
-
Clave de datos pública: se utiliza con el agente de explorador de OCI Application Performance Monitoring.
-
Clave de datos privada: para conectarse con recopiladores de datos como OpenTelemetry.

-
-
-
Preparar una solicitud
Para supervisar el frontend de una aplicación, instrumente el agente de explorador de OCI Application Performance Monitoring. Para obtener más información, consulte Pasos de instrumentación de explorador/cliente.
Instrumentación de servidor
-
Para obtener rastreos integrales, se necesita la propagación de contexto de los rastreos frontend de un explorador/cliente al servidor. Una cosa a tener en cuenta al hacerlo es asegurarse de que haya cabeceras HTTP para proporcionar el contexto. Por defecto, OpenTelemetry utiliza W3C (traceparent) para propagar automáticamente el contexto. Hay otros tipos de cabecera que se pueden utilizar, pero deben contabilizarse en el código de aplicación.

-
Asegúrese de agregar el siguiente código con el fragmento JavaScript que ejecuta la instrumentación del explorador/cliente.
window.apmrum.traceSupportingEndpoints = [ { headers: [ 'W3C'], hostPattern: '.*' } ]; -
Instruya la instrumentación automática o el backend manual según lo que esté disponible, consulte pasos del lenguaje de programación.
Ejemplos en GitHub
-
Tarea 2: Configuración de OCI Logging Analytics
-
Enviar logs de aplicación
Envíe logs de aplicación a OCI Logging Analytics, lo que permite correlacionar rastreos, métricas y logs para obtener una visibilidad completa de la aplicación. El registro se puede activar mediante bibliotecas de registro estándar y agregador de logs personalizado. El agregador de logs se debe crear para enviar los logs mediante los puntos finales de REST o SDK proporcionados por OCI, como se muestra.

-
Creación de una clave de firma de API
-
Vaya a la consola de OCI y vaya a Usuario, Configuración de usuario.
-
Seleccione Claves de API en Recursos.
-
Haga clic en Agregar clave de API, Generar par de claves de API, Descargar clave privada y Agregar.
-
Copie el contenido de Configuration File Preview y haga clic en Close.

-
-
Creación de un Archivo de Configuración
Cree un directorio (
.oci) y un archivo de configuración con contenido de la vista previa del archivo de configuración y la ruta al archivo de clave privada. A continuación se muestra un ejemplo del archivo de configuración.[DEFAULT] user= [User OCID] fingerprint= [API Key Fingerprint] tenancy= [Tenancy OCID] region= [Region] key_file= [Path to Private Key File] -
Creación de un analizador de log
-
Vaya a la consola de OCI y vaya a Observación y gestión, Logging Analytics, Administración.
-
Haga clic en Analizadores, Crear Analizador y seleccione Tipo como
JSON. -
Introduzca el contenido del log
JSONde ejemplo, analizará y extraerá campos y lo asignará a nombres de campo específicos y haga clic en Guardar cambios.
-
-
Creación de un origen de log
-
Vaya a la consola de OCI y vaya a Logging Analytics, Administración, Orígenes, Crear origen.
-
Introduzca Tipo de origen como
Filey Tipos de entidad comoHost (Linux). -
En Analizador específico, seleccione el analizador creado en la tarea 2.4 y haga clic en Crear origen.

-
-
Crear un grupo de logs
-
Vaya a la consola de OCI y vaya a Logging Analytics, Administración, Grupos de logs, Crear grupo de logs.
-
Introduzca Nombre, Descripción del grupo de logs y haga clic en Crear.
Nota: Tenga en cuenta Oracle Cloud Identity (OCID) del grupo de logs que se utilizará más adelante.



-
-
Obtener los detalles del espacio de nombres
-
Vaya a la consola de OCI, vaya a Identidad, Compartimentos, haga clic en el compartimento donde se crea el origen de log y copie el OCID del compartimento.
-
Abra Cloud Shell y ejecute el siguiente comando para obtener el espacio de nombres.
oci os ns get -c compartmentID

-
-
Creación de un agregador de logs
Se puede crear un agregador de logs personalizado mediante los SDK de OCI Logging Analytics proporcionados para diferentes lenguajes de programación como Java, Python, .Net, TypeScript/JavaScript, Go y Ruby o utilizar puntos finales de OCI API Rest. Para obtener más información, consulte Software Development Kits (SDK) y API Reference and Endpoints.
Ejemplo en GitHub: Apendiente de log: JavaScript (pila MERN).
Anote los siguientes parámetros necesarios para inicializar y enviar logs a OCI Logging Analytics desde los pasos anteriores.
- [PATH]/config: ruta al archivo de configuración.
- [PROFILE]: perfil del archivo de configuración que se utilizará para la autenticación de OCI.
- [NAMESPACE]: espacio de nombres.
- [UPLOADNAME]: nombre definido por el usuario para las cargas.
- [LOGSOURCENAME]: nombre de origen de log creado en OCI Logging Analytics.
- [LOGFILENAME]: nombre de archivo log para indicar que los mensajes de log están relacionados con un archivo log específico.
- [LOGGROUPID]: ID de grupo de logs creado en OCI Logging Analytics para agrupar los mensajes de log.
Una vez que los registros de log se hayan creado para diferentes niveles de log (depuración, información, advertencia y error) mediante el agregador de logs, se enviarán a OCI Logging Analytics y podrá ver los registros de log en Log Explorer como se muestra a continuación.

Tarea 3: Correlacionar rastreos y logs
OpenTelemetry incluye TraceId y SpanId en los registros de log y esto permite correlacionar directamente logs y rastreos que se corresponden con el mismo contexto de ejecución. La aplicación rastrea y abarca los flujos a OCI Application Performance Monitoring y se conecta al servicio OCI Logging Analytics. OCI Application Performance Monitoring proporciona una forma sencilla de navegar desde rastreos y períodos hasta logs en OCI Logging Analytics con un solo clic mediante una configuración de aumento de detalle.
Los detalles son enlaces a otros servicios de OCI u otros servicios personalizados que utilizan URL personalizables, incluidos atributos de períodos (por ejemplo: loganalytics/explorer?search=<OciInstanceId>, donde ociInstanceId es un atributo de período). Siga los siguientes pasos para configurar desgloses en OCI Application Performance Monitoring.

Tarea 4: Creación de un panel de control personalizado
Una vez que los datos y las métricas de rastreo estén en OCI, utilícelos para representarlos visualmente. Crear un panel de control personalizado es fácil, solo tiene que arrastrar y soltar los widgets necesarios y modificar los datos de origen (datos de métricas, rastreo o log).
Para obtener más información sobre los paneles de control personalizados, consulte:
- Creación de paneles de control de APM personalizados
- Creación de paneles de control personalizados de Logging Analytics
- Personalizar y mostrar datos de rastreo en los paneles de control de Application Performance Monitoring mediante widgets para crear widgets personalizados a partir de las consultas del explorador de rastreo de Application Performance Monitoring.
Ejemplo de panel de control creado para una aplicación MERN.

Enlaces relacionados
Agradecimientos
- Autor: Zyaad Khader (ingeniero de programas para clientes estratégicos)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Monitor Applications using OCI Application Performance Monitoring and OpenTelemetry
F91949-01
January 2024
Copyright © APMOT, Oracle and/or its affiliates.