computer system

Send Log Messages to Your Jabber Client

hongiiv 2005. 12. 23. 09:56
반응형
Linux Server Hack Volume Two의 9장 로그와 모니터링의 84번 Hack `Send Log Messages to Your Jabber Client`

50개의 서로 다른 터미널 윈도우를 띄워 놓고 `tail -f -n 40 /var/log/message` 명령어로 휙휙 지나가는 로그를 본다는 것은 별로 생산성있는 일은 아닐 것이다.

여기서는 syslog filter를 이용하여 로그를 `/var/log/log-fifo`로 보내고 이것을 다시 Jabber client 프로그래밍을 통해 Jabber 메세지를 생성하여 메세지를 보내게 된다.


1) syslog configure(`/etc/syslog`)를 수정하여 자신이 원하는 log message를 `/var/log/log-fifo`로 보내도록 설정한다.
우선 생성되는 모든 메세지를 보내도록 설정해 놓는다. 자신이 원하는 로그만 보내도록 설정하면 된다.

*.*   /var/log/log-fifo

2) `mkfifo /var/log/log-fifo` 명령으로 log-fifo named pipe를 생성한다.

# mkfifo /var/log/log-fifo

3) syslog service를 재시작한다.

# service syslog restart

4) syslog의 output을 jabber message로 forwarding 하는 perl 프로그램을 실행한다. 이 perl 프로그램은 몇개의 perl module을 필요로 한다.

require perl modules
    Authen-SASL-2.09, Encode-2.00, Net-Jabber-2.0, Net-XMPP-1.0, XML-Stream-1.22

5) Jabber 계정을 생성하고 소스코드에서 Jabber 서버 및 계정 정보를 수정하고 프로그램을 실행한다.

#perl program-name

6) 아무곳이나 가서 Jabber Client를 로그인하여 메세지를 받아본다. :)


   

반응형