Après un court article d’introduction sur Memcached, je reviens sur son monitoring. :)

Pour rappel :

Memcached est un système de cache d’objets distribué et non répliqué. Il va stocker des objets en RAM, pour diminuer les temps de réponses des applications.

Chaque serveur Memcached démarre avec une certaine quantité de mémoire allouée. Comme le système est de type LRU (Least Recently Used), ce sont les données les plus anciennes qui seront supprimées une fois la limite de la mémoire atteinte. Et inversement, il n’est pas non plus judicieux d’allouer trop de RAM car la perte d’une instance Memcached entrainerait la perte des données stockées (si elle n’est pas protégée/répliquée).

Pour surveiller les serveurs Memcached, on peut jouer avec beaucoup d’outils / de scripts (templates Cacti, Nagios, etc.), mais il existe une solution dédiée au monitoring  et au debugging de Memcached : phpmemcacheadmin.

Logo phpmemcacheadmin

Se présentant sous la forme de quelques fichiers PHP à déposer sur un serveur Web, on peut y ajouter et monitorer autant de serveurs Memcached que l’on souhaite.

On y retrouvera un tableau de bord avec divers statistiques :

  • mémoire utilisée pour le cache,
  • nombre de requêtes,
  • nombre et taux de hits (données présentes en cache, environ 75% dans mon cas),
  • trafic réseau,
  • etc.

Consultation des statistiques de vos serveurs Memcached via le Dashboard de phpmemcacheadmin

Il est également possible de consulter des statistiques « live » par serveur surveillé.

Statistiques live de Memcached via phpmemcacheadmin

Consultation "live" des statistiques

Enfin, il est possible de consulter les valeurs stockées via la page « Execute commands on Servers », et d’interagir avec : insertion, suppression, flush des données, etc.

Exécution de commandes via phpmemcacheadmin

Exécution de commandes via phpmemcacheadmin

Très bon complément de votre système de monitoring global, phpmemcacheadmin permet une vue plus complète de vos serveurs Memcached, pour une installation simplissime.