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: //lib64/nagios/plugins/a2_yum_processes.shared
#!/bin/bash
#
# SysEng Project: https://jira.a2hosting.com/browse/SYSENG-1853
# Refactored - https://a2hosting.atlassian.net/browse/SYSENG-27232
#
yum_procs=( $(ps aux | grep /usr/bin/yum | grep -v grep | awk '{print $2}') )
yum_proc_count=( $(ps aux | grep /usr/bin/yum | grep -vc grep) )
yum_max_age=21600 # 6 hours
threshold=1


if [[ ! "$(hostname -f)" =~ (a2hosting.com|supercp.com)$ ]]; then
  # random sleep to prevent running on all VMs on the same node at the same time
  sleep $(( ( RANDOM % 120 )  + 1 ))
fi

if [[ "${yum_proc_count}" -gt "${threshold}" ]]; then
  for proc in ${yum_procs[@]}; do
    yum_proc_age=$(ps -p ${proc} -o etimes=)
    if [[ "${yum_proc_age}" -gt "${yum_max_age}" ]]; then
      echo "${count} processes running"
      exit 2
      break
    fi
  done
else
  echo "YUM processes - OK"
  exit 0
fi