memcached監控的幾種方法 nagios等

2021-05-14 15:49:27 字數 3313 閱讀 4588

最近根據程式設計師需要在一台伺服器上面部署了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即可...