欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis一鍵巡檢腳本的實現(xiàn)

 更新時間:2024年06月06日 09:18:11   作者:一坨小橙子ovo  
在使用Redis作為數(shù)據(jù)存儲的時候,定期進(jìn)行巡檢是非常重要的,本文主要介紹了Redis一鍵巡檢腳本的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下

今日分享redis一鍵巡檢腳本,適用于單機(jī)、主從和cluster集群。大家有需要的可以先在本地測試,確認(rèn)沒問題后再運(yùn)行于生產(chǎn)環(huán)境。

#!/bin/bash

# 檢查是否安裝了redis-cli工具,如果沒有安裝,則提示安裝

if ! command -v redis-cli &> /dev/null

then

    echo "redis-cli could not be found, please install it first."

    exit 1

fi

# 設(shè)置你的Redis地址和端口,如果沒有安裝,則提示安裝

REDIS_HOST="127.0.0.1"

REDIS_PORT=6379

# 登錄的密碼,如果沒有設(shè)置密碼,這一行可以注釋掉

REDIS_PASSWORD="123456"

function check_redis() {
#這是核心函數(shù),它接受主機(jī)、端口和密碼作為參數(shù)并執(zhí)行檢查

    local HOST=$1

    local PORT=$2

    local PASSWORD=$3

    # 執(zhí)行INFO命令,獲取Redis狀態(tài)信息

    if [ -z "$PASSWORD" ]; then

        REDIS_INFO=$(redis-cli -h $HOST -p $PORT INFO)

    else

        REDIS_INFO=$(redis-cli -h $HOST -p $PORT -a $PASSWORD INFO)

    fi

    echo "Checking Redis on $HOST:$PORT"

    # 打印內(nèi)存使用情況

    MEMORY_USED=$(echo "$REDIS_INFO" | grep "used_memory_human" | cut -d':' -f2)

    echo "Memory Used: $MEMORY_USED"

    # 打印連接數(shù)

    TOTAL_CONNECTIONS=$(echo "$REDIS_INFO" | grep "total_connections_received" | cut -d':' -f2)

    echo "Total Connections Received: $TOTAL_CONNECTIONS"

    # 打印當(dāng)前連接數(shù)

    CURRENT_CONNECTIONS=$(echo "$REDIS_INFO" | grep "connected_clients" | cut -d':' -f2)

    echo "Currently Connected Clients: $CURRENT_CONNECTIONS"

    # 打印Key數(shù)量

    TOTAL_KEYS=$(redis-cli -h $HOST -p $PORT -a $PASSWORD DBSIZE)

    echo "Total Keys: $TOTAL_KEYS"

    # 打印角色,判斷是否為主從結(jié)構(gòu)或集群

    ROLE=$(echo "$REDIS_INFO" | grep "role" | cut -d':' -f2)

    echo "Role: $ROLE"

    if [ "$ROLE" = "master" ]; then

        echo "This is a master instance."

        # 打印已連接的從節(jié)點(diǎn)數(shù)量以及信息

        CONNECTED_SLAVES=$(echo "$REDIS_INFO" | grep "connected_slaves" | cut -d':' -f2)

        echo "Connected Slaves: $CONNECTED_SLAVES"

        for i in $(seq 0 $(($CONNECTED_SLAVES - 1)))

        do

            SLAVE_INFO=$(echo "$REDIS_INFO" | grep "^slave${i}:")

            echo "Slave ${i}: $SLAVE_INFO"

        done

    elif [ "$ROLE" = "slave" ]; then

        echo "This is a slave instance."

        # 打印主節(jié)點(diǎn)的信息

        MASTER_HOST=$(echo "$REDIS_INFO" | grep "master_host" | cut -d':' -f2)

        MASTER_PORT=$(echo "$REDIS_INFO" | grep "master_port" | cut -d':' -f2)

        echo "Connected to Master: $MASTER_HOST:$MASTER_PORT"

    fi

    echo "-----------------------------------------"

}

# 單機(jī)模式巡檢

check_redis $REDIS_HOST $REDIS_PORT $REDIS_PASSWORD

# 如果有多個Redis實例(如主從結(jié)構(gòu)或集群模式),可以增加相應(yīng)的IP和端口

# 如:check_redis "192.168.1.1" 6380 "yourpassword"

# 集群模式巡檢,通過集群節(jié)點(diǎn)遍歷

# 獲取集群節(jié)點(diǎn)列表

CLUSTER_NODES=$(redis-cli -h $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASSWORD CLUSTER NODES | awk '{print $2}' | awk -F@ '{print $1}')

for NODE in $CLUSTER_NODES; do

    NODE_IP=$(echo $NODE | cut -d':' -f1)

    NODE_PORT=$(echo $NODE | cut -d':' -f2)

    check_redis $NODE_IP $NODE_PORT $REDIS_PASSWORD

