Перейти к содержимому

Архивация и удаление старых CDR

Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию

Записей о звонках с каждым днём становится больше, а база данных, переполненная старыми CDR, замедляет отчёты и заполняет диск. Настройки Data Retention (хранение данных) переносят старые CDR из базы данных в архивные файлы, а позже удаляют архивы. В этом руководстве вы задаёте периоды для своего коммутатора. Рассчитывайте примерно на 10 минут.

На странице используются два термина:

  • Архивация: CDR удаляются из базы данных и сохраняются в сжатом архивном файле на коммутаторе.
  • Удаление: архивный файл удаляется навсегда.
  • У вас есть доступ Administrator (администратор) к панели. Настройки применяются к среде, в которую вы вошли.
  • Вы знаете, как долго должны хранить записи о звонках, например для споров по счетам или по закону.
  • Вы знаете, как долго CDR нужны вам в панели и в отчётах. Архивированные CDR там больше не показываются.

Есть четыре периода для CDR. Каждый можно задать от 1 day до 5 years.

Поле К чему применяется По умолчанию
Archive All CDRs in (архивировать все CDR через) Все CDR, с длительностью или без неё 3 months
Archive Zero CDRs in (архивировать нулевые CDR через) CDR с нулевой длительностью: неудачные и неотвеченные звонки 3 months
Purge All CDRs in (удалять все CDR через) Архивные файлы всех CDR 2 years
Purge Zero CDRs in (удалять нулевые CDR через) Архивные файлы CDR с нулевой длительностью 2 years

CDR с нулевой длительностью составляют большинство записей на оптовом коммутаторе и редко нужны уже через несколько недель, поэтому их обычно архивируют и удаляют раньше остальных.

При сохранении панель проверяет три правила:

  • Purge All CDRs in не может быть короче Archive All CDRs in.
  • Purge Zero CDRs in не может быть короче Archive Zero CDRs in.
  • Purge All CDRs in не может быть короче Purge Zero CDRs in.
  1. Откройте System Management → System Parameters (системные параметры).
  2. Нажмите Backup, Data Retention (резервное копирование, хранение данных).
  3. В разделе Data Retention выберите четыре периода для CDR.
  4. Нажмите Save (сохранить).
Screenshot "tutorials/backup-data-retention" has not been generated yet — see scripts/screenshots/screens.yml.

Результат: начиная со следующего ежечасного запуска очистки, CDR старше периодов архивации покидают базу данных.

Например, если Archive All CDRs in равно 6 months, Archive Zero CDRs in - 1 month, Purge All CDRs in - 2 years, а Purge Zero CDRs in - 1 year:

Возраст звонка CDR с нулевой длительностью CDR с длительностью
До 1 месяца В базе данных В базе данных
От 1 до 6 месяцев В архивном файле В базе данных
От 6 месяцев до 1 года В архивном файле В архивном файле
От 1 до 2 лет Удалён В архивном файле
Более 2 лет Удалён Удалён

Коммутатор хранит CDR блоками по времени и архивирует целый блок сразу, поэтому запись может оставаться в базе данных немного дольше заданного периода.

Тот же раздел удаляет и другие старые данные:

Поле Что удаляется По умолчанию
Purge Old Rates in (удалять старые ставки через) Ставки тарифов, дата окончания действия которых старше периода, раз в день 6 months
Purge Old Routes in (удалять старые маршруты через) Маршруты маршрутов терминации, дата окончания действия которых старше периода, раз в день 6 months
Purge Old Invoices in (удалять старые счета-фактуры через) Счета-фактуры старше периода, от 1 month до 5 years 1 year

Задания перерасчёта на Tools & Debugs → Rerate CDRs (перерасчёт CDR) также удаляются по истечении периода Purge All CDRs in.

Архивные файлы хранятся в /var/backups/env<N>/ на коммутаторе, где <N> - номер среды, рядом с резервными копиями базы данных. Каждый файл называется archive-<table>-<YYYYMMDD>.sql.bz2: это SQL-дамп одного блока CDR, сжатый bzip2 и датированный самым новым звонком в нём. Обратитесь в поддержку FlySIP, если архивированные CDR нужно загрузить обратно в базу данных.

  1. Откройте Reports → Call Records (CDRs) (записи о звонках) и выберите период старше Archive All CDRs in.
  2. Убедитесь, что список за этот период пуст.
  3. Выберите недавний период и убедитесь, что CDR на месте.