Кто-нибудь разработал или знает какие-либо сторонние инструменты (или неочевидные способы использования стандартных инструментов), чтобы помочь плохому системному администратору определить, что происходит с запросами, проходящими через Varnish? Пока varnishstat
, varnishtop
, и varnishhist
дайте мне обзоры очень высокого (или низкого уровня), я ищу что-то, что говорит мне такие вещи, как:
varnishncsa
отображает журналы в Apache / NCSA комбинированный формат журнала (со страницы руководства). Вы можете использовать их с любым обычным анализатором журналов, чтобы узнать, какие пользовательские агенты у вас есть, какие страницы они загружают и т. Д.
varnishlog
(/usr/bin/varnishlog
), с другой стороны, отображает подробный вывод для всех запросов, содержащий информацию о том, какие команды VCL используются (поиск, хэш, попадание, доставка и т. д.) и все заголовки в транзакции HTTP (varnishlog -o
сгруппируем их по запросу). Если у вас загруженный сайт, он будет прокручиваться очень быстро, но вы можете записать их на диск, используя -w
, или используйте средство ведения журнала (/etc/init.d/varnishlog
). Имейте в виду, что это быстро заполняет диск, потому что он очень подробный (10-30 строк на запрос в зависимости от того, куда отправляются запросы, и, конечно, все ваши заголовки HTTP).
varnishreplay
может воспроизводить HTTP-трафик из такого файла журнала.
Большинство инструментов можно использовать с поиском по регулярным выражениям.
Redpill Linpro, компания, производящая Varnish, в настоящее время создает веб-интерфейс. Я не уверен, какие функции он будет иметь (я не думаю, что они точно знают), но я уверен, что у него будет довольно много графиков мониторинга.
лак
Один из приемов - использовать собственный формат журнала с varnishncsa
чтобы включить еще несколько полезных сведений, например:
Я использую в своих /etc/varnish/varnishncsa
добавить эту информацию (документация varnishncsa):
#! /bin/sh
DAEMON_OPTS="$DAEMON_OPTS -F \"%h \\\"%{X-Forwarded-For}i\\\" %t \\\"%r\\\" %s %b \\\"%{Referer}i\\\" \\\"%{User-agent}i\\\" %{Varnish:time_firstbyte}x %{Varnish:hitmiss}x\""
Эта конфигурация позволяет мне просматривать журналы доступа и складывать исторические показатели посещений, а также находить страницы, которые отвечают медленно.
varnishlog:
Как обсуждалось в этот вопрос / ответ, если вы используете varnish для проверки работоспособности ваших серверных частей, вы можете использовать varnishlog для записи изменений в состоянии серверной части. Бег varnishlog -O -I "healthy|sick"
предоставит вам текущее обновление работоспособности серверной части на основе проверок работоспособности.