Я запускаю экземпляр Varnish с балансировкой нагрузки на несколько бэкэндов. Я хочу получить статистику попаданий в кеш, промахов кеша, попаданий за проход для каждого бэкэнда, а не общую сумму, если сервер, но varnishstat, похоже, не имеет этой информации.
Вы, ребята, знаете, как получить эту статистику?
Честно говоря, я не уверен, что это имеет смысл. Бэкэнды не хранят данные кеша, в отличие от Varnish. Кроме того, Varnish не «выбирает» серверную часть, если не попадает в кеш. В совокупности это означает, что в типичном случае количество промахов кеша для каждого из двух бэкэндов, например, составляет ровно половину от общего количества. Теперь я знаю, что вы можете стать немного интереснее этого - например, у вас могут быть разные серверные программы для модальностей административного доступа. Однако это просто делает этот вопрос частным случаем общего вопроса: «Могу ли я разбить вывод varnishstat по (произвольному различию)?», Ответ на который - «Нет».
Однако вы, вероятно, можете вставить больше данных в вывод varnishstat, используя встроенный C в вашем VCL, чтобы напрямую изменить буфер, из которого читает varnishstat; никогда не пробовал, заметьте, но похоже, что это должно работать. В противном случае вы всегда можете использовать встроенный C для обновления вашего собственного буфера (даже внешнего, например, memcache), а затем написать для него свою собственную программу запроса.