Función de remitente de log de APM

Descubra cómo utilizar la función predefinida de remitente de log de APM en OCI Functions para mover logs de servicio a un dominio de APM.

Casos de Uso Comunes

Utilice el PBF de remitente de log de APM para mover logs de servicio a un dominio de APM mediante la función como destino de un conector de servicio. El uso principal de esta función es supervisar las integraciones de Oracle Integration Cloud (OIC) con Application Performance Monitoring (APM) conectando un log de flujo de actividad de OIC a la función.

Los servicios relacionados con la función Log Sender de APM incluyen:

Alcance

Las consideraciones de ámbito para esta función incluyen:

Requisitos y recomendaciones

Las siguientes son las mejores prácticas al utilizar esta función predefinida:

  • Establezca el tiempo de espera de la función predefinida en 300 segundos.
  • Si la subred especificada para la aplicación es una subred privada, la VCN debe incluir un gateway de servicio. Si la subred especificada para la aplicación es una subred pública, la VCN debe incluir un gateway de Internet. En ambos casos, deben existir las reglas de enrutamiento necesarias. Consulte las instrucciones en el tema de solución de problemas La llamada a una función devuelve un mensaje FunctionInvokeImageNotAvailable y un error 502.
  • La función, el dominio de APM y el recurso de log deben estar todos en la misma región.

Configuración de la función de remitente de log de APM

Para crear una función de remitente de log de APM, realice los siguientes pasos:

  1. En la página Funciones predefinidas, seleccione Remitente de log de APM y, a continuación, seleccione Crear función.
  2. Configure el nombre, el compartimento y la aplicación de la siguiente forma:
    • Nombre: nombre que se elige para la nueva función. El nombre debe comenzar con una letra o guion bajo, seguido de letras, números, guiones o guiones bajos. La longitud puede abarcar entre 1 y 255 caracteres. Evite introducir información confidencial.

      Para crear la función en un compartimento diferente, seleccione Cambiar compartimento.

    • Aplicación: seleccione la aplicación en la que desea crear la función.

      Si aún no existe una aplicación adecuada en el compartimento actual, seleccione Crear nueva aplicación y especifique los siguientes detalles:

      • Nombre: nombre para la nueva aplicación. Evite introducir información confidencial.
      • VCN: la VCN (red virtual en la nube) en la que se ejecutan funciones en la aplicación. Opcionalmente, seleccione Compartimento de VCN: para seleccionar un VCN de otro compartimento.
      • Subredes: subred (o subredes, hasta un máximo de tres) en las que ejecutar funciones. Opcionalmente, seleccione Compartimento de subredes: para seleccionar una subred de un compartimento diferente.
      • Unidad: arquitectura de procesador de las instancias informáticas en las que desplegar y ejecutar funciones en la aplicación. Todas las funciones de la aplicación se despliegan y ejecutan en instancias informáticas con la misma arquitectura. La imagen de la función debe contener las dependencias necesarias para la arquitectura que seleccione.
      • Etiquetas: si tiene permisos para crear un recurso, también tiene permisos para aplicar etiquetas de formato libre a ese recurso. Etiquetas Para aplicar una etiqueta defined, debe tener permisos para utilizar el espacio de nombres de la etiqueta. Para obtener más información sobre el etiquetado, consulte Etiquetas de recursos. Si no está seguro de si desea aplicar etiquetas, omita esta opción o pregunte a un administrador. Puede aplicar etiquetas más tarde.
  3. Configure la política de IAM para funciones predefinidas.

    Por defecto, OCI Functions crea un grupo dinámico y una política de IAM con las sentencias de política necesarias para ejecutar la función predefinida. No realice cambios para aceptar el comportamiento predeterminado.

    Si no desea que OCI Functions cree automáticamente el grupo dinámico y la política, seleccione No crear un grupo dinámico ni una política de IAM.

    Importante

    Si selecciona la opción No crear un grupo dinámico y una política de IAM, debe definir el grupo dinámico y la política de IAM usted mismo.
  4. Configure la memoria de función y los valores de timeout de la siguiente manera:
    • Memoria (en MB): cantidad máxima de memoria que la función puede utilizar mientras se ejecuta, en megabytes. Esta es la memoria disponible para la imagen de la función.
    • Timeout (en segundos): cantidad máxima de tiempo durante la que se puede ejecutar la función, en segundos. Si la función no se completa en el tiempo especificado, el sistema cancela la función. (Valor por Defecto: 300)
  5. (Opcional) Configure la concurrencia aprovisionada para minimizar los retrasos iniciales al llamar a la función especificando un número mínimo de llamadas de función simultáneas para las que desea tener una infraestructura de ejecución disponible constantemente. (Valor por defecto: No activada)

    Si se selecciona, especifique el número de unidades de simultaneidad aprovisionadas asignadas a esta función. Valor por Defecto: 20.

    Para obtener más información sobre la simultaneidad aprovisionada, consulte Reducing Initial Latency Using Provisioned Concurrency.

  6. Defina los parámetros de configuración de función como se describe en Parámetros de Configuración.
  7. Opcionalmente, introduzca cualquier etiqueta en la sección Etiquetas. Si tiene permisos para crear un recurso, también tiene permisos para aplicar etiquetas de formato libre a dicho recurso. Para aplicar una etiqueta defined, debe tener permisos para utilizar el espacio de nombres de la etiqueta. Para obtener más información sobre el etiquetado, consulte Etiquetas de recursos. Si no está seguro de si desea aplicar etiquetas, omita esta opción o pregunte a un administrador. Puede aplicar etiquetas más tarde.
  8. Haga clic en Crear.

El cuadro de diálogo de despliegue muestra las tareas para desplegar la función (consulte Finalización del despliegue de funciones incorporadas).

