2012-03-19 25 views
5

Tôi đang tìm cách ghi lại mọi hoạt động đang diễn ra trong máy chủ ghi nhớ của mình. Tất cả các lần đọc và viết.Log Memcached Activity

Điều này sẽ được sử dụng như một daemon phân tán cho rất nhiều ứng dụng php từ xa trên đám mây và cần một cách để SSH và kiểm tra hoạt động đang diễn ra, trên daemon.

Tôi đã googled rộng rãi và không thể tìm thấy một cách duy nhất để làm điều này.

Tương đương Redis sẽ đăng nhập vào bảng điều khiển tương tác và nhập MONITOR.

Xin cảm ơn trước.

+1

Bạn có thể tạo API để truy cập memcache và đặt nhật ký vào lớp này. Nhưng tôi đoán nó đánh bại mục đích của việc lưu trữ hiệu năng nhanh. – ajreal

Trả lời

5

Bạn có thể làm bằng memcached của telnet stats lệnh này như vậy:

  • phép thông tin chụp: stats detail on
  • chờ đợi một thời gian
  • disable chụp: stats detail off
  • đổ thông tin: stats detail dump

telnet yourhost 11211 và chạy trình tự ở trên. Lưu ý rằng điều này sẽ tác động rất lớn đến hiệu suất.

Ngoài ra, bạn có thể kiểm tra phpmemcacheadmin - đó là một công cụ thực sự tốt đẹp để theo dõi các hồ bơi ghi nhớ.

3

Bạn có thể bắt đầu memcached của bạn bằng cách sử dụng tham số -vv:

-vv   very verbose (also print client commands/reponses) 

Đầu ra là tương tự như sau:

Dec 12 10:33:12 hostname memcached[18350]: <33 new auto-negotiating client connection 
Dec 12 10:33:12 hostname memcached[18350]: 33: Client using the ascii protocol 
Dec 12 10:33:12 hostname memcached[18350]: <33 set your.key.1 3 300 525 
Dec 12 10:33:12 hostname memcached[18350]: >33 STORED 
Dec 12 10:33:12 hostname memcached[18350]: <33 get your.key.2 
Dec 12 10:33:12 hostname memcached[18350]: >33 sending key your.key.2 
Dec 12 10:33:12 hostname memcached[18350]: >33 END 

Kết quả sẽ được gửi đến thiết bị xuất chuẩn, vì vậy bạn có thể muốn chuyển hướng nó vào một số tệp.

0

Sử dụng trình giám sát để chạy memcached. Nó sẽ ghi lại đầu ra memcached (dựa trên số 1,2 hoặc 3 -v) vào syslog - vì vậy việc xoay log sẽ hoạt động (nó sẽ không nếu bạn chỉ xuất ra một tệp) và bạn có thể sử dụng syslog để gửi tất cả các bản ghi vào máy ghi nhật ký trung tâm (sử dụng một cái gì đó như graylog2 để lấy tất cả thông tin nhật ký).