본문 바로가기
Linux Unix

Swatch로 로그 모니터링, 메일 발송하기

by softserve 2024. 9. 4.
반응형

우리는 문제가 생겼을 때 정확한 원인을 파악하기 위해서 로그를 남깁니다.

일반적으로 로그는 양이 상당히 많기 때문에 grep 명령어로 원하는 정보를 탐색하기도 하고

$ cat /path/to/log | grep “keyword”

실시간으로 쌓이는 로그를 확인할 때에는 tail 명령어를 사용합니다.

$ tail -f /path/to/log

만약 오류가 생길 때마다 로그가 메일로 날아온다면 서버에 접속하지 않고도 문제를 파악할 수 있기 때문에 조금 더 편하겠죠?

이렇게 로그를 감시하고 메일까지 보내주는 다한 모니터링 도구가 있습니다. 그 중에 Swatch라는 프로그램을 소개하려고 합니다.

 

1. 설치

 

Ubuntu/Debian 계열

$ sudo apt-get install swatch

 

RHEL/CentOS 계열

$ sudo yum install swatch

 

2. 설정 파일 생성

 

원하는 위치에 원하는 이름으로 설정 파일을 만들어줍니다.

$ vi /etc/swatch.conf

내용은 아래와 같습니다.

watchfor /error|exception/ 
	mail=my@mail.com, subject="[Error] Log"

 

watchfor는 감시할 키워드를 지정합니다. 슬래쉬 사이에 감지할 단어를 정규식 형태로 넣습니다.

여러 가지인 경우에는 | 로 구분합니다. 모든 단어를 감지하고 싶을 때는 /.+/ 를 넣어줍니다.

mail에 로그를 수신할 메일 주소를, subject에 메일 제목을 지정합니다

그 밖에 다양한 설정들은man swatch로 확인할 수 있습니다.

 

3. 실행

 

위에서 작성한 설정파일과, 감시할 대상 로그 파일을 지정하여 swatch를 실행합니다.

$ swatch --config-file=/path/to/swatch.conf --tail-file=/path/to/log
$ ps -aux | grep swatch

로 실행중인 프로세스를 확인할 수 있고,

종료를 원할 경우 위에서 확인한 pid를 이용해 프로세스를 종료합니다.

$ kill pid

 

반응형

댓글