Transformando Plugins de Log para Mejorar la Observabilidad

Yong Qian

February 24, 2023

Technology

Hoy en día, los registros son cruciales en las puertas de enlace de API, especialmente para la detección de fallos y la resolución de problemas, lo que ahorra costos de operación y mantenimiento. Los registros de la puerta de enlace de API también tienen un gran valor en la recopilación de datos. Para mejorar la observabilidad y la estabilidad del sistema, la puerta de enlace de API de código abierto Apache APISIX admite muchos complementos de registro, como elasticsearch-logger, kafka-logger, loggly y error-log-logger.

El valor de los registros de la puerta de enlace

A medida que los negocios crecen rápidamente en la era digital, las arquitecturas de software se vuelven cada vez más complejas, lo que hace que la detección y el diagnóstico de fallos sean mucho más desafiantes. Nuevamente, esto subraya la importancia de la observabilidad del software.

Los registros son uno de los tres pilares de la observabilidad. Proporcionan a los administradores de sistemas y desarrolladores información sobre el estado operativo de un sistema, lo que facilita la identificación y resolución oportuna de problemas.

Además, los registros pueden servir para otros propósitos, como la minería de datos, la auditoría y el monitoreo de seguridad, ayudando a mantener el cumplimiento y la seguridad del sistema.

Una puerta de enlace de API conecta la aplicación con el mundo exterior, permitiendo a las organizaciones gestionar y monitorear mejor las llamadas a la API, incluyendo la función crítica de registrar los registros de llamadas a la API.

Registro de la Puerta de Enlace de API

Analizaremos el valor de los registros de la puerta de enlace de API desde dos perspectivas en las siguientes secciones.

El valor de la operación y mantenimiento

Ya sea en la operación y mantenimiento de sistemas tradicionales o en la moderna Ingeniería de Confiabilidad del Sitio (SRE), descubrir y corregir fallos siempre es la máxima prioridad para garantizar la estabilidad del sistema. Esto se debe a que cada segundo de inactividad puede causar pérdidas significativas en los negocios y dañar la experiencia del usuario en cualquier negocio en línea grande.

La puerta de enlace de API está en la primera línea de todo el sistema y puede actuar como un "centinela". Podemos extraer una gran cantidad de datos críticos de sus registros de acceso, lo cual es crucial para el sistema de operación y mantenimiento:

  • Analizar los códigos de estado de los servicios ascendentes y descendentes para monitorear la disponibilidad del sitio web y la disponibilidad de servicios ascendentes específicos.
  • Usar los registros de acceso para monitorear el tráfico del sitio web y detectar rápidamente ataques como DDoS.
  • Analizar las tendencias de tráfico para proporcionar una referencia para escalar los sistemas de negocio hacia arriba o hacia abajo.
  • Rastrear los tiempos de procesamiento de las solicitudes para generar informes de rendimiento a nivel de interfaz como referencia de datos para optimizar el rendimiento del sistema de negocio.

Las anteriores son algunas de las mejores prácticas para los registros de la puerta de enlace de API que son ampliamente adoptadas en la industria e implementadas en los sistemas de operación y mantenimiento de muchas empresas.

El valor comercial

En comparación con el valor operativo ampliamente reconocido, el valor comercial de los registros de la puerta de enlace a menudo se pasa por alto.

Por ejemplo, en el análisis del comportamiento del usuario, la codificación es la forma más común de recopilar datos a través del seguimiento de eventos en los programas. Sin embargo, para una API bien diseñada, los registros de la puerta de enlace pueden cumplir naturalmente con tales requisitos. Como resultado, podemos hacer muchas cosas como:

  • Analizar la IP del cliente para determinar la distribución geográfica del tráfico.
  • Analizar el HTTP Referer para comprender la fuente de acceso del usuario a cada página.
  • Podemos obtener directamente indicadores comerciales críticos para las estadísticas agregadas de las API clave. Por ejemplo, al contar las llamadas exitosas de las API para el registro de usuarios y la colocación de pedidos, podemos obtener el número de nuevos usuarios y pedidos dentro de un período especificado.

Por supuesto, los registros de la puerta de enlace son menos flexibles que el seguimiento de eventos y no pueden cumplir con los requisitos personalizados de recopilación de datos; sin embargo, tienen suficiente valor comercial para satisfacer las necesidades básicas de minería de datos.

Apache APISIX es una puerta de enlace de API nativa de la nube dinámica, en tiempo real y de alto rendimiento que proporciona funciones ricas de gestión de tráfico, como equilibrio de carga, servicio ascendente dinámico, lanzamiento canario, interrupción de circuito, autenticación de identidad y observabilidad.

Muchas de sus capacidades se proporcionan a través de complementos, incluyendo docenas de complementos de registro. A continuación, se utilizará el complemento de registro típico en APISIX como ejemplo para explicar cómo integrar los registros de la puerta de enlace con un sistema de análisis de registros para desbloquear más valor.

