標籤:zabbix redis 監控
Redis 學習(Zabbix 監控Redis)
前面redis的設定檔盒常用命令、redis info資訊都解釋完了,接下來就是監控我們的redis了,我使用的是zabbix監視軟體,所有在這裡我在這裡詳細介紹下怎麼設定zabbix來監控reids,主要分為配置zabbix外掛程式、外掛程式指令碼、建立模板監控項、建立圖形幾個方面。
Redis 學習(設定檔和常用命令注釋):
http://54snow.blog.51cto.com/2690157/1537449
Redis 學習(Redis Info詳細注釋):
http://54snow.blog.51cto.com/2690157/1537464
==========================================================================================
一、配置zabbix外掛程式
個人覺得zabbix很方便也很強大的原因就是能夠隨心所欲的自訂外掛程式,我們想要監控一個當zabbix本身沒有模板的東西時,完全可以自己寫一個外掛程式(其實就可以說是一個指令碼)來監控需要監控的東西。下面就是我配置的監控redis的外掛程式(上面一個外掛程式配置是監控mysql的,也是自己定義的外掛程式監控,需要查看zabbix監控mysql的資訊請移步http://54snow.blog.51cto.com/2690157/1425807)
在zabbix_agentd.conf中添加外掛程式
vim/usr/local/zabbix_agentd/etc/zabbix_agentd.conf
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/45/39/wKioL1Pkfw_Tq8P4AACTEni5EY0388.jpg" title="111111.jpg" alt="wKioL1Pkfw_Tq8P4AACTEni5EY0388.jpg" />
Redis.status 是監控redis是否能夠串連的,通過grep -c擷取PONG個數,0或1
Redis.Info 就是需要監控的其他事項了,指令碼資訊稍候查看,(這裡跟了 $1 $2兩個參數,如果zabbix監控項只給傳遞一個參數時,就當$2是不存在的)
添加完外掛程式後重啟zabbix_agentd
killallzabbix_agentd
/usr/local/zabbix_agentd/sbin/zabbix_agentdstart
ps axuf | grepzabbix_agentd
二、外掛程式指令碼
外掛程式指令碼也就是一個shell指令碼,通過shell指令碼把所需要的資料提取出來並轉換成zabbix能夠接受的資料,然後在傳給zabbix;下面外掛程式指令碼中的這些參數名都為redis info中的資訊,未做任何改動,如果不明白這些參數所代表的意思可以參考我的另一篇文章(Redis Info資訊詳細說明:)
這個外掛程式指令碼我不做詳細的介紹,我相信大家都能夠看懂是什麼意思;只說明一點,這裡通過Shell變數$#來確定參數個數,然後在確定該怎麼操作。
提示:外掛程式指令碼已經在後面附件中給出,可以自己下載。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/45/38/wKiom1PkehzAuTc3AAGmf6wRjJI785.jpg" title="2.jpg" alt="wKiom1PkehzAuTc3AAGmf6wRjJI785.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/45/38/wKiom1PkelHD7rVRAAEOXYstkWM816.jpg" style="float:none;" title="3.jpg" alt="wKiom1PkelHD7rVRAAEOXYstkWM816.jpg" />
這一部分外掛程式指令碼是為了統計redis資料庫中由多少key和到期key以及被刪除的key,他需要統計那個資料庫($1),因此就需要傳遞兩個參數
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/45/39/wKioL1Pke2vxHLoAAACuPm9QWZ8931.jpg" style="float:none;" title="4.jpg" alt="wKioL1Pke2vxHLoAAACuPm9QWZ8931.jpg" />
三、建立zabbix模板監控項
提示:模板在後面附件中已經給出,如果不想自己添加的下載下來匯入即可
1.首先先建立模板
組態-->模板-->建立模板
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/45/39/wKioL1Pke7-SGNjvAACQs4KeS7I058.jpg" title="523.jpg" alt="wKioL1Pke7-SGNjvAACQs4KeS7I058.jpg" />
2.添加應用集
組態-->模板-->RedisMonitor-->建立應用集
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/45/38/wKiom1PkezrS1mxMAADPZMe1IqM730.jpg" style="float:none;" title="qased.jpg" alt="wKiom1PkezrS1mxMAADPZMe1IqM730.jpg" />
3.建立監控項(這裡總共19個監控項,我以其中幾個不同的舉例說明)
添加監控項其中最重要的地方就是索引值和資料類型這兩個地方,redis提出出來的資料大多數都是數字,十進位的,所有這種資料類型是大多數監控項的配置
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/45/39/wKioL1PkfFTTMJnHAAETCauAzJE974.jpg" style="float:none;" title="qwer.jpg" alt="wKioL1PkfFTTMJnHAAETCauAzJE974.jpg" />
CPU資料取出來基本都是帶有小數點的,所有不能用數字無正負類型,改為浮點類型
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/45/38/wKiom1PkezvQHKSZAAEq4RvToS0954.jpg" style="float:none;" title="1111.jpg" alt="wKiom1PkezvQHKSZAAEq4RvToS0954.jpg" />
uptime這個監控項,從redis中取出來的資料是以秒為單位的時間,這裡需要將單位填寫uptime
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/45/39/wKioL1PkfFXihZLJAAEVkHNr6aU402.jpg" style="float:none;" title="222.jpg" alt="wKioL1PkfFXihZLJAAEVkHNr6aU402.jpg" />
version從redis中取出來是類似2.8.11 這種類型的資料,所以這裡資料類型就需要使用字元
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/45/38/wKiom1PkezyzP9WgAADykQLQDFA897.jpg" style="float:none;" title="333.jpg" alt="wKiom1PkezyzP9WgAADykQLQDFA897.jpg" />
以上就是redis監控項中不同的資料類型的監控,其他監控項基本都是如此的,按照例子進行建立你想要得監控項就可以了
四、建立圖形
建立圖形這個就簡單的多咯,直接把你想要放在一張圖上的監控項添加在一起就可以了,我這裡就給出我的圖形
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/45/38/wKiom1Pke93yaNxoAADG-PN-YWw083.jpg" style="float:none;" title="111.jpg" alt="wKiom1Pke93yaNxoAADG-PN-YWw083.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/45/39/wKioL1PkfPfx62M4AAEHib2nMAs219.jpg" style="float:none;" title="222.jpg" alt="wKioL1PkfPfx62M4AAEHib2nMAs219.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/45/38/wKiom1Pke-HjbHb5AAD1SEHew6c569.jpg" style="float:none;" title="333.jpg" alt="wKiom1Pke-HjbHb5AAD1SEHew6c569.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/45/39/wKioL1PkfPqS9x0pAAD_chmeUnE410.jpg" style="float:none;" title="444.jpg" alt="wKioL1PkfPqS9x0pAAD_chmeUnE410.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/45/38/wKiom1Pke-LhxDxjAAEE-MpjtLg276.jpg" style="float:none;" title="555.jpg" alt="wKiom1Pke-LhxDxjAAEE-MpjtLg276.jpg" />
建立觸發器
組態-->模板-->觸發器-->建立觸發器
這裡我就為Redis.Status建立了一個觸發器,判斷redis是否能夠串連;因為無論redis是作為快取服務器來緩衝一些即時資料還是做資料庫使用,如果redis無法串連的時候肯定會影響到現有的業務,所有我將嚴重性定位災難,你們也可以根據自己的情況定義
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/45/39/wKioL1PkfPuxYa2yAACxPnukSVY504.jpg" style="float:none;" title="666.jpg" alt="wKioL1PkfPuxYa2yAACxPnukSVY504.jpg" />
到這裡zabbix 監控Redis的整個過程就差不多完成了,剩下的就是將模板應用到redis主機了,這個我這裡就不詳細說明了。然後可以將這個模板匯出了,供以後其他地方使用。
本文出自 “Snow” 部落格,請務必保留此出處http://54snow.blog.51cto.com/2690157/1537482