You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器中通过Supervisor启动rsyslog遇重启循环的问题排查

问题描述

在Docker容器中通过Supervisor启动rsyslog时出现重启循环失败,配置及现象如下:

Dockerfile

FROM debian:buster-slim
RUN set -e \
    && apt-get update \
    && apt-get install --yes \
        rsyslog \
        supervisor

COPY /services/rsyslog.conf /etc/rsyslog.d/console.conf
CMD ["supervisord", "-c", "/etc/supervisor.conf"]

supervisor.conf

[supervisord]
#start in foreground
nodaemon=true

[program:syslog]
command=service rsyslog start

#[programm:another]
#command=...

执行结果

process    | 2022-10-27 10:07:09,906 INFO Set uid to user 0 succeeded
process    | 2022-10-27 10:07:09,907 INFO supervisord started with pid 1
process    | 2022-10-27 10:07:10,910 INFO spawned: 'syslog' with pid 9
process    | 2022-10-27 10:07:10,987 INFO exited: syslog (exit status 0; not expected)
process    | 2022-10-27 10:07:11,990 INFO spawned: 'syslog' with pid 22
process    | 2022-10-27 10:07:11,999 INFO exited: syslog (exit status 0; not expected)
process    | 2022-10-27 10:07:14,003 INFO spawned: 'syslog' with pid 28
process    | 2022-10-27 10:07:14,014 INFO exited: syslog (exit status 0; not expected)
process    | 2022-10-27 10:07:17,020 INFO spawned: 'syslog' with pid 34
process    | 2022-10-27 10:07:17,030 INFO exited: syslog (exit status 0; not expected)
process    | 2022-10-27 10:07:17,031 INFO gave up: syslog entered FATAL state, too many start retries too quickly

问题原因

  • service rsyslog start 是后台启动命令,执行完成后会立即退出(返回状态码0),但Supervisor要求管理的进程必须是前台运行的长期进程。
  • Supervisor检测到进程退出后,会判定为意外终止,因此不断尝试重启,最终触发重试次数限制进入FATAL状态。

解决方法

修改supervisor.conf中syslog程序的command,让rsyslog以前台方式运行:

[supervisord]
nodaemon=true

[program:syslog]
# 直接调用rsyslogd前台运行,-n参数表示不后台守护
command=rsyslogd -n
# 可选:重定向日志到容器标准输出/错误,方便查看
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

同时确保rsyslog的自定义配置文件(/etc/rsyslog.d/console.conf)没有设置后台运行的参数,保持默认逻辑即可。

内容的提问来源于stack exchange,提问作者membersound

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:30:57