Назад | Перейти на главную страницу

Проблемы monit с сервером mysql Ubuntu 12.04

Я установил Monit на сервер Ubuntu 12.04, но у меня вообще проблемы с работой мониторинга 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

Я не уверен, что делать на данный момент, и мне не удалось найти в Интернете ничего, что решало бы мою конкретную проблему.

У вашего процесса мониторинга нет разрешений на доступ /var/run/mysqld/mysqld.pid. Попробуйте добавить пользователя monit в mysql группа с gpasswd -a monit mysql (или какова бы ни была ваша учетная запись пользователя monit), перезапустите monit и посмотрите, поможет ли это.

Вместо этого вы также можете открыть /var/run/mysqld каталог и mysql.pid права доступа к файлам для всеобщего чтения или использования ACL.

Если вы запустите monit как root, он должен иметь доступ к этому 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