게시물 139건
   
[MON] mysql.monitor
글쓴이 : 최고관리자 날짜 : 2010-03-16 (화) 11:38 조회 : 13344
글주소 :
                          

Install Perl and the modules that Mon requires

- DBI
- DBD::mysql
- Time::Period
- Time::HiRes
- Convert::BER
- Mon::Client


Time::Period /  Time::HiRes / Convert::BER 설치

[root@mojily src]# wget http://search.cpan.org/CPAN/authors/id/P/PR/PRYAN/Period-1.20.tar.gz
[root@mojily src]# wget http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.9719.tar.gz
[root@mojily src]# wge http://www.cpan.org/modules/by-module/Convert/Convert-BER-1.3101.tar.gz

[root@mojily src]# tar xvf Time-HiRes-1.9719.tar.gz
[root@mojily src]# cd Time-HiRes-1.9719
[root@mojily Time-HiRes-1.9719]# perl Makefile.PL
[root@mojily Time-HiRes-1.9719]# make; make install


DBI , DBD 는 yum으로 설치

[root@mojily ~]# yum install  *DBD*
[root@mojily ~]# yum install  *DBI*


디비 인증을 위한 모니터링용 계정 /  패스워드 / 테이블 생성

mysql> GRANT ALL PRIVILEGES ON test.* TO 'monitoring_user'@'%' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> CREATE DATABASE test
mysql> ues test;
mysql> CREATE TABLE example ( id INT, data VARCHAR(100));


mon.cf 파일설정

cfbasedir   = /etc/mon
alertdir    = /usr/local/src/mon-1.2.0/alert.d
mondir      = /usr/local/src/mon-1.2.0/mon.d
maxprocs    = 20
histlength = 100
randstart = 30s

authtype = getpwnam
hostgroup node2 218.xxx.115.xxx

watch node2
        service mysql
        interval 5s
        monitor mysql.monitor
        period wd {Sun-Sat}
        alert echo.alert "node2 server is down!!"
        upalert echo.alert "node2 server is live!!"


mysql.monitor 아이디 / 패스워드 인증을 위한 파일수정

[root@mojily ~]# cd /usr/local/src/mon-1.2.0/mon.d
[root@mojily ~]# cp msql-monitor mysql.monitor

### mysql.monitor 중간 주석부분에 생성해준 아이디 / 패스워드 / 디비 설정 ###
$options{username} ||= "monitoring_user";    # 주석해제
$options{password} ||= "password";            # 주석해제
$options{database} ||= "test";                      # 모니터링 데이타베이스 라인추가

혹은... mon.cf 파일에 접근계정을 넣어주면 된다.
패스워드가 다른 여러대의 디비서버를 모니터링하기에는 mysql.monitor 파일을 수정하기 보다는 mon.cf 파일에 접근계정을 넣어주면 관리하기에 편하다.

watch node2
        service mysql
        interval 5s
        monitor mysql.monitor --mode=mysql --username=root --password=xxxxxx --database=mysql
        period wd {Sun-Sat}
        alert echo.alert "node2 server is down!!"
        upalert echo.alert "node2 server is live!!"

※ 아이디. 패스워드를 수정하면서 보면 바로바로 down 으로 체크되었음이 확인된다.


로그메세지

Tue Mar 16 11:19:48 KST 2010-s mysql -g node2 -h 218.xxx.115.xxx -t 1268705988 node2 server is down!!
Tue Mar 16 11:19:53 KST 2010-s mysql -g node2 -h 218.xxx.115.xxx -t 1268705993 node2 server is down!!
Tue Mar 16 11:19:58 KST 2010-s mysql -g node2 -h 218.xxx.115.xxx -t 1268705998 -u node2 server is live!!


로컬디비를 모니터링하려면..... 루프백 주소를 이용하면된다...

authtype = getpwnam
hostgroup node1 127.0.0.1
watch node1
        service mysql
        interval 5s
        monitor mysql.monitor --mode=mysql --username=root --password=xxxxx --database=mysql
        period wd {Sun-Sat}
        alert echo.alert "localhost server is down!!"
        upalert echo.alert "localhost server is live!!"

※ hostgroup 에 호스트명 뒤에 공인아이피를 사용하게 되면...모니터링이 안된다...
이유는 모르겠음..!!

이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

 



 
사이트명 : 모지리네 | 대표 : 이경현 | 개인커뮤니티 : 랭키닷컴 운영체제(OS) | 경기도 성남시 분당구 | 전자우편 : mojily골뱅이chonnom.com Copyright ⓒ www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.