0

Sensu ログは、大量のデータでいっぱいになる可能性があります。logrotate を使用して外部インフラストラクチャをセットアップし、定期的に sensu ソフトウェアを再起動して開いているファイル ハンドルをなくすことができますが、再起動しないことをお勧めします。

設定されたディスク使用量で設定された数のバックアップにログをロールする方法はありますか? log4j とローリング ファイル アペンダー/ロガーを使用して Java アプリケーションのログを構成する方法と同様の構成を探しています。sensuのウェブサイトで何も見つかりません。

4

1 に答える 1

0

更新: 私の場合、 の PID ファイルが見つからないことが判明しました/var/run/sensu/sensu-.*.pid。これは、 を介して Sensu プロセスを管理していることが原因のようです/opt/sensu/embedded/bin/sensu-ctlこのパッチlogrotate.d/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
 }

誰かが役に立つと思った場合に備えて、元の回答を以下に残します。


logrotate.d/sensu-USR2は、ログをローテーションするときに Sensu にシグナルを送信することで、必要なことを行うべきだと思います。ただし、このパッチを適用する必要がある場合があります。

diff --git a/sensu.logrotate b/sensu.logrotate
index 8457e29..a5178fa 100644
--- a/sensu.logrotate
+++ b/sensu.logrotate
@@ -1,4 +1,5 @@
 /var/log/sensu/sensu-client.log {
+    su sensu sensu
     rotate 7
     daily
     missingok
@@ -11,6 +12,7 @@
 }

 /var/log/sensu/sensu-server.log {
+    su sensu sensu
     rotate 7
     daily
     missingok
@@ -23,6 +25,7 @@
 }

 /var/log/sensu/sensu-api.log {
+    su sensu sensu
     rotate 7
     daily
     missingok

試乗する機会があれば教えてください。

于 2017-08-30T15:49:17.627 に答える