Reminiscence

데몬 모니터링 쉘스크립트 +1
작성일 : 2008.02.11
작성자 : mrmsm

가끔씩 운영중인 리눅스 서버에서 데몬이 죽을때가 있습니다.

제 경우에는 Whois 데몬과 SMS발송용 처리 데몬 등등..

실제 자체적인 복구기능이 없는 데몬들이 많이 있지요..

그런 데몬들이 실질적으로 메모리에 상주되어 있는지만 체크하여 관리자에게 메일로 알려 주는 스크립트를

아주 간단하게 작성하여 보았습니다.

필요하신 분들은 수정하셔서 사용하시기를..

#!/bin/bash
#데몬 PID 값

WHOIS_PID=`ps -C 데몬이름 -o pid=`
C_DATE=`date "+%Y-%m-%d %H:%M:%S"`
HOST_NAME=`hostname`
#관리자 메일 주소
MAIL_TO=
TESTMAIL@lovetonight.net
#보내는 서버데몬 이메일 주소(가칭)
MAIL_FROM="
TESTADMIN@lovetonight.net"

#관리자에게 보낼 알람메일 내용
MAIL_CONTENT="Return-Path: <$MAIL_FROM>
From: DDA<$MAIL_FROM>
To: $MAIL_TO
Subject: [DDA] $HOST_NAME 서버의 데몬에 장애가 발생하였습니다.[$C_DATE]
MIME-Version: 1.0
Content-Type: text/html; charset=euc-kr
작성시각 : $C_DATE<br>
작성자 : Whois Daemon Monitor<br>
내용 : <br>
Whois 데몬에 이상이 발생하여 자동으로 재시작 하였습니다. <br>
메일을 보는 즉시 해당 서버를 점검하여 주시기 바랍니다.<br>
<br>
작업이 완료되면, 이에 대한 조치내역을 보고하여 주시기 바랍니다.<br>
."


# $WHOIS_PID의 문자열이 0일 경우, 즉, PID가 없을 경우
if [ -z $WHOIS_PID ]
then
      echo "[$C_DATE] 에러문구 ." >> /var/log/whoism_log.log
      echo -e "$MAIL_CONTENT" | sendmail -f $MAIL_FROM $MAIL_TO
fi

말그대로 해당 프로세스이름을 가진 데몬이 떠 있는지를 확인하기 위한 스크립트 입니다.

데몬이 떠 있으면 PID값이 확인되고, 그렇다면 정상적인것으로 간주 하는 것이지요.

스크립트를 사용하시는것은 Crontab에 등록하시어 5분 또는 10분에 1회씩 체크하도록 하시면 됩니다.

머.. 보잘것 없는 스크립트이긴 하지만 가끔 유용하게 써먹기도 하니 필요하신 분들만 ^^;;

만약 하나의 서버에서 체크해야 하는 프로세스가 여러개일 경우 프로세스 네임을 인자값으로 받아들여 정해진 프로세스네임을 체크하는것이 아닌 받아들인 인자값을 체크 하도록 하시면, 여러개의 데몬도 하나의 스크립트 파일로 운영이 가능합니다.

허접한 스크립트 입니다. 필요하신 분들은 퍼가셔도 좋습니다.
(리플은 달아주세요  ㅜ_ㅜ)
신고

댓글 0개가 달렸습니다.