如何在不重新启动的情况下滚动sensu日志?

时间:2016-08-29 16:15:23

标签: sensu

Sensu日志可能会填满大量数据。您可以使用logrotate设置外部基础架构以定期重新启动sensu软件以消除打开的文件句柄,但我们不希望重新启动。

有没有办法将日志滚动到具有设置磁盘使用量的一定数量的备份?我正在寻找类似于如何使用log4j和滚动文件appender / logger配置Java应用程序日志记录的配置。我在sensu网站上找不到任何东西。

1 个答案:

答案 0 :(得分:0)

更新:在我的情况下,结果发现来自/var/run/sensu/sensu-.*.pid的PID文件丢失了,这似乎是因为我们通过{管理Sensu流程这一事实{1}}。我最后通过将this patch应用于logrotate.d/sensu来修复它:

/opt/sensu/embedded/bin/sensu-ctl

我将在下面留下原始答案,以防有人发现它有用。

我认为logrotate.d/sensu应该做你需要的,通过在旋转日志时向Sensu发送diff --git a/sensu_configs/logrotate.d/sensu b/sensu_configs/logrotate.d/sensu index 8457e29..42a80f9 100644 --- a/sensu_configs/logrotate.d/sensu +++ b/sensu_configs/logrotate.d/sensu @@ -6,7 +6,7 @@ sharedscripts compress postrotate - kill -USR2 `cat /var/run/sensu/sensu-client.pid 2> /dev/null` 2> /dev/null || true + /opt/sensu/embedded/bin/sensu-ctl sensu-client 2 endscript } @@ -18,7 +18,7 @@ sharedscripts compress postrotate - kill -USR2 `cat /var/run/sensu/sensu-server.pid 2> /dev/null` 2> /dev/null || true + /opt/sensu/embedded/bin/sensu-ctl sensu-server 2 endscript } @@ -30,6 +30,6 @@ sharedscripts compress postrotate - kill -USR2 `cat /var/run/sensu/sensu-api.pid 2> /dev/null` 2> /dev/null || true + /opt/sensu/embedded/bin/sensu-ctl sensu-api 2 endscript } 信号。您可能需要对其应用this补丁:

-USR2

如果你有机会测试它,请告诉我。