Monit进程“mysql”未被监控。

9
任何想法为什么在这个设置中monit将不会监控mysql??? 我已经查找了所有能找到的解决方法,但都没有成功。
这是我的版本:
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:    14.04
Codename:   trusty

mysql --version
Ver 14.14 Distrib 5.5.41, for debian-linux-gnu (x86_64) using readline 6.3

monit -V
This is Monit version 5.6

我尝试了以下两种设置:
check process mysql with pidfile /var/run/mysqld/mysqld.pid
    group database
    start program = "/etc/init.d/mysql start"
    stop program = "/etc/init.d/mysql stop"
    #if failed host 127.0.0.1 port 3306 protocol mysql then restart
    if failed unixsocket /var/run/mysqld/mysqld.sock protocol MYSQL then restart

还有这个:

monit status
Process 'mysql'
  status                            Not monitored
  monitoring status                 Not monitored

可以确认:

/var/run/mysqld/mysqld.pid

ps -e | grep "mysql"

读取的内容相同。

日志:

/var/log/monit.log

没有显示错误。

Monit 以 root 用户身份运行:

ps -eaf | grep monit
root      4549     1  0 05:18 ?        00:00:00 /usr/bin/monit -c /etc/monit/monitrc
root      5248 12440  0 05:53 pts/0    00:00:00 grep --color=auto monit

在命令行中尝试使用 monit monitor all - Ajeeb.K.P
或者只需使用 monit monitor mysql - Ajeeb.K.P
对我来说,https://unix.stackexchange.com/questions/447212/how-do-i-configure-to-monit-monitor-a-process-after-it-restarts 上的答案很有帮助,即使用“then exec $script”而不是使用“then restart”“stop/start”程序。 - dr0i
2个回答

8

如前所述,这应该可以:

monit monitor mysql

有时候,“timeout”语句会在出现过多重启错误的情况下禁用监控,我不建议使用这样的语句。
if X restarts within Y cycles then timeout

0

听起来像是monit没有访问用户数据库组的权限。

ps -eaf | grep mysql 读取了什么内容?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接