Error log question
Gena Makhomed
gmm на csdoc.com
Вт Июл 26 11:54:36 UTC 2022
On 26.07.2022 0:34, Maxim Dounin wrote:
>> >> 2022/07/23 16:26:33 [alert] 849481#849481: *8078448 could not allocate
>> >> new session in SSL session shared cache "le_nginx_SSL" while SSL
>> >> handshaking, client: 175.156.80.121, server: 0.0.0.0:443
>> >
>> > This error indicate that nginx wasn't able to allocate new session
>> > in the SSL session cache defined by the "ssl_session_cache"
>> > directive, and removing an old session didn't help. This
>> > basically indicate that the SSL session cache is too small, and it
>> > would be a good idea to either configure a larger cache or reduce
>> > ssl_session_timeout. The logging level is probably a bit too
>> > scary, see https://trac.nginx.org/nginx/ticket/621 for details.
>>
>> Максим, Вы говорите, что "The message is probably a bit too scary
>> (while the situation itself is mostly harmless)".
>>
>> Тикету https://trac.nginx.org/nginx/ticket/621 уже 8 лет.
>>
>> Разве не проще один раз пофиксить эту проблему в исходниках nginx,
>> чем постоянно рассказывать пользователям в списках рассылки о том,
>> что "The logging level is probably a bit too scary"?
>>
>> Если просто поменять [alert] на [warn] - ничего ведь не сломается?
>> Почему же Вы этого не хочете или не можете сделать? Ведь это не сложно.
>
> По конкретному тикету есть несколько моментов:
>
> - Перед тем, как менять уровень логгирования - надо как минимум
> проверить, что в случае невозможности выделения памяти для сессии
> действительно ничего не ломается.
>
> - А ещё неплохо бы сесть и внимательно посмотреть, не имеет ли
> смысла изменить логику удаления старых сессий в случае нехватки
> памяти, чтобы ошибок не возникало. Или даже переделать логику
> выделения памяти под сессии, дабы минимизировать вероятность
> неуспеха. Или прикрутить логику, аналогичную реализованной для
> памяти под элементы кэша (http://hg.nginx.org/nginx/rev/c9d680b00744).
Если не будет в логах ошибок - каким образом тогда пользователь
сможет понять, что размер кэша для сессий SSL слишком маленький?
Может же быть так, что установлен размер кэша для примерно 4000 сессий,
а активных клиентов будет примерно в десять раз больше - в этом случае
nginx будет постоянно удалять "старые" сессии, ничего при этом в логах
не сообщая пользователю. Наверное это не самый лучший вариант поведения?
Или наоборот, когда выставлен очень большой размер для кэша сессий SSL,
а используется не более 10% - это тоже неоптимальная настройка nginx.
Пользователи nginx-plus наверное смогут установить на свои сервера
nginx-amplify-agent и возможно смогут увидеть в NGINX Amplify,
что кэш для сессий SSL переполнен и его следует увеличить. (?)
Но что в таком случае делать пользователям open source версии nginx?
Насколько я понимаю, в NGINX Amplify для open source версии nginx
метрик для кэша сессий SSL нет.
Особенно, если пользователи nginx используют Rocky Linux 8.6,
при запуске скрипта install.sh выдается такое сообщение про ошибку:
Checking OS compatibility ... rocky is currently unsupported, apologies!
Хотя по своей сути Rocky Linux 8.6 ведь ничем не отличается от RHEL 8.6.
Это же 1:1 бинарно совместимая с RHEL8 сборка EL8 из тех же исходников.
Если вручную прописать в файле /etc/yum.repos.d/nginx-amplify.repo
[nginx-amplify]
name=nginx amplify repo
baseurl=http://packages.amplify.nginx.com/py3/rhel/8/$basearch
gpgcheck=1
enabled=1
В таком случае NGINX Amplify Agent нормально устанавливается
на Rocky Linux 8.6 и даже нормально запускается.
Этот список рассылки, nginx-ru наверное не очень подходит
для обсуждения NGINX Amplify Agent и NGINX Amplify?
Куда лучше всего будет писать bug reports и feature requests
по NGINX Amplify Agent и NGINX Amplify, напрямую емейлом разработчикам?
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru