- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Подскажите пожалуйста, имеется данная команда
tail -f -n 0 /var/log/nginx/access.log | awk 'BEGIN { st=systime(); } { ++count ; ct=systime(); if (ct-st >= 1) { print count/1 ; count=0; st=ct } }'
Она считает количество запросов в секунду, собственно вопрос, как сделать из этой команды, вывод последнего значения в отдельный файл?
Буду очень благодарен за помощь.
ну добавить:
| tail -n 1 > отдельныйфайл.txt
ну добавить:
| tail -n 1 > отдельныйфайл.txt
Не работает так, файл создаётся, но данные туда не записываются, так же перестаёт происходить вывод с первой команды.
Она считает количество запросов в секунду, собственно вопрос, как сделать из этой команды, вывод последнего значения в отдельный файл?
Ваша команда считает количество запросов в секунду в реальном времени.
У неё нет последнего значения.
Если вы хотите записывать в файл только одно текущее значение, для этого лучше использовать, например, perl.
P.S. Скорость добавления записей в лог лишь косвенно говорит о реальном количестве запросов в секунду.
Записи добавляются по завершению запроса, к тому же запись в файл часто кэшируется, чтобы меньше теребить диск.
Поэтому лучше не засекать время между добавлением записей, а сбрасывать счётчик, если дата у записи в лог-файле отличаются от предыдущей записи.
Не работает так
Если файл у вас открытый остается, то оно никогда не дождется последней строки, логично ведь.
На самом деле вам нужен http://nginx.org/en/docs/http/ngx_http_stub_status_module.html
Если файл у вас открытый остается, то оно никогда не дождется последней строки, логично ведь.
На самом деле вам нужен http://nginx.org/en/docs/http/ngx_http_stub_status_module.html
Этот вариант не подходит, нужно именно вычитать с логов. В Вашем варианте общая нагрузка на nginx, а необходимо сделать подобное для каждого домена.
Я решил немного другим способом, написал скрипт, который вызывает одну строку, и дальше происходит kill процесса tail, этим самым я получаю 1 строку с количеством запросов. Пока что работает как и планировалось. Спасибо.