Re: NGINX - собрать статистику по каждому домену/server-y

Илья Шипицин chipitsine at gmail.com
Mon Jun 17 12:44:30 UTC 2013


можно как-то так делать (держим в разделяемой памяти счетчики, которые
увеличиваем при обращении, снимаем счетчики через http) .....


#########################
    lua_shared_dict focus 10M;
    server {
        listen 1.1.1.1:80;
        server_name a.b.c;

        location / {
            proxy_pass      http://cleared.backend;

            log_by_lua '
                local newval, err =
ngx.shared.focus:incr(ngx.var.upstream_addr, 1)
                if not newval and err == "not found" then
                    ngx.shared.focus:add(ngx.var.upstream_addr, 1)
                end
            ';

        }

        location /status {
            content_by_lua '
                ngx.say("clear: ", ngx.shared.focus:get("192.168.1.1:80") )
            ';

        }


    }

15 июня 2013 г., 15:51 пользователь Валентин Росавицкий
<valintinr at tangramltd.com> написал:
> Здравствуйте.
> Имеется такой себе кластер который  фильтрует 'плохой' трафик. Фронтэндом
> стоит nginx который после всех проверок (кука и iptables-правила) проксирует
> 'чистый' трафик на бэкенды. Стоит задача как бы его правильно/просто
> собирать статистику по каждому проксируемому домену, например active
> connections с stub_status. Он у нас работает в отдельном server {};
> проксируемые домены - каждый в своем server {};. Если я правильно понял то
> stub_status собирает для всего http {}; а нужно для server-ов собирать. Что
> можете подсказать?
>
> P.S  Не обязательно через stub_status собирать, можно и другие варианты. У
> нас просто сейчас так, потом в rrd базу запихиваем и получается почти
> удобно.
>
> --
> С уважением,
> Валентин Росавицкий
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


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