Ещё одна статья про мониторинг mysql'я zabbix'ом
Шаблон для mysql'я уже шёл "изкоропки" во второй ветке. Обеспечивает только базовый мониторинг, но нам и этого хватит.
Посмотел как например описано здесь - не понравилось. Во-первых - лапша из cut'ов, во-вторых - разбор вывода проги, формат которого может меняться, в-третьих - негибко, параметры прописаны каждый по отдельности.
В довершение ко всему - он не расчитан на работу с вышеупомянутым шаблоном. Здесь - абстрактные значения, а в шаблоне прописаны впролне конкретные переменные mysql'я. Перепилить можно, но зачем?
Слегка побродив по интернету, прочитал, что эту фичу они собираются продавать, поэтому в бесплатной версии она если и будет - то нескоро.
Вопрос решается дописыванием скрипта, который будет лезть в базу и выгребать запрошенные значения из внутренней статистики:
#!/usr/bin/perl -w
use DBI;
use strict;
use warnings;
#---------------------------------
my $user = "";
my $pass = "";
#--------------------------------
exit if (scalar(@ARGV) < 1);
my $dbh = DBI->connect("DBI:mysql:database=", $user, $pass) or die print("$!\n");
my $sth = $dbh->prepare("SHOW GLOBAL STATUS WHERE Variable_name = ?");
$sth->execute($ARGV[0]) or die print("$!\n");
my (undef, $value) = $sth->fetchrow_array;
$sth->finish();
$dbh->disconnect();
if ($value eq '') { $value = "ZBX_NOTSUPPORTED"; }
print $value, "\n";
Логин/пароль, естественно поправить, пользователя при необходимости - создать.
CREATE USER 'monitor'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Дописываем определения параметров.
UserParameter=mysql.status[*],/etc/zabbix/bin/mysql_watch.pl $1
UserParameter=mysql.version,mysql -V
ИМХО, получилось даже аккуратнее, чем в официальном решении. Там предлагается ставить unix obdc, писать к нему конфиг и заниматься прочими полезными вещами.