2012-03-19 13 views
5

私のmemcachedサーバで行われているすべてのアクティビティを記録したいと思っています。すべての読み取りと書き込み。Log Memcachedアクティビティ

これは、クラウド内の多くのリモートPHPアプリケーション用の分散デーモンとして使用される予定で、デーモン上でSSHを実行したり、活動をチェックアウトする方法を必要とします。

私は広範囲にグーグルでこれを行うための単一の方法を見つけることができません。

Redisに相当するのは、対話型コンソールにログインしてMONITORと入力することです。

ありがとうございます。

+1

memcacheにアクセスするためのAPIを作成し、このレイヤーにログを記録することができます。しかし、私は速いパフォーマンスストレージを持つという目的を打ち負かしていると思います。 – ajreal

答えて

5

次のようなこの使用者のmemcachedのtelnetのstatsコマンド行うことができます。

  • 無効にキャプチャしながら、stats detail on
  • 待機A:情報を取得可能

    • stats detail off
    • 情報をダンプ:stats detail dump

    telnet yourhost 11211とし、上記のシーケンスを実行します。これはパフォーマンスに大きな影響を与えることに注意してください。

    また、phpmemcacheadminをチェックすることもできます。これは、memcachedプールを監視するための本当に便利なツールです。

  • 3

    あなたは-vvパラメータを使用して、あなたのmemcachedを起動することができます。

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

    出力は次のようになります。

    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 
    

    あなたはそれをリダイレクトする場合がありますので出力は、stdoutに送られ、いくつかのファイルに。

    0

    memcachedを実行するにはsupervisordを使用します。 memcachedの出力を(1、2または3 -vのものに基づいて)syslogに記録するので、log rotateが機能するはずです(出力をファイルに出力するだけの場合は表示されません)。syslogを使用してすべてのログ情報を取得するためにgraylog2のようなものを使用して、中央のログマシンにログを記録します。