监控内存缓存服务器中的特定键模式?
Monitor specific key patterns in memcache server?
我们有一个命名空间约定来区分我们的内存缓存条目。我想监控某个命名空间发生的 get
和 set
以跟踪错误。
我可以监控整个内存缓存操作,但我担心它会是一个巨大的数据,因为它几乎是数据库数据的重要子集,而且日志将 运行 变成 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
我们有一个命名空间约定来区分我们的内存缓存条目。我想监控某个命名空间发生的 get
和 set
以跟踪错误。
我可以监控整个内存缓存操作,但我担心它会是一个巨大的数据,因为它几乎是数据库数据的重要子集,而且日志将 运行 变成 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