歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Redis監控數據分布工具Redis-audit 使用總結

Redis監控數據分布工具Redis-audit 使用總結

日期:2017/2/28 14:45:48   编辑:Linux教程

Redis-audit 是一個用ruby實現的腳本,通過它,我們可以知道每一類 key 對內存的使用量。它可以提供的數據有:某一類 key 值的訪問頻率如何,有多少值設置了過期時間,某一類 key 值使用內存的大小,這很方便讓我們能排查哪些 key 不常用或者壓根不用。

比較了下,比這些 Sentinel,Redis Live,Redis Faina,Redis-sampler,Redis-rdb-tools 監控或者數據分布工具要好!

下載

git clone https://github.com/snmaynard/redis-audit.git

下載後有如下幾個文件,文件制定的ruby版本,redis版本可能會需要根據你已安裝的進行調整:

Gemfile Gemfile.lock README.md redis-audit.rb

可能會涉及到安裝一些依賴包

gem install bundle

使用

bundle exec ruby redis-audit.rb [host] [port] [dbnum] [(optional)sample_size]比如:

bundle exec ruby redis-audit.rb 127.0.0.1 6379 1 10000

10000 是指隨機個數,如果超過數據庫的鍵的數量,則遍歷所有鍵,如果小於,則隨機10000 ,10000個可能重復

輸出:

分析:

監控了一下腳本的執行,原理上都是發請求給redis,

1.先是嘗試連接:"select" "1"

2.然後獲取鍵的數量:"dbsize"

3.如果輸入的Sample Size大於數據庫鍵的數量,則遍歷所有的鍵,不隨機;

如果小於,則以我們輸入的采樣個數,進行隨機樣本次數,獲取到隨機鍵:"randomkey"

4.每個鍵都進行如下三步操作,比如鍵為horse:39:

4.1 "debug" "object" "horse:39" 這個是用來計算內存使用的,和鍵的閒置時間

4.2 "type" "horse:39" 這個是用來判斷鍵值的類型的

4.3 "ttl" "horse:39" 這個是用來看這個鍵的有效期的

這樣,再整合info的其他數據,slow log的,幾個client連著,如此般的監控腳本我們自己也可以用其他語言去實現,比如時下流行的html5做個監控界面。

Copyright © Linux教程網 All Rights Reserved