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

Инструменты для самоанализа Varnish

Кто-нибудь разработал или знает какие-либо сторонние инструменты (или неочевидные способы использования стандартных инструментов), чтобы помочь плохому системному администратору определить, что происходит с запросами, проходящими через 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, чтобы получить журнал запросов
  • Лаковый топ имеет среднее время обслуживания и время использования
  • ИМХО, если вы подозреваете проблемы с вашими бэкэндами, вам следует следить за ними напрямую, без использования лака.

лак

Один из приемов - использовать собственный формат журнала с varnishncsa чтобы включить еще несколько полезных сведений, например:

  • Время отклика (до первого байта)
  • Статус запроса: ударил или пропустил
  • Исходный IP-адрес клиента (если Varnish находится за балансировщиком нагрузки)

Я использую в своих /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" предоставит вам текущее обновление работоспособности серверной части на основе проверок работоспособности.