У меня есть несколько балансировщиков нагрузки, каждый из которых выполняет проверку работоспособности на нескольких экземплярах Varnish. Проверка работоспособности на стороне varnish состоит из сопоставления метода запроса и URL-адреса для возврата ответа 200.
if (req.method == "GET" && req.url == "/ping") {
return(synth(200, "OK"));
}
Используя HAProxy, я настроил проверки работоспособности для опроса / пинга на внутренних серверах. Это генерирует много сообщений в varnishncsa. Можно ли как-то удалить записи журнала, идущие в varnishncsa, если они соответствуют определенному req.url?
Помимо ссылки, предоставленной Киррусом, здесь есть ссылка на язык запросов VSL: http://www.varnish-cache.org/docs/4.0/reference/vsl-query.html
varnishncsa на самом деле просто использует запрос к журналу varnishlog. Вы можете переопределить, какой запрос он использует, с помощью '-q' - обновите параметр командной строки в выбранной вами системе pid0. Если используется initV, переопределите DAEMON_OPTS в / etc / default / varnishncsa.
Фактическая документация по нему немного скудна, но здесь есть несколько примеров: https://info.varnish-software.com/blog/logging-varnish-40