redis哨兵常用命令和監控


sentinel monitor mymaster2 192.168.100.5 28001 2
sentinel set mymaster2 client-reconfig-script /etc/redis/reconfig.sh
sentinel flushconfig

 

role命令
查看sentinel monitor的master names名字

sentinel masters
查看所有監控master及其配置信息

sentinel master monitor_name
查看指定監控master及其配置信息


sentinel failover monitor_name
手動進行swithover切換主從,如果有多個slave會選擇哪個slave做為新的master,待測試?

sentinel moniotr <name> <ip> <port> <quorum>
添加監視的master

sentinel remove monitor_name
將監視的為name的master移除監視


sentinel set <mastername> [<option> <value>]
修改監視的master的一些屬性
down-after-milliseconds 過了這個時間考慮master go down
failover-timeout 刷新故障轉移狀態的最大時間
parallel-syncs slave同時reconfigure的個數
notification-script 設置通知腳本
client-reconfig-script 設置通知腳本
auth-pass 執行auth的密碼
quorum 修改master的quorum


sentinel flushconfig
將sentinel信息寫入到配置文件中

 

sentinel配置文件示例:

說明:

sentinel啟動后需要手動將配置文件對應的調整為sentinel deny-scripts-reconfig no,否則不支持命令行runtime修改client-reconfig-script
# SECURITY
#
# By default SENTINEL SET will not be able to change the notification-script
# and client-reconfig-script at runtime. This avoids a trivial security issue
# where clients can set the script to anything and trigger a failover in order
# to get the program executed.

#sentinel deny-scripts-reconfig yes

daemonize yes
pidfile "/home/redis/sentinel/25000/redis.pid"
loglevel notice
protected-mode yes
bind 192.168.100.5
logfile "/home/redis/sentinel/25000/redis.log"
port 25000
dir "/home/redis/sentinel/25000"
# Generated by CONFIG REWRITE
sentinel myid 0338c4ceb7cf39a8037a22fa17d0f7a76923b5a0
sentinel deny-scripts-reconfig no
sentinel monitor mymaster2 192.168.100.5 28001 2
sentinel client-reconfig-script mymaster2 /etc/redis/reconfig.sh
sentinel config-epoch mymaster2 4
sentinel leader-epoch mymaster2 4
sentinel known-replica mymaster2 192.168.100.6 28001
sentinel known-sentinel mymaster2 192.168.100.7 25000 06f937e1d35496dc66d2899e3b25e286ff91d658
sentinel known-sentinel mymaster2 192.168.100.6 25000 ede86ac0b7d2ff7b532d0e5352ba6e33dd36670e

sentinel monitor mymaster1 192.168.100.6 28002 2
sentinel client-reconfig-script mymaster1 /etc/redis/reconfig.sh
sentinel config-epoch mymaster1 5
sentinel leader-epoch mymaster1 1
sentinel known-replica mymaster1 192.168.100.5 28002
sentinel known-sentinel mymaster1 192.168.100.7 25000 06f937e1d35496dc66d2899e3b25e286ff91d658
sentinel known-sentinel mymaster1 192.168.100.6 25000 ede86ac0b7d2ff7b532d0e5352ba6e33dd36670e
sentinel current-epoch 5

  

sentinel client-reconfig-script腳本示例

#!/bin/bash

check_time=$(date +"%F-%T")
master_name="$1"
from_ip="$4"
from_port="$5"
to_ip="$6"
to_port="$7"


#填寫自己正確的機器人鏈接
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx' \
   -H 'Content-Type: application/json' \
   -d '
   {
        "msgtype": "text",
        "text": {
            "content": "【'$check_time' '$master_name' redis failover】\nfrom\n'$from_ip:$from_port'\nto\n'$to_ip:$to_port'",
       	    "mentioned_list":["xiaodongl"]
        }
   }'

 

redis主從切換告警


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM