«Эта статья участвовала в мероприятии Haowen Convocation Order, щелкните, чтобы просмотреть:Двойные заявки на внутреннюю и внешнюю стороны, призовой фонд в 20 000 юаней ждет вас, чтобы бросить вызов!"
Скачать SkyWalking (рекомендуется официальный сайт)
skywalking.apache.org/downloads/
Загрузите пакет tar напрямуюwoohoo.apache.org/wish you/closer. …
Запустите SkyWalking локально
- Разархивируйте пакет tar и войдите в каталог apache-skywalking-apm-bin/bin.
- Система Windows напрямую запускает файл startup.bat (система Linux запускает файл startup.sh), появляется следующее представление, указывающее, что запуск прошел успешно
Браузер открывается:http://localhost:8080/Вы можете получить доступ к интерфейсу управления SkyWalking
Springboot доступ к SkyWalking
Доступ через javaagent, без вмешательства в код
java -javaagent:/usr/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=your-service-name -Dskywalking.collector.backend_service=127.0.0.1:11800
Если вы используете идею для запуска проекта Springboot, вы можете настроить его в области параметров виртуальной машины.
Запустите проект и увидите следующую топологию, что означает, что ваш сервис отслеживался
журнал печати trace_id
Возьмите logback в качестве примера
- файл pom добавить зависимости
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>8.6.0</version>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
</dependency>
- файл конфигурации logback добавить конфигурацию
<!-- 控制台输出 -->
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
<Pattern>${logEnv} %d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n
</Pattern>
</layout>
</encoder>
</appender>
<!-- 上报给logstash -->
<appender name="logStash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${StashUrl}</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
<provider class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.logstash.TraceIdJsonProvider"/>
<customFields>{"applicationName":"${AppID}-${logEnv}"}</customFields>
</encoder>
</appender>
- Идея запускает проект, чтобы увидеть вывод консоли
- Просмотр журналов на Kibana
- Посмотреть ссылку звонка по trace_id
Решить проблему, из-за которой невозможно получить trace_id, когда проект использует фреймворк WebFlux.
Например, используя компонент шлюза Springcloud.
Скопируйте 4 дополнительных плагина в папку \apache-skywalking-apm-bin\agent\Optional-plugins на приведенном выше рисунке в \apache-skywalking-apm-bin\агент\плагины