最近根據程式設計師需要在一台伺服器上面部署了memcached服務,雖然用上了,但是對他還不是非常了解。於是開始收集整理他的相關資料,其中一部分就是對他的監控了。
目前我所知道的監控方法大概有以下幾種:
一、memcache.php 這個東東算是最簡單的了,只要支援php環境就能用,把這個檔案放到你的網頁存放目錄下就可以了訪問方法
需要注意的是,使用之前要修改裡面的幾個選項
vim memcache.php
.....
define('admin_username','memcache'); // 定義使用者名稱
define('admin_password','password'); // 定義密碼
.....
$memcache_servers = 'mymemcache-server:11211'; //定義要檢視的ip和埠
$memcache_servers = 'mymemcache-server2:11212'; //可新增多個
其他內容略
上面的圖就是訪問時的效果,是不是很直觀?
二、利用memcached自身的命令來檢查
telnet localhost 11211
trying 127.0.0.1...
connected to localhost.localdomain (127.0.0.1).
escape character is '^]'.
stats
stat pid 24567
stat uptime 6576
stat time 1261035123
stat version 1.4.3
.....
stat bytes 64035
stat curr_items 41
stat total_items 96
stat evictions 0
end不過這個方法我覺得不太方便,從網上搜到了另乙個好辦法,那就是利用nagios的check_tcp (mixi的方法)
check_tcp -h localhost -p 11211 -t 5 -e -s 'stats/r/nquit/r/n' -e 'uptime' -m crit 輸出結果和上面差不多
tcp ok - 0.001 second response time on port 11211 [stat pid 10663
stat uptime 76444
stat time 1259641750
stat version 1.4.2
.....中間省略
stat bytes 1385408560
stat curr_items 227799
stat total_items 5012750
stat evictions 0
end]|time=0.001142s;;;0.000000;5.000000
這樣我們就能在nagios裡面新增命令來檢視他的執行狀態了
不過這樣還不夠,我還需要在memcached出現問題的時候通過郵件或者簡訊來通知我,下面來介紹乙個更好的辦法
三、nagios的check_memcached
這個指令碼是用perl編的,所以你要先確保自己的機器裡面是否有perl環境,不過一般都會預設安裝
[root@nodea soft]# which perl
/usr/bin/perl
[root@nodea soft]# tar xzvf nagios-plugins-memcached-0.02.tar.gz
[root@nodea soft]# cd nagios-plugins-memcached-0.02
[root@nodea nagios-plugins-memcached-0.02]# perl makefile.pl
執行後會出現一些提示讓你選擇,按照自己想法選或者一路回車都能通過
[root@nodea nagios-plugins-memcached-0.02]# make
[root@nodea nagios-plugins-memcached-0.02]# make install
缺省會吧check_memcached檔案放到/usr/bin/check_memcached
沒關係 把他拷貝到nagios的libexec下
在 commands.cfg裡面加上這麼幾條(這裡我沒有把check_memcached裝在memcached伺服器上,而是通過nagios的 check_memcached直接去訪問memcached伺服器的11211埠,當然你也可以把他裝在memcached伺服器上利用 check_nrpe來取他的值)
define command
上面這個是來監控memcached的記憶體使用比例
define command
這個是用來監控memcached是否還有應答
define command
這個就是命中率啦
最後要在services.cfg裡面加點東西
define service
其他的可以按照自己要求新增..
好了,讓我們重新啟動下nagios服務
/etc/init.d/nagios restart
看看結果
呵呵好了,nagios監控memcached基本就搞定了。
另外還可以根據
check_tcp -h localhost -p 11211 -t 5 -e -s 'stats/r/nquit/r/n' -e 'uptime' -m crit
的輸出結果自己編寫指令碼來檢測memcached,這裡我就不多說了...
還可以利用check_tcp的結果結合cacti 來製作memcached的流量檢視,當然cacti也有專門針對memcached的模板(不過我的模板一直抓不到資料...)
希望大家看完我的文章後都能方便的實現memcached的監控 o(∩_∩)o~
本文出自 「
story的天空 」 部落格,請務必保留此出處
memcached效能監控
我給大家介紹了如何在windows平台上部署memecached服務端,如何在.net平台中應用memcached,詳細介紹了兩種流行的客戶端元件的配置,使用 儲存 取值 替換 刪除 快取時間設定等 優缺點等。在我們的測試專案中,主要是針對 單台伺服器 的應用場景。事實上,在我們實際開發中,往往需要...
memcached監控工具
最簡單和最直接的方式是在啟動memcached的時候加入 vv引數,從而在控制台列印每次客戶端的請求和相應,這非常適合開發。另外一種較為直接的方式是通過telnet進行檢視,例如 若server為本機11211埠,可使用 telnet localhost 11211 進行登入,然後使用stats即可...
memcached監控工具
最簡單和最直接的方式是在啟動memcached的時候加入 vv引數,從而在控制台列印每次客戶端的請求和相應,這非常適合開發。另外一種較為直接的方式是通過telnet進行檢視,例如 若server為本機11211埠,可使用 telnet localhost 11211 進行登入,然後使用stats即可...