利用ganglia監控redis的最新解決方案_Redis

來源:互聯網
上載者:User

前言

Ganglia主要用來監控系統效能的軟體,通過曲線很容易見到每個節點的工作狀態,對合理調整,分配系統資源,提高系統整體效能起到重要作用,支援瀏覽器方式訪問,但不能監控節點硬體技術指標。Ganglia是分布式的監控系統。

Redis現在在業務中應用已經很廣泛了,但是如何監控redis,即時的觀察redis的效能,在搜尋引擎搜尋“ganglia監控redis”,發現都是13年的老文章,都是說要到https://github.com/ganglia/gmond_python_modules這個第三方外掛程式庫下載redis監控模組

解決方案

但是我發現gmond_python_modules這個repo下面已經沒有redis模組了,於是查看git log,發現redis模組已經整合到ganglia源碼包裡了

於是下載了源碼包,搜尋之後發現redis模組位於gmond/python_modules/db/redis.py,設定檔在gmond/python_modules/conf.d/redis.pyconf.disabled

修改設定檔裡的host和port兩個參數為要監控redis的ip和連接埠,然後將兩個檔案複製到對應的目錄下。(通常redis.pyconf複製到ganglia安裝目錄/etc/conf.d/下,redis.py複製到ganglia安裝目錄/lib64/ganglia/python_modules

重啟gmond,可以看到有redis的圖出來了,但是資料卻都是空的。

於是停掉gmond,使用gmond -f -d 1啟用偵錯模式,發現redis.py報錯

[PYTHON] Can't call the metric handler function for [connected_clients] in the python module [redis].Traceback (most recent call last):File “/opt/gmond/lib64/ganglia/python_modules/redis.py”, line 21, in metric_handlern, v = line.split(“:”)ValueError: need more than 1 value to unpack

查看上下文代碼

for line in info.splitlines()[1:]: if "" == line:  continue n, v = line.split(":")

大概意思是把redis info命令輸出的每一個非空行用:分割,但是我安裝的redis版本是2.8+,info命令會輸出類似#Server這樣的注釋,這樣就導致按:分割失敗,所以python報錯,gmond取不到值。

所以解決方案也很簡單,把上面那段代碼修改成如下即可,也就是跳過空行和以#開頭的行

for line in info.splitlines()[1:]: if "" == line or line[0] == '#':  continue n, v = line.split(":")

再重啟gmond,過一會就可以在ganglia看到資料了

==========================================

看了下ganglia在github上的代碼,發現最新代碼已經把這個bug修複了,只不過還沒有release

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.