Introducción a los complementos de registro típicos de APISIX

elasticsearch-logger

Elastic Search y Apache APISIX

Elastic Search es un motor de búsqueda y análisis distribuido de código abierto utilizado para procesar grandes cantidades de datos y es altamente reconocido en el análisis de registros. Su panel de datos complementario Kibana puede personalizar fácilmente varios gráficos estadísticos para satisfacer las necesidades de la organización para el análisis visual de consultas.

En aplicaciones prácticas, dado que la mayoría de los registros de software tradicionales se guardan en archivos locales, un proyecto en el ecosistema de Elastic Search llamado Filebeat se utiliza para monitorear archivos de registro en máquinas locales y enviar registros incrementales al servidor de Elastic Search.

Sin embargo, el complemento elasticsearch-logger proporcionado por APISIX puede enviar directamente los registros de acceso de APISIX al servidor de Elastic Search, lo que podría proporcionar varios beneficios:

  • No es necesario desplegar el componente Filebeat, lo que resulta en una cadena de procesamiento más corta y un menor uso de recursos de computación.
  • Los registros no se almacenan en disco, por lo que no hay que preocuparse por el uso del espacio en disco. Sin embargo, los registros de acceso pueden ser enormes en volumen, y si la rotación de archivos no se maneja correctamente, puede llenar rápidamente el disco de la máquina y causar fallos. Además, interactuar con el disco también puede reducir el rendimiento de la puerta de enlace.

kafka-logger

Los registros de acceso de la puerta de enlace tienen una característica prominente: el volumen de datos de registro es proporcional al volumen de solicitudes de negocio: cuantas más solicitudes, más registros.

Los negocios en línea suelen exhibir patrones periódicos en el volumen de solicitudes. Por ejemplo, las plataformas de entrega de comida tienden a experimentar un alto tráfico durante las horas de comida, mientras que los sitios de video experimentan picos durante las horas posteriores al trabajo.

Esto presenta un desafío significativo para los sistemas de almacenamiento de registros, y garantizar que el sistema pueda funcionar adecuadamente durante los picos de tráfico es una habilidad crucial para cada administrador de ElasticSearch.

Apache APISIX y Kafka

Una cola de mensajes es la mejor herramienta para equilibrar el tráfico. Introducir una cola de mensajes entre la puerta de enlace y el sistema de almacenamiento para proporcionar un búfer de registros reducirá significativamente la presión sobre el sistema de almacenamiento durante los períodos de tráfico máximo.

Para este propósito, APISIX proporciona kafka-logger, que entrega los registros de acceso a los servidores de Kafka, evitando el impacto directo en el almacenamiento de registros.

loggly

En los últimos años, el concepto de [SaaS (Software como servicio)] (https://en.wikipedia.org/wiki/Software_as_a_service) ha ganado popularidad gradualmente, siendo favorecido por muchas pequeñas y medianas empresas por su bajo umbral de entrada y su modelo de precios de pago por uso. En el campo del análisis de registros, han surgido muchos productos SaaS, y loggly se ha convertido en un líder con sus ricas fuentes de registros y capacidades de análisis.

En este contexto, la comunidad activa de APISIX ha desarrollado complementos listos para usar de Loggly, que solo requieren configurar la información de credenciales para enviar directamente los registros de acceso de APISIX al servicio de Loggly, lo que lo hace altamente conveniente de usar.

Al igual que el complemento Loggly, APISIX también proporciona google-cloud-logging, sls-logger y tencent-cloud-cls, que pueden integrarse fácilmente con los servicios de registro de los principales proveedores de la nube.

Apache APISIX Log SaaS

error-log-logger

Los complementos presentados anteriormente se utilizan para recopilar registros de acceso. Sin embargo, hay otro tipo de registro en APISIX, a saber, el registro de errores (error.log), que es crítico para diagnosticar fallos en la puerta de enlace.

Por lo tanto, APISIX proporciona el complemento error-log-logger para enviar registros de errores a un servidor remoto para su almacenamiento y análisis. En la práctica, la configuración del nivel de registro de APISIX se puede utilizar para imprimir más registros de nivel de depuración o información, que contienen registros más detallados del estado operativo de la puerta de enlace. Al usar estos registros, podríamos localizar la mayoría de los problemas.

Resumen

Los registros de la puerta de enlace contienen un enorme valor, y podemos ver a partir de los abundantes complementos de registro en el proyecto Apache APISIX que los usuarios empresariales en la comunidad reconocen el valor de los registros de la puerta de enlace. Además, estos complementos reducen aún más el costo de configurar un sistema de registro para nuevos usuarios.

Además, APISIX tiene otros dos tipos de complementos de observabilidad: métricas y trazabilidad. Combinados con los complementos de registro, mejorarán aún más la observabilidad de la puerta de enlace y ayudarán a construir la estabilidad del sistema.

Tags: