2012-03-19 14 views
5

Czekam na rejestrację całej aktywności na moim memcached serwerze. Wszystkie czyta i pisze.Rejestrowanie aktywności Memcached

To będzie używane jako demon rozproszony dla wielu zdalnych aplikacji php w chmurze i potrzebować sposobu na włączenie się do SSH i sprawdzenie działania na demonie.

Zrobiłem wiele badań i nie mogę znaleźć jednego sposobu, aby to zrobić.

Odpowiednik Redis będzie logował się do konsoli interaktywnej i wpisał MONITOR.

Z góry dziękuję.

+1

Możesz utworzyć interfejs API, aby uzyskać dostęp do memcache, i umieścić rejestrowanie na tej warstwie. Ale myślę, że to pokonanie celu posiadania szybkiego przechowywania wydajności. – ajreal

Odpowiedz

5

Można to zrobić za pomocą polecenia memcached na telnet stats jako takie:

  • umożliwić informacji przechwytywania: stats detail on
  • trochę poczekać
  • wyłączyć przechwytywanie: stats detail off
  • zrzucić informacje: stats detail dump

telnet yourhost 11211 i wykonaj powyższą sekwencję. Należy zauważyć, że wpłynie to znacznie na wydajność.

Możesz również sprawdzić phpmemcacheadmin - jest to naprawdę dobre narzędzie do monitorowania pul memcached.

3

można uruchomić memcached pomocą -vv parametr:

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

wyjście jest podobny do tego:

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 

Wyjście jest wysyłane na standardowe wyjście, więc warto go przekierować do jakiegoś pliku.

0

Użyj nadzorcy, aby uruchomić memcached. Będzie logował memcached output (w oparciu o 1,2 lub 3 -v) do syslog - więc logarytm rotacji powinien działać (nie będzie, jeśli po prostu potokujesz wyjście do pliku) i możesz użyć syslog do wysłania wszystkich loguje się do centralnej maszyny rejestrującej (używając czegoś takiego jak graylog2, aby pobrać wszystkie informacje dziennika).