Qué supervisar

Generalmente, en una configuración de producción, debes habilitar mecanismos de supervisión dentro de Apigee Edge para la implementación de nubes privadas Estas técnicas de supervisión advierten a los administradores (u operadores) de un error o una falla. Cada error generado se informa como un alerta en Apigee Edge. Para obtener más información sobre las alertas, consulta Prácticas recomendadas para la supervisión.

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

  • Servicios del servidor Java específicos de Apigee: Estos incluyen administración Server, Message Processor, Qpid Server y Postgres Server.
  • Servicios de terceros: Entre ellos, se incluyen el router Nginx, Apache Cassandra, Apache ZooKeeper, OpenLDAP, base de datos de PostgreSQL y Qpid.

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

Componente Comprobaciones del sistema Estadísticas a nivel de proceso Verificaciones a nivel de la API Comprobaciones de 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

Router Nginx

En general, después de instalar Apigee Edge, puedes realizar la siguiente supervisión tareas 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 CPU, y la conectividad de puertos en un nivel superior. Puedes supervisar los siguientes parámetros para para obtener los conceptos básicos del estado del sistema.

  • Uso de CPU: Especifica las estadísticas básicas (usuario, sistema, E/S). espera/inactivo) sobre el uso de CPU. Por ejemplo, la CPU total que usa el sistema.
  • Memoria libre/usada: Especifica el uso de 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 en espera 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 que se en ejecución. Por ejemplo, se incluyen las estadísticas de uso de CPU y memoria que un proceso o que usa. Para procesos como Qpid, Postgres Postmaster, Java, etc., puedes supervisar el lo siguiente:

  • Identificación de procesos: Identifica un proceso particular de Apigee. Por ejemplo: puedes supervisar la existencia de un proceso de Java del servidor de Apigee.
  • Estadísticas de subprocesos: Visualiza los patrones de subprocesos subyacentes que procesa un que la API usa. 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 que no es del montón que se usa por un proceso.

Verificaciones a nivel de la API

En el nivel de la API, puedes supervisar si un servidor está en funcionamiento para las APIs que se usan con frecuencia con proxy por proxy. Puede realizar una verificación de API en el servidor de administración, el router y Message Processor invocando el siguiente comando curl:

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

En el ejemplo anterior, host es la dirección IP del componente de Apigee Edge. El port es específico de cada componente de Edge. Por ejemplo:

Servidor de administración: 8080

  • Router: 8081
  • Procesador de mensajes: 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 el valor "true" y "false". Para obtener mejores resultados, también puedes realizar 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 de software de Apigee o en el backend.

Verificaciones del flujo de mensajes

Puedes recopilar datos de routers y procesadores de mensajes sobre el flujo de mensajes. patrón/estadísticas. 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 de Message Processor

El router implementa un mecanismo de verificación de estado para determinar cuál de los procesadores de mensajes. funcionan como se espera. Si se detecta que un Message Processor está inactivo o es lento, el router puede automáticamente el Message Processor fuera de rotación. Si eso sucede, el router escribe un "Mark Down" mensajes al 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 toma un Message Processor fuera 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

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

Si más tarde, el router realiza una verificación de estado y determina que Message Processor funcionen de forma correcta, el router vuelve a poner en rotación automáticamente el Message Processor. El El router también escribe una etiqueta mensaje al registro en el formulario:

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