syslogd 이메일을 특정 로그 메시지로 만들려면 어떻게해야합니까?


13

syslogd가 err우선 순위 이상의 것을 기록 할 때마다 이메일 알림을 받고 싶습니다 . 이것이 BSD 호환 syslog 디먼이라고 가정하십시오.

  • 이것이 달성 될 수 있습니까?
  • 쉘 스크립트에 명명 된 파이프를 사용해야합니까?
  • 다른 가능한 해결책은 무엇입니까?

답변:


6

명명 된 파이프를 사용 하는 솔루션 이 있습니다. 데비안 용으로 설정되었지만 BSD 용으로 수정할 수 있어야합니다.


이메일을 디먼 팅 할 수 있도록 솔루션을 기반으로했습니다. 링크 주셔서 감사합니다.
Jason

이것은 너무 많은 해킹으로 보입니다. 안정적인 오픈 소스 앱이있을 때 스크립팅에 왜 시간을 투자하십니까? (실시간으로도). * 내 답변을 참조하십시오.
sucuri 2016 년

2
전혀 해킹이 아닙니다. 이런 종류의 일이 종종 이루어지는 방식입니다.
추후 공지가있을 때까지 일시 중지되었습니다.

6

syslogd (8)를 통한 알림

OpenBSD 서버에서 local1 기능을 사용하는 웹 응용 프로그램에서 중요한 메시지를 기록하고 전자 메일로 보냅니다 . 내 /etc/syslog.conf 는 다음과 같습니다 .

local1.err    /var/log/example.com
local1.err    |while read log; do echo "$log" | /usr/bin/mail -s SYSLOG me@example.com; done

while 루프는 syslogd에서 각 줄을 무한정 읽은 다음 echo를 통해 메일로 파이프합니다. 이것은 중요하다. echo가 라인을 출력하면 파이프를 종료하고 EOF를 보내서 로그 메시지를 이메일로 보낼 수 있습니다.

즉, syslogd를 통해 메일로 직접 파이프 할 수 없습니다.

local1.err    |/usr/bin/mail -s SYSLOG me@example.com

syslogd는 파이프 자체가 종료되거나 HUP 신호를 보낼 때까지 파이프에 계속 기록하기 때문에 메일은 전체 로그 메시지 세트를 하나의 큰 이메일로 보냅니다.

newsyslog (8)를 통한 알림

cron에서 newsyslog를 예약하는 것은 메시지를 느리게 또는 대량으로 얻는 또 다른 방법입니다.

예를 들어, 매일 로그 메시지를 이메일로 요약하려면 /etc/newsyslog.conf 에서 M 플래그를 설정하고 모니터 이메일 주소를 지정하십시오 .

# logfile_name        owner:group  mode  count  size  when  flags  monitor
/var/log/example.com  root:wheel   640   7      *     24    M      me@example.com

그런 다음 crontab에서 newsyslog를 예약하십시오.

# minute hour  mday  month  wday  command
0        *     *     *      *     /usr/bin/newsyslog
1-59     *     *     *      *     /usr/bin/newsyslog -m

newsyslog (8)-m 옵션은 다음과 같습니다.

모니터링 모드; 플래그에 'M'으로 표시된 항목 만 처리됩니다. 모니터중인 각 로그 파일에 대해 -sys 플래그를 사용하여 newsyslog를 마지막으로 실행 한 이후의 모든 로그 출력이 모니터 통지 섹션에 나열된 사용자에게 우편으로 보내집니다.


3

logcheck 또는 logwatch를 볼 수 있습니다. Logcheck는 일련의 패턴과 일치하지 않는 로그 라인을 이메일로 매시간 보내드립니다. 아마 더 자주 할 수있을 것 같아요. 나는 로그 파일을 보면서 그것을하는 도구를 모른다.하지만 거기에 무언가가 있다고 확신한다.


예, 로그 파일을 작성한 후 모니터링하고 구문 분석하지 않고 로깅 프로세스에 연결하여 즉각적인 알림을받을 수 있습니다.
Jason

1

OSSEC을 사용하겠습니다. 실시간으로 로그를 모니터링하고 특정 이벤트가 일치 할 때 이메일 (또는 다른 수단)로 쉽게 경고 할 수 있습니다. 사용하기 쉽고 확장 가능하며 오픈 소스입니다.

링크 : http://www.ossec.net


이것은 응용 프로그램에 과잉 일 수 있습니다. 그러나 패키지는 많은 작업을 수행해야하며 필요한 경우 적합 할 수 있습니다.
추후 공지가있을 때까지 일시 중지되었습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.