mon은 리눅스에서 제공하는 서비스들의 상태를 모니터링 하는 프로그램이다.
mon compile |
의존 패키지 소스 다운로드
$ wget http://search.cpan.org/CPAN/authors/id/P/PR/PRYAN/Period-1.20.tar.gz
$ wget http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.9719.tar.gz
의존 패키지 설치
mon 소스 다운로드
$ wget ftp://ftp.kernel.org/pub/software/admin/mon/mon-1.2.0.tar.gz
mon 설치
mon 환경 설정 |
mon.cf 파일 수정
$ vim /etc/mon/mon.cf
alertdir = /usr/lib/mon/alert.d
mondir = /usr/lib/mon/mon.d
logdir = /var/log/mon
historicfile = /var/log/mon/history.log
maxprocs = 20
histlength = 100
randstart = 60s
dtlogging = yes
dtlogfile = dtlog
authtype = getpwnam
hostgroup warnus1 localhost
watch seedtale
service mysql
interval 5s
monitor mysql.monitor –mode=mysql –username=root –password=seedtale –database=mon
period wd {Sun-Sat}
alert heart.alert
alert test.alert “Mysql server down!!”
upalert test.alert “Mysql server live!!”
mysql 모니터링 스크립트 생성
mon 실행 스크립트 생성
$ vim /etc/init.d/mon
#!/bin/bash
MON_HOME=/usr/local/src/mon-1.2.0 # 본인이 설치한 폴더위치
MON_CF=/etc/mon # mon.cf 설정파일이 들어갈 위치
case “$1” in
start)
if [ -f $MON_HOME/mon.pid ]; then
echo “mon already started”
exit
fi
echo “Starting Mon”
$MON_HOME/mon -c $MON_CF/mon.cf -L $MON_HOME -P $MON_HOME/mon.pid &
;;
stop)
if [ -f $MON_HOME/mon.pid ]; then
echo “Stopping Mon”
kill -9 `cat $MON_HOME/mon.pid`
rm -f $MON_HOME/mon.pid
else
echo “no server pid, server doesn’t seem to run”
fi
;;
status)
echo “doing good”
;;
*)
echo “Usage: $0 {start|stop|status|reload|restart}”
exit 1
esac
exit 0
$ chmod 755 /etc/init.d/mon
참고 |
http://goo.gl/1ABm0
http://kensei.co.kr/linux/entry/document_srl/504/sort_index/readed_count/order_type/asc