监视内存缓存服务器中的特定密钥模式



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

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

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

但是我觉得最好

在服务器端这样做。如果我从所有节点收集此信息,也会有太多客户端。在服务器端,我们有什么东西可以得到同样的效果吗?memcached debug模块中有什么可以帮助我们的吗?

不幸的是,

目前没有办法。我在 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

最新更新