Как удалить журнал varnishncsa, если req.url соответствует
У меня есть несколько балансировщиков нагрузки, которые все выполняют проверки работоспособности на нескольких экземплярах лака. Проверка работоспособности на стороне лака состоит из сопоставления метода запроса и URL-адреса для возврата ответа 200.
if (req.method == "GET" && req.url == "/ping") {
return(synth(200, "OK"));
}
Используя HAProxy, я настроил проверки работоспособности для опроса / проверки связи на внутренних серверах. Это генерирует много сообщений в varnishncsa. Можно ли как-то отбросить записи журнала, идущие в varnishncsa, если они соответствуют определенному req.url?
2 ответа
В дополнение к ссылке, предоставленной Kirrus, здесь есть ссылка на язык запросов 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