Opciones de Configuración

Parámetros de Configuración

Nombre Descripción Necesario
APM_DOMAIN_ID ID del dominio que supervisará el log de servicio.
PBF_LOG_LEVEL Nivel de registro, las opciones son DEBUG, INFO, WARN y ERROR. El valor por defecto es INFO. Número

Permisos

La ejecución de una función requiere determinadas políticas de IAM. Si ha seleccionado la opción No crear un grupo dinámico y una política de IAM al crear la función, debe definir el grupo dinámico y la política de IAM usted mismo.

Para definir las políticas adecuadas, realice los siguientes pasos:

  • Crear un grupo dinámico con la regla:
    ALL {resource.id = '<function_ocid>', resource.compartment.id = '<compartment_ocid>'
  • Configure una política de IAM mediante el grupo dinámico:
    Allow dynamic-group <dynamic-group-name> to read apm-domains in compartment <compartment-name>
    Allow dynamic-group <dynamic-group-name> to {APM_DOMAIN_DATA_UPLOAD} in compartment <compartment-name>
Nota

Sustituya <function-ocid> por el OCID de la función creada en los pasos anteriores.
Nota

Sustituya <dynamic-group-name> por el nombre del grupo dinámico que ha creado mediante el OCID de la función.
Nota

Sustituya <compartment_ocid> por el OCID del compartimento que contiene la función.
Nota

Sustituya <compartment_name> por el nombre del compartimento que contiene el dominio de APM.

Llamando a esta función

Connector Hub utiliza la función creada mediante este PBF para mover logs de servicio a un dominio de APM.
  1. Cree una función con este PBF.
  2. Cree un conector en Connector Hub para reenviar los logs del flujo de actividad a la función:
    1. Abra el menú de navegación y seleccione Análisis e IA. En Mensajería, seleccione Hub de conector.
    2. Seleccione el botón Crear conector.
    3. Introduzca un nombre y una descripción opcional.
    4. Seleccionar un compartimento.
    5. En Configurar conector, defina el Origen en Registro y el Destino en Funciones.
    6. En Configurar origen, apunte el grupo de logs y los logs a un log de servicio.
    7. En Configurar destino, defina la aplicación de función y la función en la función creada en el paso anterior.

      Nota: No configure una tarea.

    8. Seleccione el botón Crear.

Solución de problemas de

Códigos de estado comunes de OCI Functions

En la siguiente tabla se resumen los errores comunes de OCI Functions que puede encontrar al trabajar con funciones predefinidas:

Código de Error Mensaje de Error Acción
200 correcto Ninguna.
404 NotAuthorizedOrNotFound Verifique que se hayan configurado las políticas necesarias (consulte Running Fn Project CLI commands return a 404 error).
444 Timeout

La conexión entre el cliente y OCI Functions se interrumpió durante la ejecución de la función (consulte La llamada a una función hace que el cliente informe de un timeout y se muestra un error 444 en los logs de la función). Un reintento podría resolver el problema.

Tenga en cuenta que la mayoría de los clientes tienen un timeout interno de 60 segundos. Incluso cuando el tiempo de espera de la función predefinida se establece en 300 segundos, puede ser necesario lo siguiente:

  • Al utilizar la CLI de OCI: utilice --read-timeout 300
  • Al utilizar el SDK de OCI: defina el timeout de lectura en 300 al crear el cliente
  • Al utilizar DBMS_CLOUD.SEND_REQUEST: utilice UTL_HTTP.set_transfer_timeout(300);

Para obtener más información, consulte Llamada a funciones.

502 504 (varios) La mayoría de los problemas devuelven un código de estado 502 (consulte Llamada a una función devuelve un mensaje de fallo de función y un error 502). Un error 502 con el mensaje "error al recibir la respuesta de la función" podría resolverse aumentando la asignación de memoria. Un 502 puede ocurrir ocasionalmente cuando la función está en algún estado transitorio. Un reintento podría resolver el problema.

Para identificar aún más la causa, active las funciones de registro para la función predefinida (consulte Almacenamiento y visualización de logs de funciones). Para obtener información detallada sobre la solución de problemas de una función, consulte Solución de problemas de OCI Functions.

Mensajes de error de función predefinida de remitente de log de APM

En la siguiente tabla se resumen los errores que puede encontrar al trabajar con esta función creada previamente:

Código de Error Mensaje de Error Acción
no disponible No se ha podido recuperar el punto final de carga de datos

Verifique que se haya creado la siguiente sentencia de política necesaria:

Allow dynamic-group <dynamic-group-name> to read apm-domains in compartment <compartment-name>
no disponible Fallo al contabilizar en el recopilador de APM

Verifique que se haya creado la siguiente sentencia de política necesaria:

Allow dynamic-group <dynamic-group-name> to {APM_DOMAIN_DATA_UPLOAD} in compartment <compartment-name>

Verifique que la VCN de la aplicación tenga configurado el gateway adecuado. Consulte Requisitos previos y recomendaciones.

Para identificar aún más la causa, active las funciones de registro para la función predefinida (consulte Almacenamiento y visualización de logs de funciones).

Consejos de análisis de logs

Todas las funciones predefinidas proporcionan una opción para especificar el nivel de registro como parámetro de configuración. Puede definir el nivel de registro en DEBUG para obtener más información.

Dado que una aplicación tiene varias funciones, las entradas de log de funciones creadas previamente se identifican con el prefijo "PBF | <PBF NAME> ".

Por ejemplo, una entrada de log para la función predefinida de remitente de log de APM tiene un aspecto similar al siguiente:

"PBF | APM Log Sender | ERROR | 2024-08-13T12:44:49.579050219Z | Unable to retrieve data upload endpoint"