Dead backend detection

Sergey Kobzar sergey.kobzar на itcraft.org
Вт Ноя 22 22:50:29 UTC 2011


Добрый вечер

Есть ли возможность (в ралтайме) узнать, что бэкенд был признан помершим 
и выкинут из пула и причину?

Слишком часто у меня на фронтэнде проскакивает 502 ошибка:

# cat /var/log/nginx/default_access.log | grep ' HTTP/1.0" 502 ' | wc -l
4498

Например:
207.46.13.98 - - [22/Nov/2011:04:24:57 +0000] "GET 
/Companies/go-hongkong-hotels/0270003228578 HTTP/1.1" 502 9603 "-" 
"Mozilla/5.0 (compatible; bingbot/2.0; 
+http://www.bing.com/bingbot.htm)" "-"

Т.е. была ли проблема с сетью, либо же фронтенд получил 50х ошибку от 
быкенда.

Конфиг на фронтенде:

proxy_connect_timeout 5;
proxy_intercept_errors on;

upstream backend {
	server 10.1.9.2  max_fails=3 fail_timeout=300s;
	server 10.1.9.3 max_fails=3 fail_timeout=300s;
	server 127.0.0.1 backup;
	ip_hash;
}

server {
	location / {
		error_page 502 504 /errors/500.html;
		return 502;
	}
}

server {
	listen 80 default;

	location / {
		proxy_pass http://backend;
		proxy_next_upstream error timeout http_502 http_504;

	}
	...
}

Спасибо.



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