Мы рады представить бету NGINX Amplify, нашего нового инструмента для мониторинга NGINX и NGINX Plus. Используя NGINX Amplify, вы сможете отслеживать и контролировать NGINX и приложения, которые он обслуживает. Новый инструмент позволит быстро решать проблемы с производительностью и доступностью отдельных сервисов и инфраструктуры в целом. На текущий момент он включает в себя гибко настраиваемую панель мониторинга с механизмом оповещений, а также систему автоматических рекомендаций по оптимизации производительности и улучшению безопасности.
Узнать больше и увидеть NGINX Amplify в действии можно записавшись на онлайн вебинар, который пройдет 13 июля в 20:00 по московскому времени.
Также, вы можете начать бесплатно использовать NGINX Amplify прямо сейчас, пройдя регистрацию.
Легкий доступ к ключевым показателям производительности в настраиваемой панели мониторинга NGINX Amplify
Установка проста и не отнимет больше 5 минут. C NGINX Amplify вы получите:
- Рекомендации по безопасности и оптимизации – NGINX Amplify тщательно анализирует вашу конфигурацию NGINX и советует изменения для повышения производительности и безопасности. Каждая рекомендация содержит номер строки с цитируемой директивой, описание проблемы и способ её устранения.
- Мониторинг в реальном времени – NGINX Amplify это единая панель мониторинга всех ваших серверов с NGINX. Она собирает сотни различных метрик из NGINX, лог-файлов и операционной системы, предоставляя гибко настраиваемый интерфейс для их отображения (на картинке выше). Метрики могут быть агрегированы с целого кластера NGINX серверов для общей оценки или отфильтрованы вплоть до уникального интерфейса. Мониторинг работает как с бесплатной версией NGINX, так и с коммерческой, NGINX Plus, где пользователям доступны дополнительные метрики.
- Настраиваемые оповещения – NGINX Amplify отправляет сообщение, когда система требует внимания. Любая метрика, собираемая в NGINX Amplify, может являться критерием для отправки оповещений. К примеру, сообщение может быть сгенерировано когда количество ошибок с кодами 5хх превысило установленную вами границу.
Учитывая нашу уникальную позицию в роли веб-сервера, прокси и балансировщика для веб-сервисов, мы считаем, что NGINX Amplify является прекрасным дополнением к существующим средствам мониторинга доступности и производительности. NGINX Amplify работает с использованием небольшого агента с открытым исходным кодом, который установливается на каждый сервер с NGINX. Агент самостоятельно собирает различные метрики для анализа и визуализации. Эти данные объединяются с той информацией, которая собирается самим NGINX (или NGINX Plus), чтобы представить целостную картину того, как функционирует ваш веб-сервис.
Мы приглашаем всех пользователей NGINX и NGINX Plus зарегистрироваться и извлечь выгоду из возможности анализировать и лучше контролировать свои веб-сервисы. Присоединившись к открытому бета-тестированию NGINX Amplify, уже через несколько минут вы получите визуализацию ключевых показателей и действенные советы по улучшению производительности и безопасности ваших сервисов.
Результаты закрытого бета-тестирования
NGINX Amplify был доступен для приватного тестирования с ноября прошлого года. Энтузиасты NGINX и те, кто испытывал наибольшую потребность в подобного рода мониторинге, стали первыми, кто присоединился к бета-тестерованию. И с переходом к фазе публичной беты мы рассчитываем на быстрый рост пользовательской базы.
Вот что первые пользователи могут сказать об NGINX Amplify:
“… [в одном случае] наше соединение с сетью пострадало и сервера были на короткий промежуток времени отрезаны от интернета. Наш собственный мониторинг не заметил проблемы, и если бы NGINX Amplify не обнаружил и не оповестил нас, мы бы даже не знали об этом факте.”
“Страница Reports (отчеты) полезна своим кратким обзором настроек сервера, а статический анализ помог нам выявить недостающие параметры конфигурации.”
“NGINX Amplify помог мне быстро решить проблемы благодаря секции Static analysis (статический анализ) на странице Reports.”
Подробнее о возможностях NGINX Amplify
Рекомендации по производительности и безопасности
NGINX Amplify производит статический анализ вашей NGINX конфигурации. Страница Reports содержит рекомендации о том, что можно изменить для улучшения производительности и безопасности. Каждый совет содержит имя файла конфигурации и номер строки, где находится директива, объясняет потенциальную проблему и предлагает способ решения.
NGINX Amplify анализирует вашу конфигурацию NGINX и дает советы по улучшению
Первый пример на снимке содержит совет по улучшению конфигурации во избежание неочевидного поведения в случаях, когда запрос содержит неизвестное имя хоста или не содержит его вовсе.
NGINX Amplify также обнаруживает настройки, которые могут негативно сказаться на производительности. К примеру, полное отключение буферизации ответов с проксируемых серверов может ухудшить производительность, в то время как отключение буферизации на диск, наоборот, может поднять производительность. Пользователи зачастую путают эти две настройки и отключают буферизацию полностью без явной на то причины. NGINX Amplify находит подобные настройки и объсняет, для чего они предназначены.
NGINX Amplify в дальнейшем выявляет потенциальные проблемы с безопасностью в конфигурации NGINX и дает рекомендации по их устранению. Например, NGINX Amplify может подсказать вам ограничить доступ к странице статуса.
Мониторинг в реальном времени
C NGINX Amplify вы можете вывести все необходимые метрики на единую панель на вкладке Dashboards (приборная панель). Среди показателей вам доступны:
- Индивидуальные метрики – например, количество используемого процессорного времени каждым сервером;
- Агрегированные метрики – такие, как общая пропускная способность по всем серверам с NGINX;
- Метрики, относящиеся к производительности приложений, включая время ответа.
NGINX Amplify сохраняет данные мониторинга NGINX за неделю, так что вы можете проводить ретроспективный анализ.
В NGINX Amplify вы можете создавать свои собственные панели мониторинга с необходимыми показателями
NGINX Plus собирает дополнительные метрики, связанные с производительностью бекенда. Пользователи NGINX Plus получают преимущества от визуализации этих метрик в NGINX Amplify и возможности просмотра их за предыдущие промежутки времени:
- Нагрузка на каждый бекенд, включая запросы, ответы и пропускную способность;
- Работоспособность каждого бекенда, включая количество ошибок и как часто сервер испытывал проблемы;
- Время работы, объем трафика и прочая критическая информация.
Оповещения
Вы можете настроить оповещения на странице Alerts (оповещения), так что NGINX Amplify оповестит вас когда система будет не в порядке. NGINX Amplify собирает широкий набор метрик с системы, которые могут быть использованы как критерии для генерации оповещения.
Получайте сообщения когда система испытывает проблемы
Одно из оповещений на снимке настроено так, что NGINX Amplify отправит письмо на
me@example.com
когда процессор будет занят более чем на 95% в течение 10 и более минут, что может служить сигналом того, что сервер перегружен. Вы можете указать любой почтовый адрес, например, перенаправить сообщение в сервис PagerDuty. После первичного оповещения NGINX Amplify будет отправлять дайджест каждые 30 минут по всем обнаруженным ошибкам до тех пор, пока все проблемы не будут устранены.Резюме
NGINX является одним из самых критичных компонентов в инфраструктуре обслуживания ваших сервисов. NGINX Amplify поможет отследить, что NGINX и ваши приложения функционируют исправно, в том числе на пике нагрузки. Мы приглашаем всех зарегистрироваться сегодня на бесплатное открытое бета-тестирование и оставить свои отзывы, используя кнопку Intercom в правом нижнем углу после входа в NGINX Amplify.
Комментарии (61)
nonname
11.07.2016 12:53+2Я так понимаю это в будущем платный продукт, который доступен бесплатно в качестве бета тестирования?
VBart
11.07.2016 14:02Пока неизвестно будет ли это платный продукт. Этот вопрос ещё обсуждается. Возможно будут какие-то гибкие политики, включая бесплатные аккаунты для небольших пользователей.
Apokalepsis
11.07.2016 14:03Он только онлайн или возможно установка на свой сервер. Если возможно, будите ли вы делать подготовленный Docker контейнер?
iwonz
11.07.2016 14:09Воу, ребята, хорошая работа. Уже нашёл у себя Warning в конфиге.
P.S. Ставил на рабочий проект, всё идеально установилось. Nginx 1.8.1, Ubuntu 12.04.
SwVZFSf4fLt8NSZNfV87
11.07.2016 14:40+1Спасибо! Именно этого и ждали небольшие проекты у которых не было финансирования на nginx plus.
Теперь практически отпадает необходимость в Munin и прочих системах мониторинга.
Было бы неплохо на некоторых графиках также видеть статистику не по всей системе, а по виртуальным хостам, чтобы понимать какой именнно хост создаёт нагрузку, наибольшее кол-во ошибок и какой пора переносить на более мощное железо.
lesha_firs
11.07.2016 14:42+1А поддержка известных БД планируется или написание плагинов, для своих сервисов.
digger3d
11.07.2016 14:55Сравнивая с Zabbix, не понял как масштабировать участок графика. Например вижу аномалию, хочу точно узнать ее время. Если она произошла несколько дней назад, то никак не посмотреть… Или я чего-то не заметил?
panaceya
11.07.2016 15:31При установке ошибка:
7. Updating repository… failed.
Please check the list of supported systems here git.io/vKkev
Действительно не отвечает:
# curl -v packages.amplify.nginx.com/centos/6/x86_64/repodata/repomd.xml
* About to connect() to packages.amplify.nginx.com port 443 (#0)
* Trying 52.9.219.142… Время ожидания соединения истекло
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to hostlesha_firs
11.07.2016 15:42Все нормально отвечает, возможно у вас что-то с сетью.
curl -v packages.amplify.nginx.com/centos/6/x86_64/repodata/repomd.xml * Trying 52.9.219.142... * Connected to packages.amplify.nginx.com (52.9.219.142) port 80 (#0) > GET /centos/6/x86_64/repodata/repomd.xml HTTP/1.1 > Host: packages.amplify.nginx.com > User-Agent: curl/7.45.0 > Accept: */* > < HTTP/1.1 200 OK < Server: nginx < Date: Mon, 11 Jul 2016 12:40:52 GMT < Content-Type: text/xml < Content-Length: 2985 < Last-Modified: Fri, 01 Jul 2016 19:36:11 GMT < Connection: keep-alive < ETag: "5776c62b-ba9" < Accept-Ranges: bytes ......
webcote
11.07.2016 17:59Проверьте /etc/apt/sources.list, у меня с этим тоже была проблема, удалил ненужные репозитории и все в порядке ;)
Krinopotam
12.07.2016 12:27Та же проблема
VBart
12.07.2016 12:30Всем, кто столкнулся с подобной проблемой, просьба написать в тех. поддержку указав внешний IP с которого не удается подключиться.
iwonz
11.07.2016 16:00Ребят, нашёл несколько неудобных моментов, ИМХО.
- Graphs для всех проектов один
- Prewiew стрелочкой скрываю, затем после перехода с одного сервера на другой Preview снова появляется
Поправьте меня, пожалуйста, если я просто не нашёл как сделать правильно.
P.S. Русскую версию бы ещё.
Cepega
11.07.2016 16:36А как ему рассказать, где у меня nginx? В логе ошибка supervisor failed to find bin_path, prefix and conf_path for nginx: master process ./nginx
VBart
11.07.2016 16:42Использовать абсолютный путь:
https://github.com/nginxinc/nginx-amplify-doc/blob/master/amplify-guide.md#detecting-and-monitoring-nginx-instances
SwVZFSf4fLt8NSZNfV87
11.07.2016 16:44Debian 8. amplify-agent создал пользователя nginx.
Для каких целей amplify-agent считывает *.pem файлы?
Использую SSL от https://letsencrypt.org/, стандартно все ключи принадлежат root.
/var/log/amplify-agent/agent.log
nginx_config could not read /etc/letsencrypt/live/host.ru/fullchain.pem (maybe permissions?)
777 права на файл не помогают
помогает только в /etc/amplify-agent/agent.conf прописать:
[nginx]
user = root
ошибка пропала из системы мониторинга.
nginx у меня запущен от root, воркеры от пользователя nginx.
правильно ли запускать amplify-agent от root?
Предполагаю, что amplify-agent просто проверяет права на чтение всех файлов которые как-то указаны в конфиге nginx, но тогда точно надо от root или от пользователя от которого запущен nginx-master.
knutov
11.07.2016 18:46E: The method driver /usr/lib/apt/methods/https could not be found. N: Is the package apt-transport-https installed? 7. Updating repository ... failed.
Поставить вручную помогло
VBart
11.07.2016 18:51Пакетный менеджер подсказывает, что для доступа к репозиториям по https нужно доустановить
apt-transport-https
.knutov
11.07.2016 18:52Это понятно. Непонятно, почему оно само его не ставит, раз надо.
Просто так, кстати, не ставится, приходится использовать --force-yes
apt-get install -y --force-yes apt-transport-https
knutov
11.07.2016 18:5711. Checking if euid 116(nginx) can find root processes ... agent won't be able to detect nginx - ps(1) is restricted!
Не очень понятно почему — делалось то всё под рутом.
У нас используется hidepid=2 (и это нельзя изменить). Если это оно мешает — может как-то можно вручную помочь?
knutov
11.07.2016 19:05После установки на паре вдс на опенвз — решил поставить на саму ноду. На что установщик мне радостно сделал
Stopping old amplify-agent, pid 261617 275334 288169 Launching amplify-agent ...
В реальности он правда ничего не постопил и вроде всё как было запущено — так и осталось.
Вопрос — зачем оно использует вообще ps вместо пид файлов?
citius
11.07.2016 19:45На двух серверах c Centos 7.2 падает с такой диагностикой:
Starting amplify-agent (via systemctl): Job for amplify-agent.service failed because a configured resource limit was exceeded. See «systemctl status amplify-agent.service» and «journalctl -xe» for details.
Jul 11 19:43:24 server amplify-agent[15247]: Starting nginx-amplify-agent: runuser: cannot open session: Permission denied
Дальнейшие раскопки в /var/log/secure дают такое:
Jul 11 19:43:24 server runuser: pam_limits(runuser:session): Could not set limit for 'nofile': Operation not permitted
А на другом таком же сервере все запустилось.akamoroz
11.07.2016 20:46+1Таск сделали, но отпишитесь, плиз, тоже в тех поддержку (интерком), нужно подебажить.
webnet
12.07.2016 14:07Я чет понимаю, что бы для работы статистики — NGINX REQUEST TIME, NGINX DISK BUFFERED, NGINX RESPONSE TIME — что необходимо установить?
VBart
12.07.2016 15:26+1Проверьте выполнение следующих условий:
https://github.com/nginxinc/nginx-amplify-doc/blob/master/amplify-guide.md#what-to-check-if-amplify-agent-isnt-reporting-metrics
Также стоит расширить формат логов и повысить уровень логгирования у
error_log
:
https://github.com/nginxinc/nginx-amplify-doc/blob/master/amplify-guide.md#additional-nginx-metrics
alexxxst
12.07.2016 20:41Лог завален чем-то таким:
2016-07-12 20:40:54,328 [480] nginx_metrics failed to collect metrics workers_fds_count due to AccessDenied
2016-07-12 20:40:54,335 [480] nginx_metrics failed to collect metrics workers_rlimit_nofile due to AccessDenied
2016-07-12 20:40:54,335 [480] nginx_metrics failed to collect metrics workers_io due to AccessDenied
Только эти три метрики. Что с этим делать?alexxxst
12.07.2016 21:07А если подробнее, то вот:
2016-07-12 21:00:08,394 [10166] nginx_metrics failed to collect metrics workers_fds_count due to AccessDenied
2016-07-12 21:00:08,395 [10166] nginx_metrics additional info:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/amplify/agent/collectors/nginx/metrics.py", line 52, in collect
method()
File "/usr/lib/python2.7/dist-packages/amplify/agent/collectors/nginx/metrics.py", line 120, in workers_fds_count
fds += p.num_fds()
File "/usr/lib/python2.7/dist-packages/amplify/psutil/__init__.py", line 690, in num_fds
return self._proc.num_fds()
File "/usr/lib/python2.7/dist-packages/amplify/psutil/_pslinux.py", line 877, in wrapper
raise AccessDenied(self.pid, self._name)
AccessDenied: psutil.AccessDenied (pid=21287)
2016-07-12 21:00:08,401 [10166] nginx_metrics failed to collect metrics workers_rlimit_nofile due to AccessDenied
2016-07-12 21:00:08,401 [10166] nginx_metrics additional info:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/amplify/agent/collectors/nginx/metrics.py", line 313, in collect
method()
File "/usr/lib/python2.7/dist-packages/amplify/agent/collectors/nginx/metrics.py", line 349, in workers_rlimit_nofile
rlimit += p.rlimit_nofile()
File "/usr/lib/python2.7/dist-packages/amplify/agent/common/util/ps.py", line 84, in rlimit_nofile
return self.rlimit(psutil.RLIMIT_NOFILE)[1]
File "/usr/lib/python2.7/dist-packages/amplify/psutil/__init__.py", line 740, in rlimit
return self._proc.rlimit(resource)
File "/usr/lib/python2.7/dist-packages/amplify/psutil/_pslinux.py", line 877, in wrapper
raise AccessDenied(self.pid, self._name)
AccessDenied: psutil.AccessDenied (pid=21287)
2016-07-12 21:00:08,402 [10166] nginx_metrics failed to collect metrics workers_io due to AccessDenied
2016-07-12 21:00:08,402 [10166] nginx_metrics additional info:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/amplify/agent/collectors/nginx/metrics.py", line 313, in collect
method()
File "/usr/lib/python2.7/dist-packages/amplify/agent/collectors/nginx/metrics.py", line 367, in workers_io
io = p.io_counters()
File "/usr/lib/python2.7/dist-packages/amplify/psutil/__init__.py", line 702, in io_counters
return self._proc.io_counters()
File "/usr/lib/python2.7/dist-packages/amplify/psutil/_pslinux.py", line 877, in wrapper
raise AccessDenied(self.pid, self._name)
AccessDenied: psutil.AccessDenied (pid=21287)alexxxst
12.07.2016 21:18Кажись понял… рута хочет. Но нафига засирать лог этим, если знать, что не из-под рута запущен?
akamoroz
12.07.2016 23:13+1Добрый день, логи нужны для дебага…
По вашей проблеме смотрите документацию:
https://github.com/nginxinc/nginx-amplify-doc/blob/master/amplify-guide.md#what-to-check-if-amplify-agent-isnt-reporting-metrics
А точнее последний пункт:
Some VPS providers use hardened Linux kernels that may restrict non-root users from accessing /proc and /sys. Metrics describing system and NGINX disk I/O are usually affected. There is no an easy workaround for this except for allowing the agent to run as root. Sometimes fixing permissions for /proc and /sys/block may work.alexxxst
13.07.2016 00:10Это не VDS/VPS, обычный железный сервер, права куда надо есть (755), запускать агента из-под рута как-то неохота…
Дебаг – это я пытался понять, чего оно хочет и вам показал. Засирает раз в минуту лог сообщением выше…
Saymon21
13.07.2016 14:16Хорошо бы иметь статистику по виртуалхостам (rps, response time etc), а не по всему инстансу.
WindDrop
14.07.2016 07:25А что не так с этим паролем? Почему не проходит валидацию при регистрации?
NcYMVgDUF@5LZ>O]iuL6H6
А. Понял. Он слишком длинный. Не больше 20-ти символов.
ZAZmaster
Очень печально.
lesha_firs
Я так думаю это с версией python связанно. Возможно если поставить нужную версию python заведется.
ZAZmaster
Вот полный вывод скрипта инсталляции
simpleadmin
2 VBart
Валерий, прокомментируйте, пожалуйста, когда ждать версию под FreeBSD и с чем связан unsupported?
VBart
Стоит в очереди задач пока без каких-либо точных сроков. Агент собирает метрики не только с NGINX, но используя различные средства операционной системы.
Sovigod
А поддержка gentoo в планах?
VBart
Да.