Чтобы увидеть таблицу со списком баз данных и их размером в мегабайтах можно выполнить 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
Соответственно создадим для него график.
Также можно просто указать в файле конфигурации Zabbix агента строку ниже и потом создать элемент данных с типом Zabbix агент и ключом size_database_zabbix:
UserParameter=size_database_zabbix,mysql -u root -e "SELECT SUM( data_length + index_length ) AS 'size' FROM information_schema.TABLES WHERE table_schema = 'zabbix' LIMIT 1;" -s -N
Смотрите также мою статью:
Подключение к MySQL без ввода пароля
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)»