upstream timed out (60: Operation timed out)

Maxim Dounin mdounin на mdounin.ru
Чт Дек 20 17:22:25 UTC 2018


Hello!

On Thu, Dec 20, 2018 at 11:21:12AM -0500, darksmoke wrote:

> А как можно сопоставить запрос от клиента с записью в error логе.
> В access логе все четко и ясно. Там есть время, есть реквест ИД. А в эррор
> логе ничего такого нет.
> А мне хотелось бы нати этот запрос который не отработал в отведенное ему
> время и провести над ним работы.

В любой записи error log'а есть:

1. Время:

2018/12/20 14:53:05

2. Идентификатор процесса (в access log можно записать $pid):

67589#

3. Идентификатор соединения (в access log можно записать 
$connection):

*26303544

4. IP-адрес клиента:

client: 10.1.110.74

5. Запрос полностью:

request: "POST /transactions/credit/ HTTP/1.1"

Кроме того, там же есть ещё и upstream, к которому обращались в 
момент возникновения ошибки (он же будет в $upstream_addr, если вы 
его залоггируете в access log), и сервер, к которому обращались.

В access log с настройками по умолчанию попадает как минимум 
IP-адрес клиента, время окончания обработки запроса (то есть время 
ошибки - гарантировано находится в интервале $request_time до 
этого времени), и запрос полностью.

Обычно этого достаточно, чтобы идентифицировать запрос в access 
log'е.  Если вдруг нет - можно добавить в access log переменные 
$connection и $pid.

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru