Redis監控方案

Redis現在在業務中應用已經很廣泛了,但是如何監控redis,實時的觀察redis的性能,卻很少的提及,現在常見的監控方案基本上都是使用redis自帶的info命令和monitor命令獲取相關信息,然後提取出來顯示。

測試環境:

     redis版本:2.4.17  

     IP:10.20.111.188

1 redis-faina

   一個使用redis自帶命令monitor的輸出結果做分析的python腳本,在命令行下使用,可以做實時分析使用。

   官網:https://github.com/Instagram/redis-faina

   下載試用:

cd /opt/test
git clone https://github.com/Instagram/redis-faina.git
cd redis-faina/
redis-cli -p 6379 MONITOR | head -n 100 | ./redis-faina.py --redis-version=2.4

 測試結果如下:

Redis監控方案

   可以看到一些實時的數據,並且有一定的統計數據,可以作爲一個命令行工具使用。推薦使用,不過redis版本要大於2.4。

2 redis-live

   一個用來監控redis實例,分析查詢語句並且有web界面的監控工具,python編寫。

   官網:https://github.com/nkrode/RedisLive

   下載試用:

         運行環境依賴包安裝:http://www.nkrode.com/article/real-time-dashboard-for-redis

         redis-live安裝:

cd /root
git clone https://github.com/nkrode/RedisLive.git
cd RedisLive/src
###修改redis-live.conf文件
{
    "RedisServers":
    [ 
        {
            "server": "10.20.111.188",
            "port" : 6379
        }

    ],

    "DataStoreType" : "redis",

    "RedisStatsServer":
    {
        "server" : "10.20.111.188",
        "port" : 6380
    },

    "SqliteStatsStore" :
    {
        "path":  "to your sql lite file"
    }
}

###修改完畢
###啓動監控服務,每30秒監控一次
./redis-monitor.py --duration=30 
###再次開啓一個終端,進入/root/RedisLive/src目錄,啓動web服務
./redis-live.py

   在瀏覽器輸入: http://10.20.111.188:8888/index.html   即可看到下圖:

Redis監控方案

    一個web界面,可以同時監控多個redis實例,做集中監控比較好。

3 redis-stat

  一個用ruby寫成的監控redis的程序,基於info命令獲取信息,而不是通過monitor獲取信息,性能應該比monitor要好。

  官網:https://github.com/junegunn/redis-stat

       運行環境安裝:

apt-get install ruby
apt-get install rubygems

        redis-stat安裝:

cd /root
git clone https://github.com/junegunn/redis-stat.git
cd /root/redis-stat/bin
/redis-stat --help 可以看到使用幫助
./redis-stat 1

  下面看看redis-stat的具體用法

usage: redis-stat [HOST[:PORT] ...] [INTERVAL [COUNT]]

 -a, --auth=PASSWORD  Password
-v, --verboseShow more info
--style=STYLEOutput style: unicode|ascii
--no-color   Suppress ANSI color codes
--csv=OUTPUT_CSV_FILE_PATH   Save the result in CSV format

--server[=PORT]  Launch redis-stat web server (default port: 63790)
--daemon Daemonize redis-stat. Must be used with --server option.

--versionShow version
--help   Show this message

redis-stat命令行模式:

redis-stat
redis-stat 1
redis-stat 1 10
redis-stat --verbose
redis-stat localhost:6380 1 10
redis-stat localhost localhost:6380 localhost:6381 5
redis-stat localhost localhost:6380 1 10 --csv=/tmp/output.csv --verbose

redis-stat web模式:

redis-stat --server
redis-stat --verbose --server=8080 5
redis-stat --server --daemon

  效果如下:

Redis監控方案

運行web模式

cd /root/redis-stat/bin
./redis-stat --server=8080 5 --daemon

    在瀏覽器輸入: http://10.20.111.188:8080/  結果如下:

Redis監控方案

    不錯的工具,既有命令行又有web界面,可以放到後臺運行,數據比redis-live感覺直觀 ,ruby開發的,唯一的缺點是如果同時監控多個redis實例,不能單獨顯示每一個實例的數據信息,貌似是總和。

4 redis-monitor

  一個國人用java寫的,官網的是在win下編譯的,看着不錯,不過我在linux下沒調試起來...

  官網:https://github.com/litiebiao2012/redis-monitor 

   個人感覺,做集中監控可以使用redis-live,在命令行使用可以使用redis-stat,也可以根據自己的情況自行編寫,總之就是根據info和monitor命令獲取並展示信息。


作者:China_OS
鏈接:https://my.oschina.net/guol/blog/182265
來源:開源中國

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章