Назад | Перейти на главную страницу

Как записать имя серверной части, ответившей на запрос

я использую лак для регистрации запросов, на которые требуется много времени, чтобы ответить на моих внутренних серверах, используя следующую команду:

varnishncsa -F '%t "%r" %s %T' | awk '$7 > 10 {print}'

Я пытался добавить информацию об имени серверной части, но это не отображается на лак вывод:

sub vcl_backend_response {
    std.log("backend_name:" + beresp.backend.name);
}

что я делаю не так?

Это не работает для вас, потому что varnishncsa по умолчанию использует "клиентский" режим. Включите его, используя -b переключатель.

Впоследствии это будет работать:

varnishncsa -b -F '%t "%r" %s %T %{VCL_Log:backend_name}x' | awk '$7 > 10 {print}'

Вы можете захотеть проверить полное объяснение который включает дополнительную оптимизацию для запросов к медленным серверным запросам.