haproxy狀態檢測指令碼(完成高可用)

HelloWorld-Q發表於2020-12-08

配置haproxy狀態檢測指令碼配置haproxy狀態檢測指令碼

touch /etc/keepalived/haproxy_check.sh

#!/bin/bash
START_HAPROXY="/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg" #haproxy啟動命令
LOG_FILE="/usr/local/keepalived/log/haproxy-check.log" # 日誌檔案
HAPS=`ps -C haproxy --no-header |wc -l` # 檢測haproxy的狀態,0代表未啟動,1已經啟動
date "+%Y-%m-%d %H:%M:%S" >> $LOG_FILE #在日誌檔案當中記錄檢測時間
echo "check haproxy status" >> $LOG_FILE # 記錄haproxy的狀態
if [ $HAPS -eq 0 ];then #執行haproxy判斷
  echo $START_HAPROXY >> $LOG_FILE #記錄啟動命令
  /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg #啟動haproxy
  sleep 3
  if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];then
    echo "start haproxy failed, killall keepalived" >> $LOG_FILE
    killall keepalived
    service keepalived stop
  fi
fi

測試 停掉192.168.8.111 的keepalived

本地測試輪詢(OK)

這就是高可用

haproxy狀態檢測指令碼

本作品採用《CC 協議》,轉載必須註明作者和本文連結
有夢想的人睡不著,沒有夢想的人睡不醒。

相關文章