▶ overview

SkyWalking is an open source APM system with the following core features:

  • Service, service instance, endpoint metrics analysis
  • Root cause analysis
  • Service topology analysis
  • Services, service instances, and endpoint dependency analysis
  • Slow service and endpoint detection
  • Performance optimization
  • Distributed tracing and context propagation
  • Database access metrics, slow SQL detection (including SQL statements)
  • Call the police

▶ SkyWalking Architecture Diagram

SkyWalking supports data/metrics from many sources and in many formats, including:

  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)

▶ Deploy SkyWalking OAP & SkyWalking UI

Docker deploys SkyWalking OAP & UI

▶ Example: Spring Boot & SkyWalking Java Agent

1. Obtain the Java Agent library

SkyWalking OAP & UI was constructed by referring to Docker image. After compilation, Java Agent was skywalk-agent/Skywalk-agent.jar. Agent configuration file for skywalking – agent/config/agent. The config

2. Start the Spring Boot application

Using the spring-boot-demos/ Hello Spring Boot project as an example, after using Maven to package, run the following command to start the service:

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.jarCopy the code

If logs similar to the following are displayed, the Agent is successfully started:

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. The 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. The Config. .Copy the code

3. Information is automatically collected from any address that accesses the Spring Boot service

  • http://localhost:8080/

SkyWalking UI Dashboard

The dashboard

The topology

Phase to recommend

● Spring Boot injects static variables from external configuration into the application

● Convert HTML to PDF new pose

● Java calls the Docker API using UnixSocket

● Fastjson fatal flaw

● Service mesh-GRPC Local integrated remote Service

● Use Thymeleaf to render HTML dynamically

● Fastjson fatal flaw

● Spring Boot 2 integrates log4J2 logging framework

● Java interview key points summary set of core reference answers

● Java interview key points summary of the framework of reference answers

● How to protect your password

● Spring Boot RabbitMQ – Priority queue

This article is published by OpenWrite!