Amazon AWS и Varni sh - проблемы с доступом к команде varnishncsa - PullRequest
0 голосов
/ 05 августа 2020

Возникли проблемы с добавлением элементов в varni sh logging.

Я могу запускать и останавливать varnishncsa, и все выглядит ясно в статусе varni sh, однако при попытке добавить журналирование для PURGE , используя команду varnishncsa, я получаю сообщение об ошибке command not found.

sudo systemctl status rh-varnish6-varnishncsa ● rh-varnish6-varnishncsa.service - Varnish Cache HTTP accelerator NCSA logging daemon Loaded: loaded (/../../../../rh-varnish6-varnishncsa.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2020-08-05 13:42:14 EDT; 3h 1min ago Main PID: 28620 (varnishncsa) CGroup: /...../rh-varnish6-varnishncsa.service └─28620 /../../../../../../varnishncsa -a -w /.../op... Aug 05 13:42:14 ip-..-...-..-...ec2.internal systemd[1]: Starting Varnish Cac... Aug 05 13:42:14 ip-..-...-..-...ec2.internal systemd[1]: Started Varnish Cach... Hint: Some lines were ellipsized, use -l to show in full. sudo rh-varnish6-varnishncsa -g request -q 'ReqMethod eq "PURGE"' sudo: rh-varnish6-varnishncsa: command not found

Выполнение той же команды, что и sudo varnishncsa -g request -q 'ReqMethod eq "PURGE"' дает тот же результат.

Кто-нибудь сталкивался с этой проблемой раньше? Я пытаюсь настроить свои журналы для решения некоторых проблем с кешированием.

Благодарю за вашу помощь.

1 Ответ

0 голосов
/ 06 августа 2020

Я не уверен, как вы настроили Varni sh на AWS, но rh-varnish6-varnishncsa, вероятно, не та команда, которую вы ищете.

Исходя из вашего вывода, есть systemd сервис под названием rh-varnish6-varnishncsa.service, который запускает varnishncsa сервис, который регистрируется в указанном c месте.

varnishlog vs varnishncsa

varnishncsa - полезный двоичный файл для сбора статистики о том, что происходит в работающей системе Varni sh. Поскольку он имеет формат NCSA , обработчики журналов могут легко получить из них метрики.

Поскольку ваш исходный сервер будет получать намного меньше обращений, varnishncsa может быть суррогатом для таких типов logs.

Однако varnishncsa не совсем подходящий инструмент, если вы хотите выполнить отладку. Двоичный файл varnishlog - намного лучший инструмент для этого.

Если вы хотите знать, что происходит с определенными вызовами c, и вы хотите отлаживать PURGE вызовы, вы можете использовать тот же синтаксис vsl-запроса , который вы сейчас используете в своей команде varnishncsa.

Отладка с помощью varnishlog

В вашем случае для отладки имеет смысл следующая команда:

varnishlog -g request -q 'ReqMethod eq "PURGE"'

Результат, который вы получите, будет намного более подробным и действенным.

Пару лет go Я написал в блоге очень обширный пост о том, как использовать varnishlog. Вы можете прочитать его здесь . Он содержит информацию о том, как использовать различные параметры двоичного файла varnishlog, а также синтаксис vsl-query .

По-прежнему использовать varnishncsa

varnishncsa все еще может сыграть роль в вашей настройке. Если вы нашли то, что искали, используя varnishlog, возможно, вам стоит обратить внимание на аналогичные аномалии в будущем.

Из-за многословности varnishlog трудно сохранять такие журналы на диске. Вы можете настроить другую службу systemd , которая регистрирует эти конкретные c случаи в отдельном файле журнала.

Что касается вашего rh-varnish6-varnishncsa: используйте его как access_log замену, которую вы обычно получаете при запуске сервера Apache или Nginx.

Дополнительный совет относительно AWS

Если вы используете Varni sh на AWS, имеет смысл запускать экземпляры EC2 из официальных образов Varni sh программного обеспечения.

Есть образы для Varni sh Кэш 6 . Но есть также изображения для Varni sh Enterprise 6 , который поставляется с множеством дополнительных функций.

Взгляните на страницу документации для Varni sh Enterprise: https://docs.varnish-software.com/.

Вот наша страница профиля торговой площадки AWS, которая содержит различные изображения EC2 , которые мы предлагаем: https://aws.amazon.com/marketplace/seller-profile?id=263c0208-6a3a-435d-8728-fa2514202fd0

...