Qué supervisar

Edge para la nube privada v. 4.16.09

Por lo general, en una configuración de producción, es necesario habilitar los 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 la 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.

Para facilitar el proceso, 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, base de datos de 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 de proceso

Verificaciones a nivel de la API

Verificaciones 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 de 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 la CPU, el uso de la memoria y la conectividad de los puertos, a 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 (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 basada en el uso actual del disco. Por ejemplo, el espacio en el disco duro que usa el sistema.
  • Carga promedio: especifica el número de procesos que esperan para cuando se ejecute.
  • Estadísticas de red: Son los paquetes o bytes de red que se transmiten y reciben, junto con los errores de transmisión de un componente específico.

Verificaciones de procesos o 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 qpidd, postgres postmaster, java, etcétera, puedes supervisar lo siguiente:

  • Identificación de procesos: Identifica un proceso de Apigee en particular. Por ejemplo: puede 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 de todos los procesos.
  • Uso 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 que no es del montón que se usa por 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. 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

Donde &lt;host&gt; es la IP del componente de Apigee Edge. El puerto <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.

Nota: Para supervisar los proxies de tu API, también puedes usar API Health de Apigee. El estado de la API hace que las llamadas programadas a los proxies de tu API y te notifica cuando fallan y cómo. Cuando las llamadas se realizan correctamente, El estado de la API te muestra los tiempos de respuesta y hasta puede notificarte cuando la latencia de respuesta es alta. API Health puede realizar llamadas desde diferentes ubicaciones en todo el mundo para comparar el comportamiento de las APIs entre regiones.

Verificaciones del flujo de mensajes

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

Verificación de estado del router del 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 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 /<inst root>/apigee4/var/log/apigee/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 /&lt;MP_IP&gt;:&lt;PORT&gt; es la dirección IP y el número de puerto de 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 colocarlo automáticamente en la rotación. 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

Para configurar el router a fin de realizar la verificación de estado, establece la siguiente propiedad en true en /<inst root&gt;/apigee4/conf/apigee/router/router.properties:

Client.pool.heartBeat.use.http=true

Luego, reinicia el router:

> /<inst-root>/apigee4/bin/apigee-service router restart