Инструмент APM провел поиск и обнаружил, что SkyWalking — моя настоящая любовь.

Java

▶ Обзор

SkyWalking — это система APM с открытым исходным кодом со следующими основными функциями:

  • Сервис, экземпляр сервиса, анализ метрик конечной точки
  • Анализ причин
  • Анализ карты топологии сервиса
  • Сервис, экземпляр сервиса и анализ зависимостей конечной точки
  • Медленное обслуживание и обнаружение конечных точек
  • оптимизация производительности
  • Распределенная трассировка и распространение контекста
  • Метрики доступа к базе данных, медленное обнаружение SQL (включая операторы SQL)
  • Вызовите полицию

▶ Схема архитектуры SkyWalking

SkyWalking поддерживает данные трасс/метрик из различных источников и форматов, в том числе:

  1. Java, .NET Core, NodeJS and PHP auto-instrument agents in SkyWalking format
  2. Istio telemetry format
  3. Zipkin v1/v2 format
  4. Jaeger gRPC format.
  5. Envoy metrics format (the metric entries itself is prometheus client metric family)

▶ Разверните SkyWalking OAP и SkyWalking UI

Справочный документ: развертывание Docker SkyWalking OAP и пользовательский интерфейс

▶ Пример: Spring Boot и Java-агент SkyWalking

1. Получите библиотеку агента Java

См. Образ Docker — Создание SkyWalking OAP и пользовательского интерфейса После компиляции агент Java будет иметь вид skywalking-agent/skywalking-agent.jar, а файл конфигурации агента — skywalking-agent/config/agent.config.

2. Запустите приложение Spring Boot

Взяв в качестве примера проект spring-boot-demos/hello spring boot, после упаковки с помощью maven запустите службу с помощью следующей команды:

    java \
    -javaagent:/<skywalking-project-path>/skywalking-agent/skywalking-agent.jar \
    -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 \
    -DSW_AGENT_NAME=spring-boot \
    -jar hello-world-1.0-SNAPSHOT.jar

Если выходной журнал похож на следующий, это означает, что Агент запущен успешно:

    DEBUG 2019-05-08 11:58:52:399 main AgentPackagePath :  The beacon class location is jar:file:/Users/admin/docker/skywalking/apache-skywalking-apm-6.1.0/skywalking-agent/skywalking-agent.jar!/org/apache/skywalking/apm/agent/core/boot/AgentPackagePath.class.
    INFO 2019-05-08 11:58:52:401 main SnifferConfigInitializer :  Config file found in /Users/admin/docker/skywalking/apache-skywalking-apm-6.1.0/skywalking-agent/config/agent.config.
    .........

3. Любой доступ к адресу службы Spring Boot может автоматически собирать информацию

  • http://localhost:8080/

SkyWalking UI Dashboard

приборная доска

Топология

Рекомендовано в прошлом

Spring Boot внедряет внешнюю конфигурацию в статические переменные внутри приложения.

Конвертировать HTML в PDF новую позу

Java вызывает Docker API с помощью UnixSocket

Фатальный недостаток Fastjson

Service Mesh — локальная совместная отладка удаленных сервисов gRPC

Динамический рендеринг HTML с помощью Thymeleaf

Фатальный недостаток Fastjson

Spring Boot 2 интегрирует структуру ведения журнала log4j2.

Основной справочный ответ из сборника баллов прохождения собеседования по Java

Справочный ответ к рамочной статье сводного набора точек прохождения собеседования по Java

Практичная галантерея Spring Security: как защитить пароли пользователей

Spring Boot RabbitMQ — приоритетная очередь

Эта статья опубликована в блогеOpenWriteвыпускать!