Antipatrón: Agrega información personalizada al esquema que es propiedad de Apigee en la base de datos de Postgres

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Las estadísticas de la API de Edge son una función integrada muy potente que proporciona Apigee Edge. Recopila y analiza un amplio espectro de datos que fluyen a través de las APIs. Los datos estadísticos capturados pueden proporcionar estadísticas muy útiles. Por ejemplo, ¿cuál es la tendencia del volumen de tráfico de la API durante un período? ¿Cuál es la API más usada? ¿Qué APIs tienen tasas de errores altas?

El análisis frecuente de estos datos y estadísticas se puede usar para tomar las medidas adecuadas, como la planificación de la capacidad futura de las APIs, según el uso actual, las decisiones empresariales y de inversión futuras, y muchas más.

Datos de Analytics y su almacenamiento

Las estadísticas de API capturan muchos tipos diferentes de datos, como los siguientes:

  • Información sobre una API: URI de solicitud, dirección IP de cliente, códigos de estado de respuesta, etcétera
  • Rendimiento del proxy de la API: Tasa de éxito/error, tiempo de procesamiento de solicitudes y respuestas, etcétera
  • Rendimiento del servidor de destino: Tasa de éxito o fracaso, tiempo de procesamiento
  • Información sobre errores: La cantidad de errores, el código de fallas, la política con fallas, la cantidad de Apigee y el servidor de destino causaron errores.
  • Otra información: cantidad de solicitudes realizadas por desarrolladores, apps de desarrolladores, etcétera

Todos estos datos se almacenan en un esquema analytics que Apigee Edge creó y administra dentro de una base de datos de Postgres.

Por lo general, en una instalación de vanilla Edge, Postgres tiene el siguiente esquema:

Edge usa el esquema llamado analytics para almacenar todos los datos de estadísticas de cada organización y entorno. Si se instala la monetización, habrá un esquema rkms. Otros esquemas están diseñados para los componentes internos de Postgres.

El esquema analytics seguirá cambiando, ya que Apigee Edge agregará nuevas tablas de hechos de forma dinámica en el entorno de ejecución. El componente del servidor de Postgres agregará los datos de hechos a las tablas conjuntas que se cargan y se muestran en la IU de Edge.

Antipatrón

No se recomienda agregar columnas, tablas o vistas personalizadas a cualquiera de los esquemas de Apigee de los entornos de base de datos Postgres en la nube privada directamente mediante consultas en SQL, ya que puede tener consecuencias adversas.

Analicemos un ejemplo para explicarlo en detalle.

Considera que se creó una tabla personalizada llamada account en el esquema de estadísticas, como se muestra a continuación:

Después de un tiempo, supongamos que debes actualizar Apigee Edge de una versión anterior a una superior. La actualización de Apigee Edge de Private Cloud implica actualizar Postgres entre muchos otros componentes. Si se agregan columnas, tablas o vistas personalizadas a la base de datos de Postgres, la actualización de Postgres falla con errores que hacen referencia a los objetos personalizados, ya que Apigee Edge no los crea. Por lo tanto, la actualización de Apigee Edge también falla y no se puede completar.

De manera similar, pueden ocurrir errores durante las actividades de mantenimiento de Apigee Edge, en las que se realizan copias de seguridad y restablecimientos de los componentes de Edge, incluida la base de datos de Postgres.

Impacto

  • La actualización de Apigee Edge no se puede completar porque la actualización del componente de Postgres falla con errores que hacen referencia a objetos personalizados que Apigee Edge no creó.
  • Inconsistencias (y fallas) mientras se realiza el mantenimiento del servicio de Apigee Analytics (copia de seguridad/restablecimiento).

Práctica recomendada

  • No agregues información personalizada en forma de columnas, tablas, vistas, funciones ni procedimientos directamente a ninguno de los esquemas que son propiedad de Apigee, como analytics, etcétera.
  • Si es necesario admitir información personalizada, se puede agregar como columnas (campos) mediante una política de Recopilador de estadísticas al esquema analytics.

Lecturas adicionales