ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: подсчет кол-ва ошибок при обращении к апстриму



Hello!

On Wed, Aug 21, 2013 at 07:35:48AM -0400, pturrr wrote:

> Добрый день.
> 
> У нас есть апстрим, у которого установлены достаточно маленькие значения
> таймаутов. В error.log пишется, что Connection timed out while reading
> upstream... Это для нас нормальная ситуация. Мы озаботились тем, чтобы
> считать кол-во ошибок, которые попадают в лог. Берем последнюю минуту,
> считаем все строки, где есть Сonnection timed out и рисуем график. 
> 
> Когда у нас произошел таймаут к апстриму, мы отдаем пустую страничку и HTTP
> 200/OK
> error_page 500 501 502 503 504 = наш локейшен, который отдает 200ок
> 
> В локейшене, который отдает 200ок у нас есть аксесс лог, в который мы пишем
> обращения к нему.
> 
> То есть у нас есть два лога - error.log, и access.log другого локейшена,
> куда нжинкс перенаправляет в случае ошибки первого. Логично было бы
> предположить, что кол-во ошибок за секунду было бы равно кол-ву ошибок
> access лога того локейшена, куды мы редиректим. Но это не так. Кол-во ошибок
> в error.log намного больше, чем кол-во обращений к локейшену, который отдает
> HTTP 200. 
> 
> Как такое может быть?

Если ошибка происходит "while reading upstream", то заголовок 
и начало ответа уже ушли клиенту, и отдать ему что-то другое уже 
не представляется возможным.

-- 
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.