У меня есть несколько серверов 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 игнорировать запросы mothod 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