无法使用Monit在另一个系统中监控MySQL

时间:2013-06-04 06:14:44

标签: unix monit

我正在尝试使用Monit监视另一个系统中的MySQL进程。系统连接到与我相同的网络连接。我正在使用此代码(在配置文件中,monitrc):

使用pidfile /var/run/mysqld/mysqld.pid检查进程mysql

组数据库

start program =“/ etc / init.d / mysql restart”

停止program =“/ etc / init.d / mysql stop”

如果主机192.168.0.189端口3306失败则重启

如果5个周期内5次重启,则超时

状态似乎是“未受监控”。什么似乎是问题?

2 个答案:

答案 0 :(得分:1)

我想扩大这个答案,因为我遇到了类似的问题。

1)编辑MySQL配置(/etc/mysql/my.cnf)并将绑定地址设置为它应该侦听的任何地址,例如0.0.0.0(全局地址)或实际IP地址。另请注意监听端口。

2)编辑monit配置文件,使用与MySQL服务相同的地址作为“host”。确保端口号也与MySQL配置端口匹配。

3)由于我在防火墙上使用iptables规则,我不得不在我的规则中添加这些行:

# 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服务,或重新加载配置。

答案 1 :(得分:0)

解决了这个问题。不得不改变mysql的my.conf文件中的bindaddress。从localhost(127.0.0.1)将其设置为0.0.0.0,以允许来自网络中所有主机的连接。

相关问题