您正在查看的是 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-*
组件还会生成额外的日志文件,该文件是相应组件的控制台的重定向输出。对于消息处理器组件,此文件称为 /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
。
其他 edge-*
组件会生成类似的文件。这些文件的轮替并非由 logback 库完成,而是由 logrotate
和 crontab
完成。
准备工作
- 如果您不熟悉
logrotate
配置,请参阅 logrotate 手册。 - 如果您不熟悉
crontab
配置,请参阅 crontab 手册。
启用日志轮替
本部分适用于 Private Cloud 4.50.00 和 4.51.00 版 Edge。
日志轮替是一种机制,旨在简化生成大量日志文件的系统的管理。它允许自动轮替、压缩、移除和邮寄日志文件。
默认情况下,每个 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
组件中的其他日志文件未配置默认轮替。例如,默认情况下,apigee
组件消息处理器文件 edge-message-processor.log
上未配置日志轮替。
您可以使用不同的实用程序/框架(如 logrotate
、logback
或 log4j
)启用日志轮替。本部分介绍如何使用 logrotate
和 crontab
为 /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
文件配置日志轮替。
在消息处理器上为 Edge-message-processor.log 启用日志轮替
本部分介绍如何在边缘消息处理器上为 /opt/apigee/var/log/edge-message-
processor/edge-message-processor.log
日志启用日志轮替。
以下步骤介绍了如何为 edge-message-processor.log
文件启用日志轮替:
- 使用编辑器打开消息处理器机器上的
/opt/apigee/edge-message-processor/logrotate/logrotate.conf
文件。如果该文件不存在,请创建一个。 例如:vi /opt/apigee/edge-message-processor/logrotate/logrotate.conf
- 在文件中添加类似于以下内容的代码段:
/opt/apigee/var/log/edge-message-processor/edge-message-processor.log { missingok copytruncate rotate 5 size 10M compress delaycompress notifempty nocreate sharedscripts }
- 保存更改。
- 使用以下命令打开
apigee
用户的crontab
:sudo crontab -u apigee -e
- 将以下 Cron 作业添加到
apigee
用户的crontab
: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
- 保存
crontab
并在下次运行 Cron 作业期间监控日志轮替。
验证消息处理器上 Edge-message-processor.log 的日志轮替
- 预定的 Cron 作业运行后,日志文件将会轮替。在上面的示例中,Cron 作业安排在每天凌晨 00:00 运行,以轮替
edge-message- processor.log
文件。 -
进入
/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 文件。 - 如果您没有看到正在轮替
edge-message-processor.log
文件,请验证是否已正确执行 在消息处理器上为 Edge-message-processor.log 启用日志轮替中所述的所有步骤。 如果您遗漏了任何步骤,请重新正确重复所有步骤。 - 如果您仍无法使日志轮替正常运行,请与 Apigee Edge 支持团队联系。