监控memcache服务器中的特定密钥模式?

时间:2016-06-04 05:42:21

标签: debugging memcached

我们有一个命名空间约定来区分我们的memcache条目。我想监控某个命名空间发生的getset以跟踪错误。

我可以监控整个memcache操作,但我担心它会成为一个巨大的数据,因为它几乎是数据库数据的一个重要子集,而日志将会运行到GB中,所以我只需要过滤命名空间我感兴趣的是。

我有一个客户端解决方案,即装饰(或覆盖)memcache.get和memcache.set,以便在密钥与我们所需的模式匹配时打印参数。

但是我觉得在服务器端这样做更好。如果我从所有节点收集此信息,也会有太多客户端。我们可以在服务器端获得相同的效果吗? memcached debug模块中的任何内容都可以帮助我们吗?

1 个答案:

答案 0 :(得分:1)

不幸的是,目前还没有办法。我在github上看到他们正在研究这样一个功能,但目前它并不存在。据我所知。

我在这种情况下使用的是:

tcpdump -i lo -s 65535 -A -ttt port 11211| cut -c 9- | grep -i '^get\|set'

作为替代方案,您可以使用代理工具来获取类似mcrouter的输出。 https://github.com/facebook/mcrouter/wiki/Mcpiper