로그를 처리하고 문제가 되는 IP를 금지하기 위해 사용자 정의 Python 스크립트를 사용하고 있습니다. 이것은 내 라인입니다 /etc/rsyslog.conf
:
local0.* action(type="omprog" name="asterisk" binary="/usr/local/sbin/asterisk.py")
내 스크립트에서 일부 오류가 생성되면 로그 어디에도 오류가 표시되지 않습니다(그러나 주어진 입력으로 스크립트를 수동으로 실행하면 Python 오류가 표시됩니다).
오류를 명시적으로 다른 곳으로 리디렉션해야 합니까?
Debian 10에서 rsyslog 8.1901을 사용하고 있습니다.
답변1
rsyslog가 프로그램을 실행하면 stderr은 stderr로 설정되지만 작업 매개변수 /dev/null
를 추가할 수 output="/some/file"
있으며 stderr은 stdout으로 설정되며 이에 대한 모든 출력은 필요할 때 rsyslog가 생성하는 지정된 파일에 기록됩니다. 그렇지 않으면 프로그램에서 stderr을 열어야 합니다.