Esta página ha sido traducida por una máquina.

Rastreo distribuido para funciones

Descubra cómo activar el rastreo y ver rastreos de funciones al depurar con OCI Functions.

Cuando se llama a una función pero no se ejecuta o se ejecuta como se esperaba, debe investigar el problema en un nivel detallado. La función de rastreo distribuido observa la ejecución de la función a medida que se mueve a través de los diferentes componentes del sistema. Puede rastrear e instrumentar funciones independientes para depurar problemas de ejecución y rendimiento. También puede utilizar el rastreo de funciones para depurar problemas con aplicaciones sin servidor completas que incluyen varias funciones y servicios, como:

  • una función que llama a otra función
  • una función que llama a otros servicios, como el servicio Object Storage
  • una función que sirve como backend para un gateway de API desplegado en el servicio de gateway de API
  • una función disparada en respuesta a un evento por el servicio Events, el servicio Notifications o Connector Hub

Las capacidades de rastreo de OCI Functions las proporciona el servicio Oracle Cloud Infrastructure Application Performance Monitoring. Las funciones de Application Performance Monitoring (APM) permiten identificar y solucionar fallos y problemas de latencia en las funciones que cree y despliegue.

En el servicio Application Performance Monitoring:

  • Un dominio de APM contiene los sistemas supervisados por Application Performance Monitoring. Un dominio de APM es una instancia de un recopilador de datos de rastreo y período que almacena, agrega, muestra y visualiza los datos.
  • Un rastreo es el flujo completo de una solicitud que pasa por todos los componentes de un sistema distribuido en un período de tiempo determinado. Consta de un árbol completo de intervalos, todos relacionados con el mismo flujo de solicitud global único.
  • Un intervalo es una operación o una unidad lógica de trabajo con un nombre, una hora de inicio y una duración, dentro de un rastreo. Un intervalo es un segmento de tiempo asociado con la duración de una unidad de trabajo dentro del flujo de solicitud general.

El explorador de rastreo de Application Performance Monitoring permite visualizar todo el flujo de solicitudes y explorar los detalles de rastreo y período para el diagnóstico. Puede ver y supervisar rastreos lentos y rastreos con errores. Para aislar e identificar incidencias de rastreo, puede aumentar el detalle de períodos específicos, como cargas de páginas, llamadas AJAX y solicitudes de servicio. Para obtener más información sobre el servicio Application Performance Monitoring, consulte Application Performance Monitoring.

Para activar el rastreo de una función, debe:

  1. Configure una política para otorgar permiso al servicio OCI Functions para acceder a los dominios de APM, si la política aún no existe (consulte Sentencias de política para otorgar acceso al servicio OCI Functions y a los usuarios de OCI Functions a los recursos de rastreo).
  2. Configure un dominio de APM.
  3. Active el rastreo para la aplicación Functions y seleccione el dominio de APM que ha creado.
  4. Active el rastreo para una o más funciones.

Al activar el rastreo para una función, OCI Functions genera automáticamente un "plazo de llamada de función por defecto". El intervalo por defecto captura información sobre el contexto de ejecución de la función, incluido el tiempo total que se tarda en procesar la solicitud y devolver una respuesta al emisor de la llamada. Además del período de llamada de función por defecto, puede agregar código a las funciones para definir períodos personalizados. Utilice intervalos personalizados para capturar más información específica de la función para ayudar con la depuración. Por ejemplo, puede definir intervalos personalizados para capturar el inicio y el final de unidades de trabajo específicas. Por ejemplo, las unidades de trabajo podrían incluir la obtención de la contraseña de base de datos del almacén, la apertura de una conexión a base de datos y la recuperación de registros de la base de datos.

