Redis-叢集監控之Redis monitor
連續兩天配置Redis 叢集監控,嘗試過三種開源軟體,Redis-live,Redis-state,Redis-monitor ,由於內網生產環境,每一個軟體的部署都費了老勁。
簡單說一下,避免再有人趟坑。
1、Redis-live:此專案5年沒有維護過了,解決完所有的依賴如: python-devel redis-py, pip, setuptools, dateutil, tornado安裝完成後啟動 redis-monitor.py –duraion=120 後120s 自動shutting down,google了一下,很多人遇到這個問題,看到過比較一致的解釋是依賴於google的js檔案,內網的話就不要考慮了,沒有找到任何的解決方案。內網不建議安裝。
2、Redis-stat 有外網的情況下是很容易安裝的,需要ruby-2.0以上版本,yum 安裝的話需要解除安裝 ruby ruby-doc 原始碼安裝如ruby-2.1.9,需要重建軟連線 ln -s
內網安裝gem依賴就比較麻煩了,兩種方式:(1)
(2)在一臺有外網的Linux虛機安裝完ruby-2.1.9 以後, 2.替換rubygems源
gem install redis-stat
gem 會下載所有的.gem依賴在caches裡,拷貝出來放到目標主機,在目標主機執行 gem install caches/*
cd redis-monitor-state/bin
./redis-state –help
如果報錯,再下載個別gem 檔案 ,我安裝時缺少 readline 下載rb-readline-0.5.4.gem 單獨安裝 gem install rb_readline-0.5.4.gem 再次執行 ./redis-state –help
詳細可參考官方:
或
http://www.cnblogs.com/chenpingzhao/p/5429890.html
缺點:安裝完成之後發現對叢集的支援不好,適合於單個例項的監控,不適用於整個叢集動態監控。繼續入坑……
3、最後找到了Redis-monitor ,是對Redis-live的改進,安裝跟Redis-live的依賴即可。
安裝過程的難題:
(1)配置檔案redis_live.conf 檔案改動較大,json格式不要寫錯,否則會導致獲取不到conf檔案;配置檔案用不合適的編輯器開啟過,攜帶入部分錯誤的換行符
(2)原始碼對redis高版本的支援,可能會報錯指向 /redis-monitor-master/src/api/controller/BaseController.py 第30行, 改為 slaves += str(info[“slave” + (str)(i)]) 另外 redis_monitor.py 198行,同樣的改法。
(3)訪問url 403 forbidden ,實際訪問的url: ip:8888/index.html
安裝完成,完美監控叢集。
專案: