Mysql
監視 mysql Ubuntu 伺服器 12.04 的問題
我已經在 Ubuntu 伺服器 12.04 上安裝了 Monit,但我在讓 mysql 監控工作時遇到問題。這是我到目前為止所做的。
#/etc/default/monit startup=1 #/etc/mysql/my.cnf pid-file = /var/run/mysqld/mysqld.pid #/etc/monit/monitrc set daemon 60 check process mysql with pidfile /var/run/mysqld/mysqld.pid group mysql start program = "/etc/init.d/mysql start" with timeout 30 seconds stop program = "/etc/init.d/mysql stop" if failed host 127.0.0.1 port 3306 then restart if 5 restarts within 5 cycles then timeout
mysqld.pid 文件正在按預期創建,但 monit 無法訪問它。這是 mysqld.pid 的權限
-rw-rw---- 1 mysql mysql 6 2014-06-02 11:36 mysqld.pid
這是monit的狀態
#monit status Process 'mysql' status not monitored monitoring status not monitored data collected Mon Jun 2 23:49:37 2014
這是我在監控日誌中看到的錯誤
Jun 2 23:47:07 MySQL-Dev monit[13034]: 'mysql' process is not running Jun 2 23:47:07 MySQL-Dev monit[13034]: 'mysql' trying to restart Jun 2 23:47:07 MySQL-Dev monit[13034]: monit: Error opening the pidfile '/var/run/mysqld/mysqld.pid' -- Permission denied Jun 2 23:47:07 MySQL-Dev monit[13034]: monit: Error opening the pidfile '/var/run/mysqld/mysqld.pid' -- Permission denied Jun 2 23:47:07 MySQL-Dev monit[13034]: 'mysql' start: /etc/init.d/mysql Jun 2 23:47:07 MySQL-Dev monit[13034]: monit: Error opening the pidfile '/var/run/mysqld/mysqld.pid' -- Permission denied Jun 2 23:47:37 MySQL-Dev monit[13034]: last message repeated 31 times Jun 2 23:47:37 MySQL-Dev monit[13034]: 'mysql' failed to start Jun 2 23:48:37 MySQL-Dev monit[13034]: 'mysql' service timed out and will not be checked anymore
我現在不確定該怎麼做,也無法在網上找到任何可以解決我的具體問題的東西。
如果您以 root 身份執行 monit,它應該能夠訪問此 pid 文件。請檢查您是否沒有與其他使用者一起執行監視器。
# ps -eaf | grep monit root XXXX 1 0 Jun20 ? 00:00:08 /usr/sbin/monit -c /etc/monit/monitrc -s /var/lib/monit/monit.state
您的監控程序沒有訪問權限
/var/run/mysqld/mysqld.pid
。嘗試將 monit 使用者添加到mysql
組中gpasswd -a monit mysql
(或任何您的 monit 使用者帳戶),重新啟動 monit 並查看是否有幫助。相反,您也可以打開
/var/run/mysqld
目錄和mysql.pid
文件權限以提高世界可讀性或使用 ACL。