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

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

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

В Edge for Private Cloud для некоторых основных файлов журналов каждого компонента 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 for Private Cloud 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 компонента apigee Message Processor.

Ротацию логов можно включить с помощью различных утилит/фреймворков, таких как 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 на машине, где установлен обработчик сообщений, в текстовом редакторе. Если файл не существует, создайте его. Например:
    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 .