Назад | Перейти на главную страницу

Отслеживайте длительные текущие запросы mysql

есть ли какой-либо плагин или возможность проверить с помощью nagios MySQL-запроса, который работает дольше, чем, например, 1 час? Так я получу предупреждение и смогу это сделать?

Я использую этот код, но не уверен, как перенести его в плагин nagios

#!/bin/bash
trigger=20
hostname=server.name
activeQcount=`mysql -e "show full processlist;" | egrep -v "leechprotect|root|Time" | awk -v T=$trigger '{ if ( $6 > T ) print $0}' | wc -l`
if [ $activeQcount -gt 0 ]
then
echo "=====================================================================================" > /tmp/MySQLcheckquery
echo "= MySQL Query Check recognized running script longer than 60mins" >> /tmp/MySQLcheckquery
echo "=====================================================================================" >> /tmp/MySQLcheckquery
date >> /tmp/MySQLcheckquery
echo "" >> /tmp/MySQLcheckquery
mysql -e "show full processlist;" >> /tmp/MySQLcheckquery
echo "=====================================================================================">> /tmp/MySQLcheckquery
cat /tmp/MySQLMon | awk -v T=$trigger '{ if ( $6 > T ) print $0}' | \
mail -s"MySQL Query Check recognized running script longer than $trigger seconds on $hostname"  $trigger seconds on "foo@email.com" -- -r "rob$
fi