Мониторинг MySQL в режиме реального времени с помощью mytop.

В этой статье я расскажу о замечательной top подобной утилите mytop. Иногда возникает потребность быстро посмотреть, что же твориться с MySQL, а использование серьезных инструментов мониторинга невозможно или не имеет смысла. Тут и приходит на помощь маленькая утилита, знающая свое дело на все 100.

Для начала необходимо ее поставить. В Debian подобных дистрибутивах делаем это командой:

1
apt-get install mytop

После установки мы сразу можем начать ею пользоваться, введя команду:

1
mytop -u %USER% -p %PASSWORD%

где %USER% — имя пользователя БД, а %PASSWORD% — его пароль.

Также мы можем указать базу, которую собираемся мониторить, дополнив предыдущую команду ключом -d:

1
mytop -u %USER% -p %PASSWORD% -d %DATABASE%

Ключ -h %HOST% поможет подключиться к удаленному серверу, а ключ -P позволит указать порт.

После запуска утилиты, мы видим стандартную top подобную среду, которая разделяется на две секции. В верхней секции отображены основные показатели базы, в нижней представлена информация о потоках.

Ниже приведены полезные горячие клавиши, которыми можно пользоваться в mytop.

h позволяет фильтровать потоки по заданному узлу.
d фильтрует потоки по имени базы.
u фильтрует потоки по пользователю.
F сбрасывает фильтры.
f показывает информацию по выбранному потоку. Необходимо указать ID потока.
i режим отображения только активных потоков, вернуться к общему списку можно, повторно нажав i.
H скрыть верхнюю секцию.
с отображает счетчики команд.
k завершает поток с указанным ID.
s изменяет время обновления. по умолчанию 5 секунд.

Помимо работы в интерактивном режиме, mytop умеет работать и в пакетном. Для этого при запуске mytop требуется указать ключ -b без аргументов.

В этом режиме неправильно использовать пароль в качестве аргумента для запуска mytop, поэтому лучше использовать конфигурационный файл.

Создадим файл ~/.mytop и добавим туда необходимые параметры.

Файл может содержать следующие строки:

user=root #имя пользователя БД
pass= #пароль пользователя БД
host=localhost #Хост
db=test #Имя БД
delay=5 #Время обновления
port=3306 #Порт для подключения
batchmode=0 #Использовать ли пакетный режим. 1 - использовать.
header=1 #Отображать ли заголовок.
idle=1 #Отображать ли спящие потоки.

На этом мое повествование подходит к концу, надеюсь вас mytop будет выручать так же, как и меня.


Смотрите также

comments powered by Disqus