Мы рады представить бету 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)


  1. ZAZmaster
    11.07.2016 12:25
    +2

    freebsd is currently unsupported, apologies!

    Очень печально.


    1. lesha_firs
      11.07.2016 14:41

      Я так думаю это с версией python связанно. Возможно если поставить нужную версию python заведется.


      1. ZAZmaster
        11.07.2016 14:45

        Вот полный вывод скрипта инсталляции

        1. Checking admin user… root, ok.
        2. Checking API key… using 6b81b56da545ab9c7950ffdbec93ea67
        3. Checking python version… found python 2.7
        4. Checking OS compatibility… freebsd is currently unsupported, apologies!


    1. simpleadmin
      11.07.2016 15:33

      2 VBart
      Валерий, прокомментируйте, пожалуйста, когда ждать версию под FreeBSD и с чем связан unsupported?


      1. VBart
        11.07.2016 16:01

        Стоит в очереди задач пока без каких-либо точных сроков. Агент собирает метрики не только с NGINX, но используя различные средства операционной системы.


        1. Sovigod
          11.07.2016 16:16

          А поддержка gentoo в планах?


          1. VBart
            11.07.2016 16:19

            Да.


  1. nonname
    11.07.2016 12:53
    +2

    Я так понимаю это в будущем платный продукт, который доступен бесплатно в качестве бета тестирования?


    1. VBart
      11.07.2016 14:02

      Пока неизвестно будет ли это платный продукт. Этот вопрос ещё обсуждается. Возможно будут какие-то гибкие политики, включая бесплатные аккаунты для небольших пользователей.


  1. Apokalepsis
    11.07.2016 14:03

    Он только онлайн или возможно установка на свой сервер. Если возможно, будите ли вы делать подготовленный Docker контейнер?


    1. VBart
      11.07.2016 14:03

      На данный момент это только онлайн сервис.


      1. voe
        11.07.2016 14:21
        +1

        очень жаль, очень хочется видеть подобный инструмент с возможностью установить на свои сервера.


        1. ZAZmaster
          11.07.2016 14:27

          Поддержу, особенно для государственных учреждений актуально иметь всё в своём ЦОДе.


          1. druidvav
            11.07.2016 17:11

            А чем вас собственно zabbix не устраивает? Все эти метрики не секретные и доступны.


            1. ZAZmaster
              11.07.2016 20:36
              +1

              Zabbix устраивает. Но вот рекомендации по производительности и безопасности он не даёт.


  1. iwonz
    11.07.2016 14:09

    Воу, ребята, хорошая работа. Уже нашёл у себя Warning в конфиге.
    P.S. Ставил на рабочий проект, всё идеально установилось. Nginx 1.8.1, Ubuntu 12.04.


  1. SwVZFSf4fLt8NSZNfV87
    11.07.2016 14:40
    +1

    Спасибо! Именно этого и ждали небольшие проекты у которых не было финансирования на nginx plus.
    Теперь практически отпадает необходимость в Munin и прочих системах мониторинга.

    Было бы неплохо на некоторых графиках также видеть статистику не по всей системе, а по виртуальным хостам, чтобы понимать какой именнно хост создаёт нагрузку, наибольшее кол-во ошибок и какой пора переносить на более мощное железо.


  1. lesha_firs
    11.07.2016 14:42
    +1

    А поддержка известных БД планируется или написание плагинов, для своих сервисов.


    1. VBart
      11.07.2016 15:50

      В будущем всё может быть. Проект ещё очень молодой.


      1. lesha_firs
        11.07.2016 15:58

        А есть какой-то дедлайн, по первой стабильной версии?


  1. alexxxst
    11.07.2016 14:47

    А несколько копий nginx на одном хосте можно?


    1. alexxxst
      11.07.2016 14:57
      +1

      О, вижу, сам всё подцепил, класс!


  1. digger3d
    11.07.2016 14:55

    Сравнивая с Zabbix, не понял как масштабировать участок графика. Например вижу аномалию, хочу точно узнать ее время. Если она произошла несколько дней назад, то никак не посмотреть… Или я чего-то не заметил?


  1. 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 host


    1. lesha_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
      ......
      


    1. VBart
      11.07.2016 15:52

      traceroute? Проверил из разных концов света — всё работает.


      1. panaceya
        11.07.2016 16:31

        Дальше хупа 72.21.222.220 (amazon) идут потери, так что видимо заблочили мой ipv4.


    1. webcote
      11.07.2016 17:59

      Проверьте /etc/apt/sources.list, у меня с этим тоже была проблема, удалил ненужные репозитории и все в порядке ;)


      1. panaceya
        11.07.2016 23:07

        При чем тут репы, если сервер не отвечает по http?

        PS: Вас не смутило centos в URL? )


        1. akamoroz
          11.07.2016 23:56
          +1

          Напишите в тех поддержку напрямую, пожалуйста, и укажите свой внешний IP адрес там же.


    1. Krinopotam
      12.07.2016 12:27

      Та же проблема


      1. VBart
        12.07.2016 12:30

        Всем, кто столкнулся с подобной проблемой, просьба написать в тех. поддержку указав внешний IP с которого не удается подключиться.


        1. Krinopotam
          12.07.2016 17:57

          Проблема решилась отключением неработоспособного репозитария


  1. iwonz
    11.07.2016 16:00

    Ребят, нашёл несколько неудобных моментов, ИМХО.

    1. Graphs для всех проектов один
    2. Prewiew стрелочкой скрываю, затем после перехода с одного сервера на другой Preview снова появляется

    Поправьте меня, пожалуйста, если я просто не нашёл как сделать правильно.

    P.S. Русскую версию бы ещё.


  1. Cepega
    11.07.2016 16:36

    А как ему рассказать, где у меня nginx? В логе ошибка supervisor failed to find bin_path, prefix and conf_path for nginx: master process ./nginx


    1. VBart
      11.07.2016 16:42

      1. Cepega
        11.07.2016 16:47

        Спасибо, помогло


  1. SwVZFSf4fLt8NSZNfV87
    11.07.2016 16:44

    Debian 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.


    1. VBart
      11.07.2016 17:01

      Речь видимо о сертификатах? Ключи он трогать не пытается. Подробности тут.


  1. knutov
    11.07.2016 18:46

    E: The method driver /usr/lib/apt/methods/https could not be found.
    N: Is the package apt-transport-https installed?
    
      7. Updating repository ... failed.

    Поставить вручную помогло


    1. VBart
      11.07.2016 18:51

      Пакетный менеджер подсказывает, что для доступа к репозиториям по https нужно доустановить apt-transport-https.


      1. knutov
        11.07.2016 18:52

        Это понятно. Непонятно, почему оно само его не ставит, раз надо.


        Просто так, кстати, не ставится, приходится использовать --force-yes


        apt-get install -y --force-yes apt-transport-https


  1. knutov
    11.07.2016 18:57

    11. Checking if euid 116(nginx) can find root processes ... agent won't be able to detect nginx - ps(1) is restricted!

    Не очень понятно почему — делалось то всё под рутом.


    У нас используется hidepid=2 (и это нельзя изменить). Если это оно мешает — может как-то можно вручную помочь?


  1. knutov
    11.07.2016 19:05

    После установки на паре вдс на опенвз — решил поставить на саму ноду. На что установщик мне радостно сделал


     Stopping old amplify-agent, pid 261617
    275334
    288169
     Launching amplify-agent ...

    В реальности он правда ничего не постопил и вроде всё как было запущено — так и осталось.


    Вопрос — зачем оно использует вообще ps вместо пид файлов?


  1. knutov
    11.07.2016 19:09

    А еще оно не умеет определять venet интерфейсы внутри опенвз.


    1. akamoroz
      11.07.2016 20:45
      +1

      Научились определять в последней версии агента (0.35).

      Если версия агента 0.35 и оно не работает — отпишитесь, пожалуйста, в Intercom или в личку здесь, на хабре.


    1. VBart
      11.07.2016 20:45

      [deleted]


  1. 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

    А на другом таком же сервере все запустилось.


    1. akamoroz
      11.07.2016 20:46
      +1

      Таск сделали, но отпишитесь, плиз, тоже в тех поддержку (интерком), нужно подебажить.


  1. zar0ku1
    12.07.2016 03:18

    Запись вебинара будет? а то у меня это 4 утра


    1. VBart
      12.07.2016 11:22
      +1

      Будет.


  1. andrewmillion
    12.07.2016 13:52
    +1

    Подключился, спасибо за такой инструмент, буду пользоваться!


  1. webnet
    12.07.2016 14:07

    Я чет понимаю, что бы для работы статистики — NGINX REQUEST TIME, NGINX DISK BUFFERED, NGINX RESPONSE TIME — что необходимо установить?


    1. 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


  1. 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


    Только эти три метрики. Что с этим делать?


    1. 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)


      1. alexxxst
        12.07.2016 21:18

        Кажись понял… рута хочет. Но нафига засирать лог этим, если знать, что не из-под рута запущен?


        1. 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.


          1. alexxxst
            13.07.2016 00:10

            Это не VDS/VPS, обычный железный сервер, права куда надо есть (755), запускать агента из-под рута как-то неохота…
            Дебаг – это я пытался понять, чего оно хочет и вам показал. Засирает раз в минуту лог сообщением выше…


  1. Saymon21
    13.07.2016 14:16

    Хорошо бы иметь статистику по виртуалхостам (rps, response time etc), а не по всему инстансу.


  1. WindDrop
    14.07.2016 07:25

    А что не так с этим паролем? Почему не проходит валидацию при регистрации?

    NcYMVgDUF@5LZ>O]iuL6H6
    

    А. Понял. Он слишком длинный. Не больше 20-ти символов.