HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //usr/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