- PVSM.RU - https://www.pvsm.ru -

OpenSource APM Pinpoint

continuous insights

Доброго вам.

Мониторинг производительности приложений (Application Performance Monitoring, APM) решает задачи контроля, управления доступностью и непосредственно производительностью приложений.
На страницах Хабра уже освещались свободные АРМ Glowroot [1] и MoSKito [2], а вот Pinpoint [3] остался в тени.

К выбору АРМ с открытым исходным кодом, которые доступны сегодня в качестве альтернативы платным инструментам, я пришел исходя из специфики наших приложений и требований заказчика, где облачные решения абсолютно исключены. Ранее на одном из проектов я использовал ПО Dynatrace [4] — одного из инноваторов и лидеров в сфере APM. Компания ранее давала возможность, пользоваться её продуктом легально после пробного периода.

Разработчики позиционируют Pinpoint как инструмент для высокомасштабируемых распределённых систем, который позволит вам:

  • увидеть карту и топологии компонентов приложения
  • осуществить мониторинг метрик в реальном времени
  • видеть все транзакции
  • установить Agents без правки кода ваших приложений
  • получить менее 3% увеличения нагрузки на вашу систему при снятии метрик

На 1 апреля 2018г., анонсирована поддержка следующих модулей:

  • JDK 6+
  • Tomcat 6/7/8, Jetty 8/9, JBoss EAP 6, Resin 4, Websphere 6/7/8, Vertx 3.3/3.4/3.5
  • Spring, Spring Boot (Embedded Tomcat, Jetty)
  • Apache HTTP Client 3.x/4.x, JDK HttpConnector, GoogleHttpClient, OkHttpClient, NingAsyncHttpClient
  • Thrift Client, Thrift Service, DUBBO PROVIDER, DUBBO CONSUMER
  • ActiveMQ, RabbitMQ
  • MySQL, Oracle, MSSQL, CUBRID,POSTGRESQL, MARIA
  • Arcus, Memcached, Redis, CASSANDRA
  • iBATIS, MyBatis
  • DBCP, DBCP2, HIKARICP
  • gson, Jackson, Json Lib
  • log4j, Logback

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

Pinpoint [3] состоит из шести основных компонентов:

  • Apache HBase — как хранилище метрик
  • Apache ZooKeeper — как сервис конфигурирования и синхронизации
  • Apache Flink — потоковый движок
  • Collector — агент приёма метрик
  • WebUI- пользовательский интерфейс
  • Agent — агент отправки метрик

Collector и WebUI это war контейнеры, Agent jar файл для профайлинга, который без каких-либо изменений кода вашего приложения добавляется в JAVA_OPTS. Опционально разработчики предлагают для WebUI использовать СУБД Mysql для конфигурирования пользователей, групп и оповещений.

Для простой установки имеется официальный pinpoint-docker [5] репо.

Главная страница довольно наглядно отображает картину компонентов приложения.

image

Можно рассмотреть детально транзакции и найти узкое место.

image

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

image

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

image

Pinpoint [3] — замечательный инструмент, который однозначно стоит иметь в своём арсенале.

С Днём системного администратора!

Автор: alexovchinnicov

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/287421

Ссылки в тексте:

[1] Glowroot: https://glowroot.org/

[2] MoSKito: http://www.moskito.org/

[3] Pinpoint: http://naver.github.io/pinpoint/

[4] Dynatrace: http://www.dynatrace.com/

[5] pinpoint-docker: https://github.com/naver/pinpoint-docker

[6] Источник: https://habr.com/post/418059/?utm_campaign=418059