Se han agregado cuatro variables al contexto de OCI Functions que proporcionan información de rastreo útil. Estas variables incluyen:

  • FN_APP_NAME: Nombre de la aplicación de la función.
  • FN_FN_NAME: Nombre de función.
  • OCI_TRACE_COLLECTOR_URL: URL de dominio de APM con clave de datos.
  • OCI_TRACING_ENABLED: ¿Está activado el rastreo?
    • Cuando se recupera de variables de entorno, devuelve 0 o 1.
    • Cuando se recupera del contexto de la función, devuelve true o false según corresponda para el idioma utilizado.

Política de IAM necesaria para activar el rastreo

Para poder activar el rastreo, el grupo al que pertenece debe tener permiso para acceder a los dominios de APM existentes o para crear dominios de APM. Además, OCI Functions debe tener permiso para acceder a los dominios de APM. Consulte Sentencias de política para proporcionar a los usuarios del servicio OCI Functions y OCI Functions acceso a recursos de rastreo.

Uso de la consola para activar el rastreo y ver rastreos de funciones

Se necesitan un par de pasos para activar el rastreo y ver los rastreos de funciones para el servicio Oracle Cloud Infrastructure Application Performance Monitoring (APM). En primer lugar, active el rastreo para la aplicación que contiene la función. A continuación, active el rastreo para una o más funciones. A continuación, puede ver los rastreos de funciones en el explorador de rastreo de APM.

Uso de la consola para activar el rastreo

Para activar el rastreo, siga estos pasos.

  1. En la página de lista Aplicaciones, seleccione la aplicación con funciones para las que desea activar el rastreo. Si necesita ayuda para buscar la página de lista o la aplicación, consulte Listado de aplicaciones.
  2. Para activar el rastreo para la aplicación:
    1. En Recursos, seleccione Rastreos.
    2. Seleccione la opción Rastreo Activado y especifique:
      • compartimento: compartimento en el que se va a crear el rastreo. Por defecto, el compartimento actual.
      • Dominio de APM: dominio de APM (definido en el servicio Application Performance Monitoring) en el que crear el rastreo. Para utilizar un dominio de APM existente, seleccione un dominio de APM existente de la lista. O bien, para crear un nuevo dominio de APM, seleccione APM Domain (Dominio de APM). Para obtener más información sobre los dominios de APM, consulte Introducción a Application Performance Monitoring.
        Nota

        El dominio de APM debe tener claves de datos públicas y privadas para que el rastreo de funciones funcione. Si las claves no existen, puede crearlas a través de la interfaz de la consola.
    3. Seleccione Activar Rastreo para activar el rastreo para la aplicación.

    Una vez activado el rastreo para la aplicación de Functions, ahora puede activar el rastreo para una o más funciones de la aplicación.

  3. Para activar el rastreo para funciones específicas en la aplicación:
    1. En Recursos, seleccione Funciones.
    2. Seleccione la opción Activar Rastreo junto a una o más funciones para las que desea activar el rastreo.

      La opción Activar Rastreo sólo se muestra si ha activado previamente el rastreo para la aplicación. Tenga en cuenta lo siguiente:

      • Si no se muestra la opción Activar rastreo, debe activar el rastreo para la aplicación. Si aún no ha activado el rastreo para la aplicación, consulte el paso anterior.
      • Si activó previamente el rastreo para la aplicación, pero posteriormente lo desactivó, se muestra un enlace Activar rastreo de aplicación. Seleccione el enlace Activar Rastreo de Aplicación para volver a activar el rastreo de la aplicación (consulte el paso anterior). Después de volver a activar el rastreo para la aplicación, puede activar el rastreo para funciones específicas.

Cuando haya activado el rastreo para la aplicación y una o más funciones, puede ver los rastreos de funciones.

Uso de la consola para ver rastreos de funciones

