
imroc/logrotateimroc/logrotate是一个多平台Docker容器,基于logrotate工具构建,主要用于日志轮转管理。该镜像设计为可作为sidecar容器运行,尤其适用于Kubernetes环境中与其他服务协同工作,自动处理日志文件的轮转、压缩和保留。
通过以下环境变量配置日志轮转的调度策略:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
CRON_EXPR | 日志轮转的cron表达式 | */5 * * * *(每5分钟) |
CROND_LOGLEVEL | crond的日志级别(0~8,0为最详细) | 8 |
可通过挂载logrotate.conf文件到/etc/logrotate.conf进行自定义配置,或通过以下环境变量配置:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
LOGROTATE_FILE_PATTERN | 日志文件路径模式 | |
LOGROTATE_FILESIZE | 触发轮转的文件大小阈值 | 50M |
LOGROTATE_FILENUM | 保留的轮转文件数量 | 5 |
以下是在Kubernetes环境中,为ingress-nginx控制器配置logrotate sidecar的示例(通过Helm chart的values.yaml配置):
yamlcontroller: config: access-log-path: /var/log/nginx/nginx_access.log # 配置Nginx访问日志路径 error-log-path: /var/log/nginx/nginx_error.log # 配置Nginx错误日志路径 extraVolumes: - name: log # 定义共享日志卷 emptyDir: {} extraVolumeMounts: - name: log # 挂载共享日志卷到Nginx容器 mountPath: /var/log/nginx extraContainers: # 添加logrotate sidecar容器 - name: logrotate image: imroc/logrotate:latest imagePullPolicy: IfNotPresent env: - name: LOGROTATE_FILE_PATTERN value: "/var/log/nginx/nginx_*.log" # 匹配Nginx日志文件 - name: LOGROTATE_FILESIZE value: "20M" # 文件达到20M时触发轮转 - name: LOGROTATE_FILENUM value: "10" # 保留10个轮转文件 - name: CRON_EXPR value: "*/1 * * * *" # 每分钟执行一次轮转检查 - name: CROND_LOGLEVEL value: "7" # 设置crond日志级别为7 volumeMounts: - name: log # 共享日志目录,与Nginx容器访问同一日志文件 mountPath: /var/log/nginx



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务