获取每个后端的 varnish 统计信息

获取每个后端的 varnish 统计信息

我正在运行一个 Varnish 实例,并将负载平衡到多个后端。我想获取每个后端的缓存命中、缓存未命中、命中传递的统计信息,而不是服务器的总数,但 varnishstat 似乎没有这些信息。

你们知道获取这些统计数据的方法吗?

答案1

老实说,我不确定这是否合理。后端不存储缓存数据,而 Varnish 存储。此外,除非缓存未命中,否则 Varnish 不会“选择”后端。综合起来,这意味着在典型情况下,例如,两个后端的缓存未命中次数恰好是总数的一半。现在,我知道您可以得到比这更花哨的东西 - 例如,您可能拥有用于管理访问模式的不同后端。但是,这只会使这个问题成为一般问题的一个具体案例,“我可以通过(任意区分)细分 varnishstat 输出吗?”,答案是“不”。

但是,您可能可以通过在 VCL 中使用内联 C 直接修改 varnishstat 读取的缓冲区,从而将更多数据插入 varnishstat 的输出中;请注意,从未尝试过,但似乎应该可行。如果做不到这一点,您可以随时使用内联 C 更新您自己的缓冲区(甚至是外部缓冲区,例如 memcache),然后为其编写自己的查询程序。

相关内容