Observabilidad de servicios - Token Digital

Los servicios del proyecto estarán reportando su estado mediante dos vías: reporte de logs y reporte de métricas.

Reporte de logs

Estados reportados en los logs

Los logs son generados desde los servicios utilizando la librería SL4J.

Para el monitoreo de logs el Equipo de Observabilidad indicó que se toman en cuenta los siguientes niveles:

  • CRITICAL: Problemas críticos que impiden el funcionamiento de la aplicación.

  • ERROR: Errores en la aplicación que deben recibir atención inmediata.

  • WARN: eventos que requieren atención pero no generan alertas.

  • INFO: Información sobre eventos sin acciones específicas.

Los logs generados serian enviados en un formato JSON con la siguiente estructura:

{ "severity": "info", "timestamp": "1585961710", "environment": "prd", "host": "AWWEB02", "service_id": "your-awesome-api", "request_id": "69f3a771-120a-4e0b-a432-b5ae781b8a95", "client_id": "b265aca6-60f8-4b59-bb68-f011bcc6993d", "x_forwarded_for": "201.103.53.49", "operation": "received_request", "message": { "headers": { "Connection": "Keep-Alive", "Content-Type:": "text/json; charset=utf-8" }, "mode": "cors", "credentials": {}, "method": "POST", "referrer": "201.103.53.49", "url": "https://api.myblog.com/v1/posts", "body": { "title": "How to ride a bike", "content": "Its easy, just pedal.", "category": "sports" } } }

 

Los campos reportados son los siguientes:

  • severity: Nivel de gravedad del registro: debug | info | warning | error | critical.

  • timestamp: Marca de tiempo UNIX que representa el momento en que se registró el log.

  • environment: Entorno en el que se registra el log: dev | stg | prd.

  • host: Dirección IP o nombre del servidor (o contenedor) donde se registra el log.

  • service_id: Identificador único del servicio donde se registra el log, por ejemplo, ffss-token-aggregation-service.

  • request_id: UUID generado desde el consumidor que representa de manera única la solicitud.

  • client_id: Id del servicio cliente que originó la solicitud.

  • x_forwarded_for: Lista de direcciones IP por las que ha pasado la solicitud. En una API pública, generalmente solo contiene la dirección IP del usuario que originó la solicitud.

  • operation: Operación realizada, por ejemplo: received_request (solicitud recibida), sent_response (respuesta enviada), sent_request (solicitud enviada), received_response (respuesta recibida), event (evento), exception (excepción).

  • message: Detalles del contenido que dan propósito al log.

  • metadata: [opcional] Si es necesario para tu aplicación, puedes incluir un objeto con metadatos sobre el log.

Tipos de logs reportados por los servicios

Servicio

Nivel

Tipo

Descripción

Servicio

Nivel

Tipo

Descripción

Todos

INFO

Información general

Registro de inicio del servicio

Todos

INFO

Trazabilidad de llamados

Registro de llamados a servicios

Todos

ERROR

Errores de validación

Registros de errores o problemas de validación de datos.

Todos

ERROR

Comunicación entre servicios

Registro de fallas en la comunicación entre servicios.

ffss-token-service

ERROR

Excepciones o errores

Registro de excepciones y errores encontrados durante operaciones de base de datos.

ffss-token-service

ERROR

Comunicación con base de datos

Registro de fallas en la comunicación con base de datos.

ffss-token-service

WARN

Autorizaciones no válidos

Registro de excepciones y errores referentes a validación de dispositivo o cuenta

ffss-token-service

WARN

Token no válido

Registro de excepciones y errores referentes a validación de TOTP

ffss-token-activation-service

ERROR

Comunicación con base de datos

Registro de fallas en la comunicación con base de datos.

ffss-hsm-adapter

ERROR

Comunicación con proveedores

Registro de fallas en comunicación con Cloud HSM

Reporte de métricas

Métricas de uso de servicios

Servicio

Tipo de Métrica

Variable

Objetivo

Servicio

Tipo de Métrica

Variable

Objetivo

ffss-token-aggregation-service

Tiempo de respuesta

tiempo

Medir el tiempo de respuesta del servicio para identificar posibles problemas de rendimiento.

ffss-token-aggregation-service

Tasa de solicitudes

contador

Contar la cantidad de solicitudes recibidas en un período de tiempo para monitorear la carga del servicio.

ffss-token-service

Duración de consultas a bases de datos

tiempo

Medir el tiempo que toman las consultas a bases de datos para identificar posibles cuellos de botella.

ffss-token-service

Enrolamientos exitosos

contador

Contar la cantidad de enrolamientos exitosos realizados

ffss-token-service

Validaciones de token rechazadas

contador

Contar la cantidad de validaciones de TOTP rechazadas

ffss-token-activation-service

Solicitudes de código de activación

tiempo

Contar el número de veces que se solicita el código de activación

ffss-token-activation-service

Enrolamientos

tiempo

Contar el número de veces que se usa el código de activación generado ara enrolar cuenta.

fss-hsm-adapter

Tasa de errores en HSM

contador

Contar la cantidad de errores o problemas al interactuar con Cloud HSM.

Métricas del negocio

Estas métricas no son generadas mediante los servicios aunque si determinan su capacidad y proyección.

Métrica

Descripción

Métrica

Descripción

Clientes activos

Determina el número de clientes que usan el token digital

Tasa de crecimiento de clientes

Permite proyectar el futuro aprovisionamiento de servicios

Número de transacciones

Permite proyectar el futuro consumo de servicios

https://fintechdigital.atlassian.net/browse/PALO-548