我正在尝试使用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次重启,则超时
状态似乎是“未受监控”。什么似乎是问题?
答案 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,以允许来自网络中所有主机的连接。