facility
데이터를 파일로 보내는 규칙을 만들고 싶습니다.그리고도착하다MySQL데이터 베이스.
이것이 어떻게 달성될 수 있습니까? 다음과 같이 두 번째 줄을 추가하면 됩니다.
syslog.* /var/log/syslog.log
syslog.* :ommysql:localhost,database,user,password
아니면 더 정확한 방법이 있나요?
답변1
아니면 더 정확한 방법이 있나요?
이것이 더 정확한 것으로 간주될지는 모르겠습니다.생각하다이는 rsyslog의 특정 기능입니다(그리고가능한가능하다면 syslog 호환 방식으로 작업을 수행하는 것이 "더 정확"하다고 간주되지만... 앰퍼샌드를 사용하면 다음과 같습니다.
syslog.* /var/log/syslog.log
& :ommysql:localhost,database,user,password
문서화여기, 페이지에서 "&"를 검색하면. 나는 "레거시 설명"이 "syslog 호환" 동작을 참조하는 것이 아니라 rsyslog의 레거시 동작을 참조한다고 생각합니다.레이나 스크립트규칙을 작성하는 데 사용됩니다. 이 경우에 그것이 실제로 더 쉽거나 더 정확한지에 관해서는 말할 수 없습니다.
답변2
편집: 이것은 질문에 제공된 예에서 작동합니다. 편집되었으며 TAFKA 'goldilocks'의 답변이 정확합니다.
당신은 옳은 일을 했습니다. 다른 로그 항목 집합을 선택하려면 이전과 마찬가지로 별도의 줄에 지정해야 합니다. 이 두 가지 옵션이 동일한 기능을 갖는다는 사실은 부적합합니다.
동일한 로그 항목 세트에 대해 두 가지 작업을 수행하려면 &
두 번째 줄에 앰퍼샌드( )를 사용하면 됩니다. 예를 들어, 저장하고 싶다면모두파일 및 데이터베이스의 Syslog 메시지:
syslog.* /var/log/syslog.log
& :ommysql:localhost,database,user,password
필터를 평가하는 데 사용되는 CPU 양을 줄입니다. 하지만 여기서는 그렇지 않으므로 귀하의 솔루션이 정확합니다.