Задать вопрос
@daniks
Ничего особенного

Как определить количество запросов в секунду на nginx?

Доброго времени суток, необходимо определить количество запросов в секунду сервера nginx через консоль с использованием именно логов, так как имеется множество виртуальных доменов на одном сервере, и определение через status не имеет смысла. Есть команда tail -f /var/log/nginx/mydomain.ru.access.log | pv -lr -i 1 >/dev/null, но она показывает все в реальном времени без остановки процесса, а необходимо в режиме реального времени получить всего лишь 1 ответ с остановкой процесса, в документации к PV ничего подобного найти не смог, подскажите пожалуйста, может есть другие варианты определения количества запросов, буду очень признателен.
  • Вопрос задан
  • 4069 просмотров
Подписаться 2 Сложный Комментировать
Решения вопроса 1
@zohan1993
devops
cat /var/log/nginx/mydomain.ru.access.log | awk '{print $1}' | uniq -c | sort -rn

     34 "2020-11-24T10:44:19+00:00"
     21 "2020-11-24T10:36:11+00:00"
     21 "2020-11-24T10:29:59+00:00"


awk '{print $1}' - выбираем из лога только время ( например $time_iso8601 )
uniq -c - считаем количество уникальных записей, по сути количество запросов в секунду
sort -rn - сортировка вывода
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Глобально - это делается не через консоль, а каким-нибудь ПО соответствующей направленности - тем же ELK, например. Проиндексирует все ваши логи и покажет красивые графики - хоть по количеству запросов, хоть по чему.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы