
나는 다음의 지시를 따랐다: http://www.rsyslog.com/doc/debug.html
나는 다음을 넣었습니다 /etc/rsyslog.conf
.
$DebugLevel 2
$DebugFile /root/RSYSLOG.txt
그런 다음 시도합니다.
kill -USR1 `cat /var/run/syslogd.pid`
kill -USR2 `cat /var/run/syslogd.pid`
가 없는 것 같습니다 rsyslogd.conf
.
확인해 보니 RSYSLOG.txt
크기가 0바이트로 남아 있습니다. 나는 무엇을 해야할지 모르겠습니다.
답변1
이 기사에서는 rsyslog에서 "주문형 디버그" 기능이 작동하는 방식을 보여줍니다. Fedora 13에서 rsyslog 6.1.0(v6-Devel)을 사용하여 테스트 및 검증되었습니다(단계는 OS에 따라 다를 수 있음). rsyslog가 이미 시스템에서 작동하고 있다고 가정합니다. 설치 및 구성에 관한 참고 사항은 설명서를 참조하십시오. 온디맨드 디버그는 버전 4.5.7부터 사용할 수 있습니다.
이 옵션을 작동시키려면 먼저 활성화해야 합니다. 이를 활성화하고 디버그 로그 파일의 경로를 지정하면 됩니다. 루트 권한으로 터미널을 열고 다음 명령을 사용하십시오.
export RSYSLOG_DEBUG="DebugOnDemand NoStdOut"
export RSYSLOG_DEBUGLOG=/somepath/example.log
첫 번째 옵션은 표준 출력 없이 "요청 시 디버그" 자체를 활성화합니다. 서비스를 시작할 때 비활성화하는 데 필요합니다. 두 번째 옵션은 로그 파일의 경로와 이름을 지정합니다.
이제 준비가 되기 전에 rsyslog 서비스를 중지해야 합니다. 다음 명령을 사용하십시오.
/etc/rc.d/init.d/rsyslog stop
이제 서비스가 중지되었으므로 다시 시작해야 합니다. 현재 구성에서는 rsyslog를 포그라운드 애플리케이션으로 시작해야 합니다. 이 방식으로 구성하는 것이 훨씬 간단하기 때문에 rsyslog는 백그라운드 서비스 대신 작동하려면 "요청 시 디버그"를 위한 포그라운드 애플리케이션이어야 합니다. 다음 명령을 사용하여 포그라운드 애플리케이션으로 다시 시작합니다.
rsyslogd -n
"주문형 디버그"를 활성화하거나 비활성화할 수 있도록 두 번째 터미널(다시 루트로)을 엽니다. 다음 명령을 사용하십시오.
kill -USR1 `cat /var/run/rsyslogd.pid`
이 명령을 한 번 사용하면 디버그 모드가 활성화됩니다. 다시 사용하면 비활성화됩니다. 반드시 "-USR1"이 필요합니다. 그렇지 않으면 rsyslog가 실제로 종료됩니다. 추가로 백틱을 사용해야 합니다. 이는 중요합니다.
기본적으로는 그게 다입니다. 이제 "주문형 디버그" 로그 파일을 검토할 수 있습니다.
답변2
파일 에서 위의 디버깅 방법을 사용하려고 했으나 명령으로 인식되지 않는 등 rsyslog.conf
의 로그에 오류가 발생했습니다 .$DebugFile
내 솔루션은 주문형 디버깅에 대해 자세히 설명된 프로세스를 따르는 것이었습니다.여기.
약간 길었지만 적어도 효과가 있었습니다.