2016-08-29 2 views
0

Sensu 로그가 많은 양의 데이터로 가득 찰 수 있습니다. logrotate를 사용하여 외부 인프라를 설정하여 정기적으로 sensu 소프트웨어를 다시 시작하여 열린 파일 핸들을 제거 할 수 있지만 다시 시작하지 않는 것이 좋습니다.다시 시작하지 않고 sensu 로그를 롤백하려면 어떻게합니까?

디스크 사용량이 설정된 백업 세트 수만큼 로그를 롤백하는 방법이 있습니까? log4j 및 롤링 파일 어 펜더/로거를 사용하여 Java 애플리케이션의 로깅을 구성하는 방법과 비슷한 구성을 찾고 있습니다. 나는 sensu 웹 사이트에서 아무 것도 찾을 수 없습니다.

답변

0

업데이트 : 내 경우, /var/run/sensu/sensu-.*.pid에서 PID 파일이 때문에 우리가 /opt/sensu/embedded/bin/sensu-ctl를 통해 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 patchlogrotate.d/sensu에 적용하여 고정 끝났다.


나는 logrotate.d/sensu 당신이 로그를 회전 할 때 Sensu에 -USR2 신호를 전송하여, 무엇을해야한다고 생각합니다. 당신은하지만, 그것에 this 패치를 적용해야 할 수 있습니다

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 

혹시을 테스트 할 수있는 기회를 얻을 수 있으면 알려 주시기 바랍니다.