Фильтрация error_log

Panichev Oleg panichev на segmento.ru
Сб Апр 28 10:19:17 UTC 2018


Добрый день,

У нас есть задача часть трафика отправлять на тестовый стенд. Решили
этот вопрос таким образом:

  split_clients "${shard_key}" $test_or_204 {
     5%  test;
     *   mirror_204;
   }

   upstream test {
     server test:1234;
   }

   location /original {
    ...
    mirror /mirror
    ...
    }

   location /mirror {

     if ( $test_or_204 = "mirror_204" ) {
         return 204;
     }

     fastcgi_pass $test_or_204;

   }

     Это решение работает прекрасно за исключением того момента, что
когда выключается upstream, на который мы шлем часть тестового трафика,
error_log оригинального локейшена /orig сразу заполняется ошибками вида:

  2018/04/26 09:37:15 [error] 24047#0: *395993 connect() failed (111:
Connection refused) while connecting to upstream, client: x.x.x.x,
server: xxxx.ru, request: "GET / HTTP/1.1", subrequest: "/mirror",
upstream: "fastcgi://127.0.0.1:1234", host: "xxxx"

  Можно как-то избавиться от этих сообщений?


-- 

Спасибо.



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