Согласно нескольким руководствам, должно работать следующее:
Создайте нового пользователя в MySQL.
$ mysql -uroot -p
> CREATE USER 'munin'@'localhost';
> exit;
Используйте этого пользователя в munin для доступа к базе данных: /etc/munin/plugin-conf.d/munin-node
. В [mysql *] установите следующее:
[mysql*]
env.mysqlopts -u munin
Странная вещь, это работает
/usr/sbin/munin-node-configure --suggest | grep mysql
Это говорит мне, что MySQL не может получить доступ к базе данных и что он пытается получить доступ к базе данных с помощью пользователя корень:
[DBI connect('mysql;mysql_connect_timeout=5','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO)
Это машина CentOS 5.5.
Почему munin-node-configure должен игнорировать настройку в /etc/munin/plugin-conf.d/munin-node? Должен ли я установить это в другом месте? Перезагрузка или перезапуск демона munin-node тоже ничего не меняет.
Для Munin 1.4.7 в документации есть ошибка: плагин mysql ищет переменные среды, используя другое имя.
Вы можете проверить / usr / share / munin / plugins / mysql_
my %config = (
'dsn' => $ENV{'mysqlconnection'} || 'DBI:mysql:mysql',
'user' => $ENV{'mysqluser'} || 'root',
'password' => $ENV{'mysqlpassword'} || '',
);
Итак, поскольку сценарий не проверяет mysqlopts, мне пришлось настроить
[mysql*]
env.mysqluser username
env.mysqlpassword pass
затем перезапустите munin-node (на всякий случай).
для меня подстановочные знаки тоже не работали, но работало следующее
[mysql_queries]
env.mysqlopts -u dev1