El servidor de Postgres se queda sin espacio en el disco

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

Síntoma

El servidor de Postgres que contiene los datos de Analytics se quedó sin espacio en el disco.

En el siguiente ejemplo, puedes ver que el disco /u01 llenó el 90% (176 GB/207 GB) del espacio del disco.

$df -g

Filesystem Size User Avail Use% Mounted on
/dev/mapper/sysvg-syslv09 207G 176G 176G 21G 90% /u01

Mensajes de error

Es posible que no veas ningún mensaje de error, a menos que el espacio en el disco esté completamente lleno en el servidor de Postgres.

Causas posibles

En la siguiente tabla, se enumeran las posibles causas de este problema:

Causa Para
Espacio inadecuado en el disco Usuarios de la nube privada perimetral
Falta de reducción de datos de Analytics Usuarios de la nube privada perimetral

Espacio inadecuado en el disco

Diagnóstico

Una de las causas típicas de los errores de espacio en disco en los servidores de Postgres es que no tienes espacio adecuado en el disco para almacenar grandes volúmenes de datos de estadísticas. Los pasos que se indican a continuación te ayudarán a determinar si tienes suficiente espacio en el disco o no y a tomar las medidas adecuadas para solucionar el problema.

  1. Para determinar la tasa de tráfico de API entrante a Edge, consulta el panel de rendimiento del proxy de Analytics.

    Ejemplo del rendimiento del proxy que muestra el TPS promedio

  2. Considera la siguiente situación:
    1. El tráfico entrante de la API para tu organización es de 22 TPS (transacciones por segundo).
      1. Esto significa que el tráfico de la API es de 1,900,800 transacciones por día (22 * 60 * 60 * 24).
      2. Ten en cuenta que cada transacción o mensaje en Analytics tiene un tamaño de 1,500 bytes.
      3. Por lo tanto, cada día genera 2.7 GB de datos de Analytics (1,900,800 * 1.5 K).
    2. Debes retener 30 días de datos de Analytics en tus servidores de Postgres como referencia.
      1. El total de datos generados en 30 días = 81 GB (2.7 GB * 30)
    3. Por lo tanto, para almacenar 30 días de datos de Analytics con una tasa de tráfico de 22 TPS, debes tener 150 GB de espacio en disco.
      1. 81 GB (datos de Analytics) + 50 GB (otros datos, como registros, etc.) + 20 GB (espacio de búfer adicional) = 150 GB.
  3. Si tienes menos espacio en el disco en el sistema, es decir, menos de 150 GB (como se indica en el caso de ejemplo anterior), no tienes suficiente espacio en el disco para almacenar los datos de Analytics.

Resolución

Agrega espacio suficiente en el disco a la máquina del servidor de Postgres.

Falta de reducción de datos de Analytics

Diagnóstico

Con el aumento en el tráfico de la API a Edge, también aumentará la cantidad de datos de estadísticas que se almacenan en la base de datos de Postgres. La cantidad de datos de estadísticas que se pueden almacenar en la base de datos Postgres está limitada por la cantidad de espacio en disco disponible en el sistema.

Por lo tanto, no puedes seguir almacenando datos de estadísticas adicionales en la base de datos de Postgres sin realizar una de las siguientes acciones:

  1. Agrega más espacio en el disco.

    Esta no es una opción escalable, ya que no podemos seguir agregando más espacio en el disco debido a que es limitada y costosa.

  2. Reduce los datos más allá del intervalo de retención requerido.

    Esta es una solución preferida, ya que puedes asegurarte de que los datos que ya no se necesitan se quiten en intervalos regulares de tiempo.

Si no reduces los datos a intervalos regulares de forma manual o con un trabajo cron, la cantidad de datos de estadísticas aumenta de forma continua y, con el tiempo, puede hacer que te quedes sin espacio en el disco en el sistema.

Resolución

Para reducir los datos que superan el intervalo de retención requerido, haz lo siguiente:

  1. Determina el intervalo de retención, es decir, el tiempo durante el cual deseas conservar los datos de Analytics en la base de datos de Postgres.
  2. Ejecuta el siguiente comando para reducir los datos de una organización y un entorno específicos:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge
      org env number_of_days_to_retain [Delete-from-parent-fact - N/Y] [Skip-confirmation-prompt - N/Y]
    

La secuencia de comandos tiene las siguientes opciones:

  • Delete-from-parent-fact Predeterminado : No. También se borrarán los datos anteriores a los días de retención de la tabla de hechos superior.
  • Skip-confirmation-prompt. Predeterminado: No. Si la respuesta es no, la secuencia de comandos solicitará confirmación antes de borrar los datos del dato superior. Se establece en Sí si la secuencia de comandos que se borra definitivamente está automatizada.

Si deseas obtener más información, consulta Cómo reducir los datos de Analytics.

Si el problema persiste, comunícate con el equipo de asistencia de Apigee Edge.