Para ver los rastreos de las funciones que tienen el rastreo activado:

  1. En la página de lista Aplicaciones, seleccione la aplicación que contiene las funciones para las que desea ver rastreos. Si necesita ayuda para buscar la página de lista o la aplicación, consulte Listado de aplicaciones.
  2. Para ver rastreos de funciones:
    1. Para ver los rastreos de todas las funciones que tienen el rastreo activado en la aplicación:
      1. En Recursos, seleccione Rastreos.
      2. Seleccione el nombre del rastreo.
        Nota

        Un nombre de rastreo solo se muestra si ya ha activado el rastreo para la aplicación.
    2. Para ver el rastreo de una función específica que tiene el rastreo activado:
      1. En Recursos, seleccione Funciones.
      2. Seleccione el menú Acciones (Menú Acciones) junto a la función y, a continuación, seleccione Ver Rastreo.
        Nota

        La opción Ver rastreo solo se muestra si ya ha activado el rastreo para la función.

    Los rastreos de las funciones seleccionadas se muestran en el explorador de rastreo de APM. Por defecto, se muestra un rastreo para el intervalo de llamada a la función por defecto y cualquier intervalo personalizado definido para la función.

  3. En el explorador de rastreo de APM:
    1. Seleccione un rastreo para ver los intervalos de ese rastreo.
    2. Seleccione un período para ver los detalles capturados para ese período.

    Para obtener más información sobre el uso del explorador de rastreo de APM, consulte Uso del explorador de rastreo.

Rastreo de una Cadena de Funciones

Por defecto, el rastreo de funciones proporciona un rastreo para una llamada de función completa. Sin embargo, a menudo con las aplicaciones modernas en la nube, necesita encadenar llamadas a funciones. El rastreo de OCI Functions proporciona la capacidad de rastrear la ejecución de una función llamada por otra función. Esta capacidad significa que puede examinar la ejecución de cada función en una cadena de llamadas en un solo árbol de intervalos en el explorador de rastreo de APM.

Para rastrear una cadena de funciones, debe propagar las cabeceras X-B3 X-B3-TraceId, X-B3-SpanId, X-B3-ParentSpanId y X-B3-Sampled en la solicitud de llamada de función desde el código de función.

Una vez ejecutada la función, los datos de rastreo de las funciones se recopilan y están disponibles en el explorador de rastreo de APM. Para obtener más información sobre el uso del explorador de rastreo de APM, consulte Uso del explorador de rastreo.

Adición de períodos personalizados a funciones

Con el rastreo de funciones activado, el período de llamada a la función por defecto proporciona un rastreo para toda la llamada a la función. El intervalo por defecto puede proporcionar buena información, pero al investigar el código puede que desee profundizar más. Los intervalos personalizados se agregan directamente al código y le permiten definir intervalos para un método o un bloque de código. Los datos resultantes proporcionan una mejor imagen de su función a medida que se ejecuta.

Para poder utilizar períodos personalizados, debe activar el rastreo para la aplicación y las funciones mediante el servicio Oracle Cloud Infrastructure Application Performance Monitoring (APM). Para definir el rastreo, debe:

  1. Configure una política para otorgar permiso al servicio OCI Functions para acceder a los dominios de APM, si la política aún no existe (consulte Sentencias de política para otorgar acceso al servicio OCI Functions y a los usuarios de OCI Functions a los recursos de rastreo).
  2. Configure un dominio de APM.
  3. Active el rastreo para la aplicación Functions y seleccione el dominio de APM que ha creado.
  4. Active el rastreo para una o más funciones.

Estos pasos ya se han tratado. Sin embargo, se necesitan un par de cosas más para intervalos personalizados:

  • Seleccione una biblioteca de cliente de rastreo distribuido, por ejemplo Zipkin.
  • Agregue bibliotecas de cliente a las dependencias de función.
  • En el código de función, utilice la variable de contexto de función OCI_TRACING_ENABLED para comprobar si el rastreo está activado.
  • En el código de función, utilice la variable de contexto de función OCI_TRACE_COLLECTOR_URL para enviar los períodos personalizados al dominio de APM.
  • Agregue instrumentación al código de función.
Nota

Para utilizar intervalos personalizados, debe tener las siguientes versiones mínimas de los FDK de Fn Project:

  • FDK DE Java: 1.0.129
  • FDK de Python: 0.1.22
  • Nodo FDK: 0.0.20