OpenSource APM Pinpoint

в 15:50, , рубрики: apm, devops, java, системное администрирование

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 — замечательный инструмент, который однозначно стоит иметь в своём арсенале.

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

Автор: alexovchinnicov

Источник

Поделиться

* - обязательные к заполнению поля