2013-06-04 4 views
1

Monit을 사용하는 다른 시스템에서 MySQL 프로세스를 모니터하려고합니다. 시스템이 내 것과 동일한 네트워크 연결에 연결되어 있습니다. 이 코드를 사용하고 (구성 파일 내부 monitrc) : pidfile와Monit을 사용하는 다른 시스템에서 MySQL을 모니터 할 수 없음

검사 프로세스 MySQL은 =

그룹 데이터베이스

시작 프로그램을 /var/run/mysqld/mysqld.pid "/ 등/있는 init.d/mysql을 다시 시작 "

정지 프로그램 ="

실패 호스트 192.168.0.189 포트 3306 다음 다시 시작하면 "STOP /etc/init.d/mysql 형태

5가 5 사이클 이내에서 재시작 한 후 시간 초과가 발생하면

상태가 "모니터되지 않음"으로 나타납니다. 무슨 문제가있는 것 같습니까?

+0

M/MONIT와 MONIT의 차이점은 무엇입니까? – void

+0

M/Monit은 monit 위에 구축 된 상용 소프트웨어 인 것으로 보입니다. 분산 된 monit 대시 보드 및/또는 여러 호스트 사이에서 설정을 수행 할 수 있습니다. 그러나 핵심 기능은 여전히 ​​Monit입니다. – Marki555

답변

0

문제가 해결되었습니다. mysql의 my.conf 파일에서 bindaddress를 변경해야했다. localhost (127.0.0.1)에서 0.0.0.0으로 설정하여 네트워크에있는 모든 호스트의 연결을 허용합니다.

+0

당신은 my.cnf 파일을 의미합니까? 이 파일에 바인드 주소를 설정하는 데 더 많은 것이 있습니까? – Stephane

1

비슷한 문제가있어이 답변을 확장하고 싶습니다.

1) MySQL 구성 (/etc/mysql/my.cnf)을 편집하고 수신 대기 할 주소 (예 : 0.0.0.0 (글로벌 주소) 또는 실제 IP 주소)로 바인드 주소를 설정하십시오. 또한 청취 포트에 유의하십시오.

2) MySQL 서비스의 '호스트'와 동일한 주소를 사용하도록 monit 구성 파일을 편집하십시오. 포트 번호가 MySQL 설정 포트와 일치하는지 확인하십시오.

# allow connection to monit's http server 
-A INPUT -p tcp -m tcp --dport 2812 -j ACCEPT 
# allow connect to mysql server 
-A INPUT -s <listening address> -p tcp -m tcp --dport <listening port> -j ACCEPT 

그런 다음 방화벽 규칙을 다시로드 :

sudo iptables-reload < /path/to/iptables.rules.file 

마지막으로, 다시 시작 MONIT을 내 방화벽의 iptables 규칙을 사용하여 이었기 때문에

3), 내 규칙에 줄을 추가했다 서비스 또는 재로드 구성.