According to the nginx documentation, it will mark an upstream node as failed passively as requests come in. After the fail_timeout period, it will start trying to send requests again. For our purposes, this means that unless both web nodes fail (and the request doesn't hit the cache), we won't receive any alerts from icinga.
Useful links:
nginx load balancing: http://nginx.org/en/docs/http/load_balancing.html
nginx lb config: https://phabricator.wikimedia.org/diffusion/OPUP/browse/production/modules/role/templates/ores/lb.nginx.erb
puppet lb config: https://phabricator.wikimedia.org/diffusion/OPUP/browse/production/modules/role/manifests/labs/ores/lb.pp
icinga ores config: https://phabricator.wikimedia.org/diffusion/OPUP/browse/production/modules/icinga/manifests/monitor/ores.pp
icinga ores worker check: https://phabricator.wikimedia.org/diffusion/OPUP/browse/production/modules/nagios_common/files/check_commands/check_ores_workers