Как стать автором
Поиск
Написать публикацию
Обновить

OpenSource APM Pinpoint

Время на прочтение2 мин
Количество просмотров4.9K
continuous insights

Доброго вам.

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

К выбору АРМ с открытым исходным кодом, которые доступны сегодня в качестве альтернативы платным инструментам, я пришел исходя из специфики наших приложений и требований заказчика, где облачные решения абсолютно исключены. Ранее на одном из проектов я использовал ПО Dynatrace — одного из инноваторов и лидеров в сфере 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 состоит из шести основных компонентов:

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

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

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

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

image

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

image

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

image

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

image

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

С Днём системного администратора!
Теги:
Хабы:
Всего голосов 9: ↑8 и ↓1+7
Комментарии0

Публикации

Ближайшие события