Как включить ротацию журналов для edge-message-processor.log

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

Ротация журналов – это процесс, при котором несколько файлов журналов поочередно используются и выводятся из использования. Она упрощает администрирование систем, которые генерируют большое количество файлов журналов. Ротация журналов позволяет автоматически выполнять ротацию, сжатие, удаление и отправку файлов журналов.

В Edge для частного облака некоторые основные файлы журналов для каждого компонента apigee настроены с механизмом ротации по умолчанию. Например, в компоненте Message Processor следующие файлы настроены с механизмом ротации по умолчанию с помощью logback:

  • /opt/apigee/var/log/edge-message-processor/logs/system.log
  • /opt/apigee/var/log/edge-message-processor/logs/events.log
  • /opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
  • /opt/apigee/var/log/edge-message-processor/logs/configurations.log
  • /opt/apigee/var/log/edge-message-processor/logs/transactions.log

Аналогичные файлы существуют и для других компонентов edge-* (их названия начинаются с edge-), например edge-management-server, edge-router, edge-postgres-server и edge-qpid-server.

Каждый из этих компонентов edge-* также создает дополнительный файл журнала, который представляет собой перенаправленный вывод консоли соответствующего компонента. В случае с компонентом Message Processor этот файл называется /opt/apigee/var/log/edge-message-processor/edge-message-processor.log. Другие компоненты edge-* создают похожие файлы. Эти файлы не ротируются библиотекой logback, а используют logrotate и crontab.

Подготовка

Как включить ротацию журналов

Этот раздел относится к Edge для частного облака версий 4.50.00 и 4.51.00.

Ротация журналов – это механизм, предназначенный для упрощения администрирования систем, которые генерируют большое количество файлов журналов. Он позволяет автоматически выполнять ротацию, сжатие, удаление и отправку по электронной почте файлов журналов.

По умолчанию некоторые основные файлы журналов в каждом из компонентов apigee настроены с механизмом ротации по умолчанию. Например, в компоненте Message Processor следующие файлы настроены с механизмом ротации по умолчанию:

  • /opt/apigee/var/log/edge-message-processor/logs/system.log
  • /opt/apigee/var/log/edge-message-processor/logs/events.log
  • /opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
  • /opt/apigee/var/log/edge-message-processor/logs/configurations.log
  • /opt/apigee/var/log/edge-message-processor/logs/transactions.log

Однако другие файлы журналов в компонентах apigee не настроены на ротацию по умолчанию. Например, по умолчанию ротация журналов не настроена в файле edge-message-processor.log компонента Message Processor apigee.

Ротацию журналов можно включить с помощью различных утилит или фреймворков, например logrotate, logback или log4j. В этом разделе рассказывается, как настроить ротацию журналов для файла /opt/apigee/var/log/edge-message-processor/edge-message-processor.log с помощью logrotate и crontab.

Как включить ротацию журналов для edge-message-processor.log на процессорах сообщений

В этом разделе рассказывается, как включить ротацию журналов для журналов /opt/apigee/var/log/edge-message- processor/edge-message-processor.log на процессорах сообщений Edge.

Ниже описано, как включить ротацию журналов для файла edge-message-processor.log:

  1. Откройте файл /opt/apigee/edge-message-processor/logrotate/logrotate.conf на компьютере Message Processor в редакторе. Если файла нет, создайте его. Пример:
    vi /opt/apigee/edge-message-processor/logrotate/logrotate.conf
    
  2. Добавьте в файл фрагмент кода, похожий на приведенный ниже:
    /opt/apigee/var/log/edge-message-processor/edge-message-processor.log {
        missingok
        copytruncate
        rotate 5
        size 10M
        compress
        delaycompress
        notifempty
        nocreate
        sharedscripts
        }
  3. Сохраните изменения.
  4. Откройте crontab пользователя apigee, используя следующую команду:
    sudo crontab -u apigee -e
    
  5. Добавьте следующую задачу cron в файл crontab пользователя apigee :
    0 0 * * * nice -n 19 ionice -c3 /usr/sbin/logrotate -s /opt/apigee/var/run/edge-message-processor/logrotate.status -f /opt/apigee/edge-message-processor/logrotate/logrotate.conf
  6. Сохраните файл crontab и отслеживайте ротацию журналов во время следующего выполнения задания cron.

Проверка ротации журналов для edge-message-processor.log в процессоре сообщений

  1. После выполнения запланированного задания cron файл журнала будет повернут. В приведенном выше примере задание cron запланировано на 00:00 каждый день для ротации файла edge-message- processor.log.
  2. Перейдите в каталог /opt/apigee/var/log/edge-message-processor/ и убедитесь, что файл edge-message-processor.log повернут.

    Пример списка файлов журнала

    ls -ltrh | grep 'edge-message-processor'
    
    -rw-r--r--. 1 apigee apigee  17K Feb  7 00:00 edge-message-processor.log.1.gz
    -rw-r--r--. 1 apigee apigee 5.3K Feb  7 09:12 edge-message-processor.log

    Приведенный выше вывод указывает на то, что файлы edge-message-processor.log были повернуты и сохранены как файл GZ.

  3. Если вы не видите, что файлы edge-message-processor.log сменяются, убедитесь, что вы правильно выполнили все шаги, описанные в разделе Включение ротации журналов для edge-message-processor.log в процессорах сообщений. Если вы пропустили какой-либо шаг, повторите все действия заново.
  4. Если вам по-прежнему не удается настроить ротацию журналов, обратитесь в службу поддержки Apigee Edge.