Мониторинг размера MySQL базы или таблицы в Zabbix

Чтобы увидеть таблицу со списком баз данных и их размером в мегабайтах можно выполнить SQL запрос:

SELECT table_schema "databases name", sum(data_length + index_length)/1024/1024  "DВ size in MB" FROM information_schema.TABLES GROUP BY table_schema;

Посмотреть размер таблиц конкретной базы, например zabbix, можно выполнив SQL:

SELECT table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES WHERE table_schema = "zabbix";

Либо в байтах увидеть размер одой базы с именем zabbix:

SELECT SUM( data_length + index_length ) AS 'size'
FROM information_schema.TABLES
WHERE table_schema = 'zabbix'
LIMIT 1;

Чтобы увидеть размер конкретной таблицы базы, например zabbix.history:

SELECT SUM( data_length + index_length ) AS 'size'
FROM information_schema.TABLES
WHERE table_schema = 'zabbix' AND table_name = 'history'
LIMIT 1;

Примеры предыдущих запросов мы и используем для мониторинга. Создадим в директории скриптов Zabbix скрипт, например с именем zabbix_database_size.sh и содержимым:

mysql -u root -pPASSWORD -h 127.0.0.1 -e "SELECT SUM( data_length + index_length ) AS 'size' FROM information_schema.TABLES WHERE table_schema = 'zabbix' LIMIT 1;" -s -N

В Zabbix узлу сети или в новом шаблоне создадим элемент данных в котором укажем:

Имя: Zabbix Database Size
Тип: Внешняя проверка
Ключ: zabbix_database_size.sh
Тип информации: Числовой (целое положительное)
Единица измерения: b

Соответственно создадим для него график.

Все.

Один комментарий к “Мониторинг размера MySQL базы или таблицы в Zabbix”

  1. Value «mysql: [Warning] Using a password on the command line interface can be insecure.
    2089353216» of type «string» is not suitable for value type «Numeric (unsigned)»

Добавить комментарий