Qué supervisar

Edge para la nube privada v4.18.05

Por lo general, en una configuración de producción, hay una necesidad de habilitar mecanismos de supervisión dentro de una implementación de Apigee Edge para nube privada. Estas técnicas de supervisión advierten a los administradores (o bien) de la red de un error o una falla. Cada error generado se informa como una alerta en Apigee Edge. Para obtener más información sobre las alertas, consulta Prácticas recomendadas de Monitoring.

Para facilitar el proceso, los componentes de Apigee se clasifican principalmente en las siguientes dos categorías:

  • Servicios del servidor Java específicos de Apigee: incluyen el servidor de administración, el procesador de mensajes, el servidor Qpid y el servidor Postgres.
  • Servicios de terceros: incluyen el router Nginx, Apache Cassandra, Apache ZooKeeper, OpenLDAP, la base de datos de PostgreSQL y Qpid.

En una implementación local de Apigee Edge, en la siguiente tabla, se proporciona una vista rápida de los parámetros que puedes supervisar:

Componente Verificaciones del sistema Estadísticas a nivel de proceso Verificaciones de nivel de API Verificaciones de flujo de mensajes Específico de cada componente

Servicios de Java específicos de Apigee

Servidor de administración

Procesador de mensajes

Servidor Qpid

Servidor Postgres

Servicios de terceros

Apache Cassandra

Apache ZooKeeper

OpenLDAP

Base de datos de PostgreSQL

LPD

Router Nginx

En general, después de la instalación de Apigee Edge, puedes realizar las siguientes tareas de supervisión para realizar un seguimiento del rendimiento de la instalación de Apigee Edge para la nube privada.

Verificaciones de estado del sistema

Es muy importante medir los parámetros de estado del sistema, como el uso de CPU, el uso de memoria y la conectividad de puertos en un nivel superior. Puedes supervisar los siguientes parámetros para conocer los conceptos básicos del estado del sistema.

  • Uso de CPU: Especifica las estadísticas básicas (usuario/sistema/e/s espera/inactividad) sobre el uso de CPU. Por ejemplo, la CPU total que usa el sistema.
  • Memoria libre/usada: especifica el uso de memoria del sistema como bytes. Por ejemplo, la memoria física que usa el sistema.
  • Uso del espacio en el disco: Especifica la información del sistema de archivos según el uso actual del disco. Por ejemplo, el espacio en el disco duro que usa el sistema.
  • Carga promedio: Especifica la cantidad de procesos que esperan para ejecutarse.
  • Estadísticas de red: Paquetes o bytes de red transmitidos y recibidos, junto con los errores de transmisión de un componente específico.

Verificaciones de procesos o aplicaciones

En el nivel del proceso, puedes ver información importante sobre todos los procesos en ejecución. Por ejemplo, incluyen las estadísticas de uso de memoria y CPU que utiliza un proceso o una aplicación. Para procesos como qpidd, postgres postmaster, Java, etc., puedes supervisar lo siguiente:

  • Identificación de procesos: Identifica un proceso de Apigee en particular. Por ejemplo, puedes supervisar la existencia de un proceso Java del servidor de Apigee.
  • Estadísticas de subprocesos: Observa los patrones de subprocesos subyacentes que usa un proceso. Por ejemplo, puedes supervisar el recuento máximo de subprocesos, el recuento de subprocesos para todos los procesos.
  • Uso de memoria: Visualiza el uso de memoria de todos los procesos de Apigee. Por ejemplo, puedes supervisar parámetros como el uso de memoria del montón y el uso de memoria no del montón que utiliza un proceso.

Verificaciones a nivel de la API

En el nivel de la API, puedes supervisar si el servidor está en funcionamiento para las llamadas a la API que se usan con frecuencia y que se envían mediante proxy. Por ejemplo, puedes realizar una verificación de API en el servidor de administración, el router y el procesador de mensajes si invocas el siguiente comando cURL:

curl http://host:port/v1/servers/self/up

Donde host es la dirección IP del componente de Apigee Edge. El número de port es específico de cada componente de Edge. Por ejemplo:

Servidor de administración: 8080

  • Router: 8081
  • Procesador de mensajes: 8082
  • etcétera

Consulta las secciones individuales a continuación si deseas obtener información sobre cómo ejecutar este comando para cada componente

Esta llamada muestra los valores "true" y "false". Para obtener mejores resultados, también puedes emitir llamadas a la API directamente en el backend (con el que interactúa el software de Apigee) a fin de determinar con rapidez si existe un error en el entorno de software de Apigee o en el backend.

Verificaciones del flujo de mensajes

Puedes recopilar datos de los routers y procesadores de mensajes sobre las estadísticas y el patrón de flujo de mensajes. Esto te permite supervisar lo siguiente:

  • Cantidad de clientes activos
  • Cantidad de respuestas (10X, 20X, 30X, 40X y 50X)
  • Fallas de conexión

Esto te ayuda a proporcionar paneles para el flujo de mensajes de la API. Para obtener más información, consulta Cómo supervisar.

Verificación de estado del router del Message Processor

El router implementa un mecanismo de verificación de estado para determinar cuáles de los procesadores de mensajes funcionan según lo esperado. Si se detecta que un procesador de mensajes está inactivo o lento, el router puede quitarlo automáticamente de la rotación. Si eso sucede, el router escribe un mensaje de "Mark Down" en el archivo de registro del router en /opt/apigee/var/log/edge-router/logs/system.log.

Puedes supervisar el archivo de registro del router en busca de estos mensajes. Por ejemplo, si el router quita un procesador de mensajes de su rotación, escribe el mensaje en el registro con el siguiente formato:

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = MP_IP at 1399409512159
2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /MP_IP:PORT Mark Down

Donde MP_IP:PORT es la dirección IP y el número de puerto del Message Processor.

Si luego el router realiza una verificación de estado y determina que Message Processor funciona correctamente, el router vuelve a poner automáticamente el Message Processor en la rotación. El router también escribe un mensaje "Mark Up" en el registro con el siguiente formato:

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = IP at 1399410449054
2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from IP:PORT Mark Up