在Centos中部署redis運行狀態圖形化監控工具 — RedisLive

寫在前面html

 

前兩天看到張善友老師的一篇文章《先定個小目標, 使用C# 開發的千萬級應用》,裏面給出了一張騰訊OA基礎服務中redis運行狀況的一張監控圖,而後想到本身的項目中前不久也上了redis緩存,因此也想找個監控工具。搜索一番,決定使用RedisLive來作監控。python

 

和RedisLive有關的信息git

 

RedisLive是由python編寫的而且開源的圖形化監控工具,很是輕量級,核心服務部分只包含一個web服務和一個基於redis自帶的info命令以及monitor命令的監控服務,界面上只有一個基於BootStrap的web界面,很是簡潔明瞭。除此以外,它還支持多實例監控,切換方便,並且配置起來也很是容易。監控信息支持redis存儲和持久化存儲(sqlite)兩種方式。開源地址爲:https://github.com/nkrode/RedisLivegithub

 

部署過程web

 

這裏繼續使用以前配置好的centos環境,配置步驟點這裏。Linux系統一般都已經裝好了python環境,因此咱們就不用額外再裝一次,運行命令:redis

python –V 

能夠查看系統中的python版本。因爲RedisLive是依賴於redis服務和web服務的,因此咱們要先安裝一些依賴包。sql

Python中的包管理工具是pip,默認狀況下centos是沒有安裝pip的,因此先裝好pip這個工具方便後面使用。shell

打開Xshell,鏈接上虛擬機,輸入命令下載安裝包:編程

wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz

解壓壓縮包:json

tar zvxf 1.5.5.tar.gz    #解壓文件

進入到pip文件目錄:

cd pip-1.5.5

執行安裝命令:

python setup.py install

而後會看到一大堆的安裝信息快速閃過,看到最後輸出

Finished processing dependencies for pip==1.5.5

就表示安裝成功了。

若是看到安裝失敗輸出錯誤信息:

Traceback (most recent call last):  

File "setup.py", line 31, in <module>  

 from setuptools import setup, find_packages  

ImportError: No module named setuptools

說明有一個依賴工具setuptools缺失,返回根目錄下載setuptools安裝包:

cd ~          //返回根目錄

wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg  //下載安裝包

而後執行:

sh setuptools-0.6c11-py2.7.egg

安裝完setuptools後,再次運行「python setup.py install」就能成功安裝pip了。

 

而後開始安裝RedisLive的依賴項。先裝好python中的web服務器tornado:

pip install tornado

再安裝redis的python版SDK:

pip install redis

最後安裝一個時間工具:

pip install python-dateutil

若是你的python版本小於2.7,還須要安裝argparse :

pip install argparse

到如今爲止,準備工做已經完成了,而後開始正式部署RedisLive。

先下載好RedisLive的源碼,能夠直接在虛擬機上使用git命令從github上下載(推薦):

git clone https://github.com/kumarnitin/RedisLive.git

也能夠在本地下載好壓縮包而後傳到虛擬機上,下載地址:

https://codeload.github.com/nkrode/RedisLive/legacy.zip/master

下載完成後能夠看到源碼結構爲:

其中redis-live.conf.example是做者給出的一個示例配置文件,啓動服務以前把.example後綴刪掉變成.conf文件(由於官網給的信息是編輯redis-live.conf來作配置,實際上從github上clone的代碼裏並無redis-live.conf這個文件,當時一直找.cong結尾的文件始終找不到,仔細一看原來是redis-live.conf.example,有點坑啊~),打開redis-live.conf,配置好redis實例的信息:

整個配置其實是一個json對象,RedisServers是redis服務器的信息,因爲是數組類型因此配置多個redis實例。DataStoreType是監控信息的存儲方式,有」redis」和」 sqlite」兩種方式,分別對應下面RedisStatsServer和SqliteStatsStore,編輯完成後保存。

redis-live.py是用來啓動web服務的,默認端口是8888 。redis-monitor.py就是redis監控的核心服務。

 

到此爲止全部準備工做都完成了,最後來啓動服務:

./redis-monitor.py --duration=30     //啓動監控,duration是心跳時間

./redis-live.py                    //啓動web服務,默認監聽8888端口

而後在瀏覽器中打開http://192.168.3.222:8888/index.html,就能夠看到監控信息了:

數據會30秒刷新一次,由於咱們在啓動了時候設置了心跳時間。在頁面右上角有一個下拉列表,裏面是在配置文件裏設置好的redis實例,能夠輕鬆切換。其餘功能能夠在頁面中慢慢感覺。

因爲個人項目如今沒有具體業務在跑因此監控數據不是不少,最後再來一張官網給出的效果圖:

至此,部署成功!

 

總結

雖然並不懂python語言也歷來沒有接觸過,但憑藉着這三年寫代碼的感受絲絕不影響整個部署過程,打開python源碼文件有些代碼也能大體猜到是什麼意思。再次讓我感覺到在編程世界,用什麼語言並不重要,重要的是什麼語言能知足實際須要,編程語言雖然不是徹底相通的,但仍是有太多類似的。

相關文章
相關標籤/搜索