OpenSource APM Pinpoint

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

    С Днём системного администратора!
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 0

    Only users with full accounts can post comments. Log in, please.