Qué supervisar

En general, en una configuración de producción, debes habilitar mecanismos de supervisión dentro de una implementación de Apigee Edge para la nube privada. Estas técnicas de supervisión advierten a los administradores (o operadores) de red sobre 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 supervisión.

Los componentes de Apigee se clasifican principalmente en dos categorías:

  • Servicios de servidor de 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 Nginx Router, Apache Cassandra, Apache ZooKeeper, SymasLDAP, la base de datos de PostgreSQL y Qpid.

En una implementación local de Apigee Edge, la siguiente tabla proporciona un vistazo rápido a los parámetros que puedes supervisar:

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

Servicios de Java específicos de Apigee

Servidor de administración

Message Processor

Servidor de Qpid

Servidor de Postgres

Servicios de terceros

Apache Cassandra

Apache ZooKeeper

SymasLDAP

Base de datos de PostgreSQL

Qpid

Router Nginx

En general, después de instalar Apigee Edge, puedes realizar las siguientes tareas de supervisión para hacer 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 la utilización de la CPU, la utilización de la memoria y la conectividad de los puertos, a 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/Espera de E/S/Inactivo) sobre el uso de la CPU. Por ejemplo, la CPU total que usa el sistema.
  • Memoria libre/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 ejecutarse.
  • Estadísticas de red: Paquetes o bytes de red transmitidos y recibidos, junto con los errores de transmisión sobre un componente específico.

Procesos o verificaciones de aplicaciones

A nivel del proceso, puedes ver información importante sobre todos los procesos que se están ejecutando. Por ejemplo, incluyen estadísticas de uso de memoria y CPU que utiliza un proceso o una aplicación. Para procesos como Qpid, Postgres Postmaster, Java, etcétera, puedes supervisar lo siguiente:

  • Identificación del proceso: Identifica un proceso de Apigee en particular. Por ejemplo, puedes supervisar la existencia de un proceso de Java del servidor de Apigee.
  • Estadísticas de subprocesos: Consulta los patrones de subprocesos subyacentes que usa un proceso. Por ejemplo, puedes supervisar el recuento máximo de subprocesos y el recuento de subprocesos para todos los procesos.
  • Utilización de memoria: Consulta 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 fuera del montón que utiliza un proceso.

Verificaciones a nivel de la API

A nivel de la API, puedes supervisar si un servidor está en funcionamiento para las llamadas a la API que Apigee usa con frecuencia. Por ejemplo, puedes realizar una verificación de la API en el servidor de administración, el router y el procesador de mensajes invocando el siguiente comando de curl:

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

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

Servidor de administración: 8080

  • Router: 8081
  • Message Processor: 8082
  • etc.

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

Esta llamada devuelve "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 rápidamente si existe un error en el entorno del software de Apigee o en el backend.

Verificaciones del flujo de mensajes

Puedes recopilar datos de los routers y los procesadores de mensajes sobre las estadísticas y los patrones 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 Message Processors funcionan según lo esperado. Si se detecta que un procesador de mensajes está inactivo o lento, el enrutador 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 un 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

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

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 poner automáticamente el procesador de mensajes en rotación. El enrutador 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