From peter.volkov на gmail.com Fri Aug 22 11:10:43 2025 From: peter.volkov на gmail.com (Peter Volkov) Date: Fri, 22 Aug 2025 14:10:43 +0300 Subject: =?UTF-8?B?0JLQvtC30LzQvtC20L3QviDQu9C4INCy0LrQu9GO0YfQuNGC0Ywg0LIg0L/RgNC+0LTRgw==?= =?UTF-8?B?0LrRgiDRhNC40YfQuCBhbmdpZT8=?= Message-ID: Привет. А есть ли возможность включить в продукт фичи angie? Лицензия вроде позволяет. Например, nginx'е очень не хватает экспорта метрик в формате prometeus - видеть в какой vhost сколько запросов пришло и какие по ним статусы, время ответов и подобное очень важно. Много лет назад мы для этого написали свой анализатор логов nginx'а, но использовать его не всегда удобно. Хочется что-то из коробки, как это уже есть у haproxy, traefik, envoy и подобных. -- Peter. From mdounin на mdounin.ru Fri Aug 22 15:04:56 2025 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 22 Aug 2025 18:04:56 +0300 Subject: =?koi8-r?B?98/azc/Wzs8gzMkg18vMwN7J?= =?koi8-r?B?1Ngg1yDQ0s/E1cvUIMbJ3sk=?= angie? In-Reply-To: References: Message-ID: Hello! On Fri, Aug 22, 2025 at 02:10:43PM +0300, Peter Volkov wrote: > Привет. А есть ли возможность включить в продукт фичи angie? Лицензия > вроде позволяет. > > Например, nginx'е очень не хватает экспорта метрик в формате prometeus > - видеть в какой vhost сколько запросов пришло и какие по ним статусы, > время ответов и подобное очень важно. Много лет назад мы для этого > написали свой анализатор логов nginx'а, но использовать его не всегда > удобно. Хочется что-то из коробки, как это уже есть у haproxy, > traefik, envoy и подобных. Прямых заимствований в планах нет, а вот улучшение статуса - есть в TODO. Если есть пожелания по конкретным метрикам - пишите, занесу в список. Что касается статистики по виртуальным хостам, то, возможно, имеет смысл посмотреть на модуль VTS: https://github.com/vozlt/nginx-module-vts Я сам его не использую, но задумывался он, как я понимаю, именно для этой задачи. -- Maxim Dounin http://mdounin.ru/ From peter.volkov на gmail.com Sat Aug 23 09:54:13 2025 From: peter.volkov на gmail.com (Peter Volkov) Date: Sat, 23 Aug 2025 12:54:13 +0300 Subject: =?UTF-8?B?UmU6INCS0L7Qt9C80L7QttC90L4g0LvQuCDQstC60LvRjtGH0LjRgtGMINCyINC/0YDQvg==?= =?UTF-8?B?0LTRg9C60YIg0YTQuNGH0LggYW5naWU/?= In-Reply-To: References: Message-ID: Да, этот модуль мы смотрели, у него есть проблема с производительностью. Прямо в readme написано, что нужно исправлять, но пока этого никто не сделал. TODO: Add an implementation that periodically updates computed statistic in each worker processes to shared memory to reduce the contention due to locks when using ngx_shmtx_lock(). Жаль, что нет планов заимствования - было бы классно иметь свободный дистрибутив с максимальным набором проверенных фич. В любом случае спасибо) -- Peter. On Fri, Aug 22, 2025 at 6:05 PM Maxim Dounin wrote: > > Hello! > > On Fri, Aug 22, 2025 at 02:10:43PM +0300, Peter Volkov wrote: > > > Привет. А есть ли возможность включить в продукт фичи angie? Лицензия > > вроде позволяет. > > > > Например, nginx'е очень не хватает экспорта метрик в формате prometeus > > - видеть в какой vhost сколько запросов пришло и какие по ним статусы, > > время ответов и подобное очень важно. Много лет назад мы для этого > > написали свой анализатор логов nginx'а, но использовать его не всегда > > удобно. Хочется что-то из коробки, как это уже есть у haproxy, > > traefik, envoy и подобных. > > Прямых заимствований в планах нет, а вот улучшение статуса - есть > в TODO. Если есть пожелания по конкретным метрикам - пишите, > занесу в список. > > Что касается статистики по виртуальным хостам, то, возможно, имеет > смысл посмотреть на модуль VTS: > > https://github.com/vozlt/nginx-module-vts > > Я сам его не использую, но задумывался он, как я понимаю, именно > для этой задачи. > > -- > Maxim Dounin > http://mdounin.ru/ From mdounin на mdounin.ru Sat Aug 23 13:15:21 2025 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sat, 23 Aug 2025 16:15:21 +0300 Subject: =?koi8-r?B?98/azc/Wzs8gzMkg18vMwN7J?= =?koi8-r?B?1Ngg1yDQ0s/E1cvUIMbJ3sk=?= angie? In-Reply-To: References: Message-ID: Hello! On Sat, Aug 23, 2025 at 12:54:13PM +0300, Peter Volkov wrote: > Да, этот модуль мы смотрели, у него есть проблема с > производительностью. Прямо в readme написано, что нужно исправлять, но > пока этого никто не сделал. > > TODO: > Add an implementation that periodically updates computed statistic in > each worker processes to shared memory to reduce the contention due to > locks when using ngx_shmtx_lock(). А вы эти проблемы с производительностью наблюдали, или сделали вывод исходя из записи TODO? Потому как получить lock contention при большом количестве процессоров и рабочих процессов конечно, можно, но это не очень тривиальная задача. И, скажем, какой-нибудь proxy_cache от той же проблемы страдает примерно так же, ибо тоже использует зону разделяемой памяти для хранения ключей. Простой метод лечения, если вдруг lock contention действительно наблюдается - сделать несколько зон разделяемой памяти и поделить запросы между ними. Насколько я вижу по коду, VTS это должен уметь. Собирать статистику через промежуточные хранилища в рабочих процессах, безусловно, эффективнее, чем напрямую в разделяемую память, но и сложнее технически, так что вполне понятно, почему этого пока не сделано, особенно если на практике проблемы нет. -- Maxim Dounin http://mdounin.ru/ From mdounin на mdounin.ru Tue Aug 26 15:23:59 2025 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 26 Aug 2025 18:23:59 +0300 Subject: freenginx-1.29.1 Message-ID: Изменения в freenginx 1.29.1 26.08.2025 *) Изменение: теперь ответы проксируемых серверов по HTTP/0.9 по умолчанию отвергаются как ошибочные; директива proxy_allow_http09 разрешает их обработку. *) Изменение: к строке "Host" заголовка запроса теперь применяются более строгие проверки синтаксиса. *) Добавление: теперь промежуточные 1xx ответы проксируемых серверов игнорируются. *) Добавление: при проверке SSL-сертификатов бэкендов теперь поддерживаются сертификаты на IP-адреса. *) Добавление: директива proxy_allow_duplicate_chunked. Спасибо Геннадию Бекасову. *) Исправление: при использовании имени хоста в строке запроса символ "_" и некоторые другие считались недопустимыми, а в IPv6-адресах не допускалось использование идентификаторов зон. *) Изменение: на NetBSD в логах могли появляться сообщения "shutdown() failed (22: Invalid argument)". *) Исправление: в почтовом прокси-сервере. -- Maxim Dounin http://freenginx.org/