Серверу Postgres не хватает места на диске

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Симптом

На сервере Postgres, содержащем данные Analytics, недостаточно места на диске.

В следующем примере вы можете видеть, что диск /u01 заполнил 90% (176 ГБ/207 ГБ) дискового пространства.

$df -g

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

Сообщения об ошибках

Вы не увидите никаких сообщений об ошибках, если дисковое пространство на сервере Postgres не будет полностью заполнено.

Возможные причины

В следующей таблице перечислены возможные причины этой проблемы:

Причина Для
Недостаточно места на диске Пользователи Edge Private Cloud
Отсутствие обрезки данных Google Analytics. Пользователи Edge Private Cloud

Недостаточно места на диске

Диагностика

Одной из типичных причин ошибок дискового пространства на серверах Postgres является отсутствие достаточного дискового пространства для хранения больших объемов аналитических данных. Приведенные ниже шаги помогут вам определить, достаточно ли у вас места на диске, и принять соответствующие меры для решения проблемы.

  1. Определите скорость входящего трафика API в Edge, обратившись к панели мониторинга производительности прокси-сервера Analytics.

    Пример производительности прокси, показывающий средний показатель TPS

  2. Рассмотрим следующий сценарий:
    1. Входящий трафик API для вашей организации составляет 22 TPS (транзакций в секунду).
      1. Это означает, что трафик API составляет 1 900 800 транзакций в день (22*60*60*24).
      2. Обратите внимание, что каждая транзакция/сообщение в Analytics имеет размер 1,5 КБ.
      3. Таким образом, каждый день генерируется 2,7 ГБ данных Analytics (1 900 800 * 1,5 КБ).
    2. У вас есть требование хранить данные аналитики за 30 дней на ваших серверах Postgres для справки.
      1. Общий объем данных, сгенерированных за 30 дней = 81 ГБ (2,7 ГБ * 30).
    3. Таким образом, чтобы хранить данные Analytics за 30 дней при скорости трафика 22 TPS, вам необходимо иметь 150 ГБ дискового пространства.
      1. 81 ГБ (данные аналитики) + 50 ГБ (другие данные, например журналы и т. д.) + 20 ГБ (дополнительное буферное пространство) = 150 ГБ.
  3. Если у вас меньше дискового пространства в системе, т. е. менее 150 ГБ (как в примере выше), то у вас недостаточно места на диске для хранения данных Analytics.

Разрешение

Добавьте достаточное дисковое пространство на компьютер с сервером Postgres.

Отсутствие обрезки данных Google Analytics.

Диагностика

С увеличением трафика API в Edge также увеличится объем аналитических данных, хранящихся в базе данных Postgres. Объем аналитических данных, которые могут храниться в базе данных Postgres, ограничен объемом доступного дискового пространства в системе.

Таким образом, вы не можете продолжать хранить дополнительные аналитические данные в базе данных Postgres, не выполнив одно из следующих действий:

  1. Добавьте больше дискового пространства.

    Это не масштабируемый вариант, поскольку мы не можем продолжать добавлять больше дискового пространства, поскольку оно ограничено и дорого.

  2. Сократите данные за пределы требуемого интервала хранения.

    Это предпочтительное решение, поскольку вы можете гарантировать, что данные, которые больше не нужны, будут удаляться через регулярные промежутки времени.

Если вы не удаляете данные через регулярные промежутки времени вручную или с помощью задания cron, объем аналитических данных постоянно увеличивается и в конечном итоге может привести к нехватке дискового пространства в системе.

Разрешение

Чтобы удалить данные, выходящие за рамки требуемого интервала хранения:

  1. Определите интервал хранения, то есть продолжительность, в течение которой вы хотите хранить данные Analytics в базе данных Postgres.
  2. Запустите следующую команду, чтобы сократить данные для конкретной организации и среды:
    /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]
    

Скрипт имеет следующие возможности:

  • Delete-from-parent-fact По умолчанию: Нет. Также будут удалены данные старше дней хранения из родительской таблицы фактов.
  • Skip-confirmation-prompt . По умолчанию: Нет. Если «Нет», сценарий запросит подтверждение перед удалением данных из родительского факта. Установите значение «Да», если сценарий очистки автоматизирован.

Дополнительную информацию см. в разделе Данные Pruning Analytics .

Если проблема не устранена, обратитесь в службу поддержки Apigee Edge .