Script

#!/bin/bash
###########################################################################
##  Copyright (C) Wizardry and Steamworks 2023 - License: GNU GPLv3      ##
###########################################################################
# This script matches the PID reported by HAproxy via its internal stats  #
# interface to the PID of the process from the process table and iff. the #
# two match then the script returns 0.                                    #
#                                                                         #
# Requirements:                                                           #
#   * socket                                                              #
#                                                                         #
###########################################################################
 
###########################################################################
#                           CONFIGURATION                                 #
###########################################################################
 
# HAProxy needs the socket for stats to be exposed.
# These settings added to the global section should enable the socket:
#   stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
#   stats timeout 30s
SOCKET_PATH="/run/haproxy/admin.sock"
PID_FILE="/run/haproxy.pid"
 
###########################################################################
#                             INTERNALS                                   #
###########################################################################
 
PID=$(cat <<EOF | \
    socat "$SOCKET_PATH" stdio | \
    grep ^Pid | \
    awk -F': ' '{ print $2 }'
show info
EOF
)
 
[ "$PID" != `cat "$PID_FILE"` ] || exit 1
 
exit 0 

Template

###########################################################################
##  Copyright (C) Wizardry and Steamworks 2023 - License: GNU GPLv3      ##
###########################################################################
 
check program haproxy with path "/etc/monit/templates/haproxy.sh"
   start program  "/bin/systemctl start haproxy"
   stop program  "/bin/systemctl stop haproxy"
   if status != 0 then restart

assets/monit/debian/templates/haproxy.txt ยท Last modified: 2024/11/02 00:51 by office

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key


For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.