下載地址 http://livebookmark.net/memcachephp/memcachephp.zip
http://blogimg.chinaunix.net/blog/upfile2/081230231118.zip
須要注意的是,使用以前要修改裏面的幾個選項
vim memcache.php
.....
define('ADMIN_USERNAME','memcache'); // 定義用戶名
define('ADMIN_PASSWORD','password'); // 定義密碼
.....
$MEMCACHE_SERVERS[] = 'mymemcache-server:11211'; //定義要查看的ip和端口
$MEMCACHE_SERVERS[] = 'mymemcache-server2:11212'; //可添加多個
其餘內容略
上面的圖就是訪問時的效果,是否是很直觀?
2、利用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出現問題的時候經過郵件或者短信來通知我,下面來介紹一個更好的辦法
3、Nagios的check_memcached
下載地址:
http://search.cpan.org/CPAN/authors/id/Z/ZI/ZIGOROU/Nagios-Plugins-Memcached-0.02.tar.gz
http://cpan.uwinnipeg.ca/cpan/authors/id/Z/ZI/ZIGOROU/Nagios-Plugins-Memcached-0.02.tar.gz
這個腳本是用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 {
command_name check_memcached_11211
command_line $USER1$/check_memcached -H 192.168.1.139:11211 --size-warning 80 --size-critical 90
}
上面這個是來監控memcached的內存使用比例
define command {
command_name memcached_response_11211
command_line /usr/local/bin/check_memcached -H 192.168.1.139 -w 300 -c 500
}
這個是用來監控memcached是否還有應答
define command {
command_name check_memcached_hit
command_line /usr/local/bin/check_memcached -H 192.168.1.139 --hit-warning 10 --size-critical 5
}
這個就是命中率啦
最後要在services.cfg裏面加點東西
define service{
host_name xmanWeb1
service_description memcached_11211
check_command check_memcached_11211
max_check_attempts 3
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups babelgroup
}
其餘的能夠按照本身要求添加..
好了,讓咱們從新啓動下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~