done

腳本說明:

  • 檢查redis-cli工具是否安裝:如果沒有安裝,則提示安裝。
  • 基本配置:你需要設(shè)置Redis的地址、端口以及密碼(如果有的話)。
  • 函數(shù)check_redis:這是核心函數(shù),它接受主機(jī)、端口和密碼作為參數(shù)并執(zhí)行檢查。
  • 內(nèi)存使用、連接數(shù)、key數(shù)量檢查:通過redis-cli INFO命令提取相關(guān)信息。
  • 區(qū)分單機(jī)、主從、集群:通過檢查role字段來判斷Redis的角色,并針對不同的角色執(zhí)行相應(yīng)的操作。
  • 單機(jī)模式巡檢:對單個Redis實例執(zhí)行檢查。
  • 集群模式巡檢:遍歷所有集群節(jié)點(diǎn)進(jìn)行檢查。

到此這篇關(guān)于Redis一鍵巡檢腳本的實現(xiàn)的文章就介紹到這了,更多相關(guān)Redis一鍵巡檢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Redis突現(xiàn)拒絕連接問題處理方案

    Redis突現(xiàn)拒絕連接問題處理方案

    這篇文章主要介紹了Redis突現(xiàn)拒絕連接問題處理方案,分析原因是由于redis與業(yè)務(wù)共一個服務(wù)器,內(nèi)存只有8G,業(yè)務(wù)服務(wù)啟動過多,內(nèi)存不足導(dǎo)致redis拒絕連接,需要的朋友可以參考下
    2024-02-02
  • Redis字符串類型的常用命令小結(jié)

    Redis字符串類型的常用命令小結(jié)

    這篇文章給大家整理了在操作Redis字符串類型中的常用命令,文章總結(jié)的很全面,對大家學(xué)習(xí)Redis具有一定的參考借鑒價值,下面來一起看看吧。
    2016-09-09
  • 如何利用 Redis 實現(xiàn)接口頻次限制

    如何利用 Redis 實現(xiàn)接口頻次限制

    這篇文章主要介紹了如何利用 Redis 實現(xiàn)接口頻次限制,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Redis的Cluster集群搭建的實現(xiàn)步驟

    Redis的Cluster集群搭建的實現(xiàn)步驟

    本文檔只對Redis的Cluster集群做簡單的介紹,并沒有對分布式系統(tǒng)的所涉及到的概念做深入的探討。感興趣的小伙伴們可以參考一下
    2021-07-07
  • Redis數(shù)據(jù)結(jié)構(gòu)之intset整數(shù)集合使用學(xué)習(xí)

    Redis數(shù)據(jù)結(jié)構(gòu)之intset整數(shù)集合使用學(xué)習(xí)

    這篇文章主要為大家介紹了Redis數(shù)據(jù)結(jié)構(gòu)之整數(shù)集合使用學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 詳解Redis如何多規(guī)則限流和防重復(fù)提交

    詳解Redis如何多規(guī)則限流和防重復(fù)提交

    市面上很多介紹redis如何實現(xiàn)限流的,但是大部分都有一個缺點(diǎn),就是只能實現(xiàn)單一的限流,但是如果想一個接口兩種規(guī)則都需要滿足呢,使用本文就來介紹一下redis實現(xiàn)分布式多規(guī)則限流的方式吧
    2023-12-12
  • Redis 數(shù)據(jù)類型Streams詳解

    Redis 數(shù)據(jù)類型Streams詳解

    Redis Streams是Redis 5.0新增的數(shù)據(jù)類型,提供了一種日志結(jié)構(gòu)化數(shù)據(jù)存儲方式,這種類型適合用于構(gòu)建消息隊列、事件日志和處理時間序列數(shù)據(jù)的應(yīng)用,本文介紹Redis 數(shù)據(jù)類型Streams相關(guān)知識,感興趣的朋友一起看看吧
    2024-10-10
  • Redis Cluster集群主從切換的踩坑與填坑

    Redis Cluster集群主從切換的踩坑與填坑

    這篇文章主要介紹了Redis Cluster集群主從切換的踩坑與填坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • redis中RedissonLock如何實現(xiàn)等待鎖的

    redis中RedissonLock如何實現(xiàn)等待鎖的

    本文主要介紹了redis中RedissonLock如何實現(xiàn)等待鎖的,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Redis RDB快照持久化及寫操作禁止問題排查與解決

    Redis RDB快照持久化及寫操作禁止問題排查與解決

    本文主要介紹了Redis RDB快照持久化及寫操作禁止問題排查與解決,由于?stop-writes-on-bgsave-error?選項處于啟用狀態(tài),所以寫操作被禁止,下面就來介紹一下,感興趣的可以了解一下
    2025-04-04

最新評論