
balabit/syslog-ngbalabit/syslog-ngbalabit/syslog-ng镜像包含完整模块的syslog-ng日志守护进程,容器内以前台模式运行,便于通过docker logs [containerID]查看控制台日志输出。支持使用默认配置或自定义syslog-ng.conf文件,用于日志的收集、处理和转发。
syslog-ng通过上述端口监听日志,并默认将日志转发至容器内/var/log/syslog文件。默认配置可在镜像的源仓库中查看。有关镜像版本信息,请访问官方Docker仓库:[***]
前提:宿主机的514(UDP)和601(TCP)端口未被占用,避免端口冲突。
基本运行命令:
bashsudo docker run -it -p 514:514/udp -p 601:601 --name syslog-ng balabit/syslog-ng:latest
默认情况下syslog-ng不输出调试信息至控制台。如需查看详细调试日志,启动容器时添加-edv参数:
bashsudo docker run -it -p 514:514/udp -p 601:601 --name syslog-ng balabit/syslog-ng:latest -edv
通过挂载本地配置文件覆盖默认配置,将自定义syslog-ng.conf挂载至容器内/etc/syslog-ng/syslog-ng.conf路径:
bashsudo docker run -it -v "$PWD/syslog-ng.conf":/etc/syslog-ng/syslog-ng.conf balabit/syslog-ng:latest
以下示例演示如何配置syslog-ng从其他容器读取日志。
场景:读取运行中的apache2容器日志(假设apache2容器日志通过卷挂载在/var/log/apache2/),并转发至远程主机1.2.3.4:514。
syslog-ng.conf(当前目录):@version: 3.7 source s_apache { file("/var/log/apache2/access.log"); }; destination d_remote { tcp("1.2.3.4" port(514)); }; log { source(s_apache); destination(d_remote); };
bashsudo docker run -it --volumes-from [apache2容器ID] -v "$PWD/syslog-ng.conf":/etc/syslog-ng/syslog-ng.conf balabit/syslog-ng:latest
若容器名称为"syslog-ng",可通过以下命令进入容器内部:
bashsudo docker exec -it syslog-ng /bin/bash
有关在Docker中运行中央日志服务器及其他syslog-ng Docker使用场景的详细信息,请查看博客文章:Your central log server in Docker。
当配置需要时,syslog-ng会尝试在启动时设置POSIX capabilities,但Docker默认不授予容器capabilities。解决方法有三种:
--no-caps选项。--cap-add选项添加特定capabilities。--privileged选项授予容器所有capabilities,但不推荐用于生产环境。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务