File: //lib64/nagios/plugins/check_mysql_memory
#!/bin/bash
SQL_PID=$(sudo pgrep mysqld)
MARIADB_PID=$(sudo pgrep mariadb)
if [[ -n "${SQL_PID}" ]]; then
PID=${SQL_PID}
SQL=MYSQL
elif [[ -n "${MARIADB_PID}" ]]; then
PID=${MARIADB_PID}
SQL=MariaDB
else
echo "No SQL process not found"
exit 0
fi
MEM=$(sudo pmap ${PID} | tail -n 1 | awk '{print $2}' | tr -d K | awk '{$1=$1/(1024^2); print $1;}' | awk '{print int($1+0.5)}');
RAM=$(free -g | awk '/Mem\:/ { print $2 }');
if [ "${RAM}" -ge 35 ]; then
USAGEP=$((${RAM}*90/100))
if [[ "${MEM}" -ge "${USAGEP}" ]];then
echo "${SQL} Usage is ${USAGEP}% of total RAM. Using ${MEM} GB. Check now."
exit 2
else
echo "${SQL} Process Usage OK"
exit 0
fi
else
echo "${SQL} Process Usage OK"
exit 0
fi