Edge para la nube privada v. 4.17.09
Por lo general, en una configuración de producción, es necesario habilitar mecanismos de supervisión dentro de Apigee Edge para la implementación de nube privada. Estas técnicas de supervisión advierten a los administradores de red (o a los operadores) 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 para la supervisión.
Para facilitar la comprensión, los componentes de Apigee se clasifican principalmente en dos categorías:
- Servicios de servidor Java específicos de Apigee: Estos 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 PostgreSQL y Qpid.
En una implementación de Apigee Edge en las instalaciones, la siguiente tabla proporciona un resumen rápido de los parámetros que puedes supervisar:
Componente |
Comprobaciones del sistema |
Estadísticas a nivel del proceso |
Verificaciones a nivel de la API |
Verificaciones del flujo de mensajes |
Específico del componente |
|
---|---|---|---|---|---|---|
Servicios de Java específicos de Apigee |
Servidor de administración |
? |
? |
? |
||
Message Processor |
? |
? |
? |
? |
||
Servidor Qpid |
? |
? |
? |
|||
Servidor de Postgres |
? |
? |
? |
|||
Servicios de terceros |
Apache Cassandra |
? |
? |
|||
Apache ZooKeeper |
? |
? |
||||
OpenLDAP |
? |
? |
||||
Base de datos de PostgreSQL |
? |
? |
||||
Qpid |
? |
? |
||||
Nginx Router |
? |
? |
? |
En general, después de instalar Apigee Edge, puedes realizar las siguientes tareas de supervisión para realizar un seguimiento del rendimiento de una 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 la CPU, el uso de la memoria y la conectividad de los puertos, a un nivel superior. Puedes supervisar los siguientes parámetros para obtener información básica sobre el estado del sistema.
- Uso de CPU: Especifica las estadísticas básicas (espera de IO, inactivo, usuario o sistema) sobre el uso de CPU. Por ejemplo, la CPU total que usa el sistema.
- Memoria libre o usada: Especifica el uso de la memoria del sistema en bytes. Por ejemplo, la memoria física que usa el sistema.
- Uso del espacio en 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 de red o bytes transmitidos y recibidos, junto con los errores de transmisión sobre un componente específico.
Verificaciones de procesos/aplicaciones
En el nivel del proceso, puedes ver información importante sobre todos los procesos en ejecución. Por ejemplo, incluyen estadísticas de uso de memoria y CPU que utiliza un proceso o una aplicación. Para procesos como qpidd, postgres postmaster, java y más, puedes supervisar lo siguiente:
- Identificación de procesos: Identifica un proceso particular de Apigee. Por ejemplo, puedes supervisar la existencia de un proceso Java del servidor de Apigee.
- Estadísticas de subprocesos: Visualiza los patrones de subprocesos subyacentes que usa un proceso. Por ejemplo, puedes supervisar el recuento máximo de subprocesos y el recuento de subprocesos de 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 usa un proceso.
Verificaciones a nivel de la API
A 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 Apigee usa como proxy. Por ejemplo, puedes realizar una verificación de API en el servidor de administración, el router y el procesador de mensajes invocando el siguiente comando cURL:
curl http://<host>:<port>/v1/servers/self/up
En la que <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
- Message Processor: 8082
- etc.
Consulta las secciones individuales que se indican a continuación para obtener información sobre cómo ejecutar este comando para cada componente.
Esta llamada muestra los valores "true" y "false". Para obtener los mejores resultados, también puedes emitir llamadas a la API directamente en el backend (con el que interactúa el software de Apigee) para determinar con rapidez si existe un error en el entorno de software o en el backend de Apigee.
Nota: Para supervisar los proxies de tu API, también puedes usar API Health de Apigee. El estado de la API realiza llamadas programadas a tus proxies de API y te notifica cuándo fallan y cómo. Cuando las llamadas se realizan correctamente, API Health te muestra los tiempos de respuesta y puede incluso notificarte cuando la latencia de la respuesta es alta. API Health puede realizar llamadas desde diferentes ubicaciones de todo el mundo para comparar el comportamiento de la API entre regiones.
Verificaciones del flujo de mensajes
Puedes recopilar datos de los routers y los procesadores de mensajes sobre el patrón o las estadísticas del 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 los siguientes recursos:
- Cómo supervisar el Message Processor
- Descripción general de la versión beta del panel de supervisión de Apigee para el router
Verificación del 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 mensajes 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 para ver estos mensajes. Por ejemplo, si el router quita un procesador de mensajes de la rotación, escribe el mensaje en el registro de la siguiente forma:
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 procesador de mensajes.
Si, más adelante, el router realiza una verificación de estado y determina que el procesador de mensajes funciona correctamente, el router vuelve a colocarlo automáticamente en la rotación. El router también escribe un mensaje de “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