0

我正在使用 fluentd 和 tg-agent 安装。而且我观察到我的默认 td-agent.log 文件正在增长,而没有任何日志轮换。

我正在使用以下命令运行 td-agent

/etc/init.d/td-agent start

我找到了下面的链接,它讲述了如何配置旋转,看起来这与 fluent 本身有关。

https://docs.fluentd.org/deployment/logging

任何人都知道如何使用我正在使用的命令配置旋转?我也有 td-agent 配置文件。

4

1 回答 1

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
}
于 2020-08-10T07:02:38.873 回答