启用 Fluentd 日志轮换
Posted
技术标签:
【中文标题】启用 Fluentd 日志轮换【英文标题】:Enabling Fluentd Log rotation 【发布时间】:2020-08-08 06:53:16 【问题描述】:我正在使用 fluentd 和 tg-agent 安装。而且我观察到我的默认 td-agent.log 文件正在增长,而没有任何日志轮换。
我正在使用以下命令来运行 td-agent
/etc/init.d/td-agent start
我找到了下面的链接,它告诉了如何配置旋转,这似乎与 fluent 本身有关。
https://docs.fluentd.org/deployment/logging
有人知道如何使用我正在使用的命令配置旋转吗?我也有 td-agent 配置文件。
【问题讨论】:
您应该根据您的要求进行配置和尝试配置。它也应该适用于td-agent
。
【参考方案1】:
您可以通过两种方式执行此操作,首先使用 td-agent 本身,为此您需要更新 td-agent 初始化文件 /etc/init.d/td-agent
。您必须在文件中找到以下行
TD_AGENT_ARGS="$TD_AGENT_ARGS:-$TD_AGENT_BIN_FILE --log $TD_AGENT_LOG_FILE $TD_AGENT_OPTIONS"
并将其更新为
TD_AGENT_ARGS="$TD_AGENT_ARGS:-$TD_AGENT_BIN_FILE --log-rotate-age 5 --log-rotate-size 104857600 --log $TD_AGENT_LOG_FILE $TD_AGENT_OPTIONS"
然后重启td-agent,结果如下图
16467 /opt/td-agent/embedded/bin/ruby /usr/sbin/td-agent --log-rotate-age 5 --log-rotate-size 104857600 --log /var/log/td-agent/td-agent.log --use-v1-config --group td-agent --daemon /var/run/td-agent/td-agent.pid
16472 /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /usr/sbin/td-agent --log-rotate-age 5 --log-rotate-size 104857600 --log /var/log/td-agent/td-agent.log --use-v1-config --group td-agent --daemon /var/run/td-agent/td-agent.pid --
第二种方法是使用 logrotate 来轮换日志,在您的服务器上创建以下文件并确保已安装 logrotate 并且它将负责轮换日志
cat /etc/logrotate.d/td-agent
/var/log/td-agent/td-agent.log
daily
rotate 30
compress
delaycompress
notifempty
create 640 td-agent td-agent
sharedscripts
postrotate
pid=/var/run/td-agent/td-agent.pid
if [ -s "$pid" ]
then
kill -USR1 "$(cat $pid)"
fi
endscript
【讨论】:
以上是关于启用 Fluentd 日志轮换的主要内容,如果未能解决你的问题,请参考以下文章
windows下fluentd传输日志到elasticsearch (fluentd elasticsearch https)