2012-03-19 16 views
5

Estoy buscando para registrar toda la actividad en mi servidor memcached. Todo lo lee y lo escribeLog Memcached Activity

Esto se usará como un daemon distribuido para muchas aplicaciones remotas de php en la nube y necesita una forma de SSH para ver la actividad que se desarrolla en el daemon.

He buscado extensamente y no puedo encontrar una sola forma de hacerlo.

El equivalente de Redis sería iniciar sesión en la consola interactiva y escribir MONITOR.

Gracias de antemano.

+1

Puede crear una API para acceder a Memcache y colocar el registro en esta capa. Pero supongo que frustra el objetivo de tener un almacenamiento de alto rendimiento. – ajreal

Respuesta

5

Usted puede hacer esto con el comando de memcached telnet stats como tal:

  • permitir la captura de información: stats detail on
  • esperar un tiempo
  • desactivar la captura: stats detail off
  • volcar la información: stats detail dump

telnet yourhost 11211 y ejecute la secuencia anterior. Tenga en cuenta que esto tendrá un gran impacto en el rendimiento.

También podría echarle un vistazo phpmemcacheadmin - es una herramienta muy buena para monitorear piscinas de memcached.

3

Usted puede comenzar su memcached utilizando el parámetro -vs:

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

La salida es similar a esto:

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 

La salida se envía a la salida estándar, por lo que es posible que desee redirigir a algún archivo.

0

Utilice supervisord para ejecutar memcached. Registrará la salida de memcached (basada en 1,2 o 3 -v) en syslog, por lo que la rotación de registros debería funcionar (no lo hará si solo canaliza la salida a un archivo) y puede usar syslog para enviar todo el registra en una máquina registradora central (usando algo como graylog2 para tomar toda la información de registro).