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

squidclient Мониторинг без метода CONNECT

У меня есть несколько серверов squid, которые я отслеживаю с помощью команды squidclient mgr: 5min. Я хотел бы отслеживать время обслуживания http с помощью;

squidclient mgr:5min | grep "client_http.all_median_svc_time"

Однако, когда используется метод CONNECT, время очень велико;

10.10.10.10 - - [26/Oct/2016:09:18:33 +0100] "CONNECT remote-domain.com:443 HTTP/1.1" 200 805 30564 "-" "-" TCP_MISS:DIRECT

(Где 30564 =% tr = время обслуживания запроса в миллисекундах)

Из-за этого его трудно отслеживать, потому что эти запросы CONNECT иногда увеличивают среднее значение за 5 минут до 30 секунд.

Есть ли способ заставить команду squidclient игнорировать запросы метода CONNECT ... или любые другие предложения о том, как я могу контролировать время обслуживания.

Я видел этот вопрос, Squid HTTPS Tunneling с использованием CONNECT очень медленно, но я не думаю, что это проблема медлительности, просто метод CONNECT остается подключенным дольше (я могу ошибаться в этом) Заранее спасибо

К вашему сведению: я не думаю, что можно отслеживать без методов CONNECT, поэтому я реализовал обходной путь. Я отслеживаю последние 100 строк файла журнала, и если сообщений CONNECT больше, чем других, я устанавливаю client_http.all_median_svc_time на 0

RESULT=$(squidclient -h localhost mgr:5min)
CONNECT_RATIO=$(expr $(tail -n 50 access.log | grep -v CONNECT | wc -l) - $(tail -n 50 access.log | grep CONNECT | wc -l))

if [ $CONNECT_RATIO -lt 0 ]
then
  ClientServiceTimeAVG=0
else
  ClientServiceTimeAVG=$(echo "$RESULT" | grep "client_http.all_median_svc_time" | grep -Po '[0-9]+\.[0-9]+')
fi