skywalking data link tracking

Introduction to Skywalking

Skywalking is a domestic open source framework. Wu Sheng personally opened it in 2015 and joined the Apache incubator in 2017. It is a Chinese open source product. The main developers are from Huawei. On April 17, 2019, the Apache board approved SkyWalking to become a top-level project and support Java. , .Net, NodeJs and other probes, and the data storage supports Mysql, Elasticsearch, etc. Like Pinpoint, it uses bytecode injection to achieve non-invasive code. The probe collects data at a coarse granularity, but has excellent performance and supports cloud native , the current growth momentum is strong and the community is active.
Skywalking is an application performance monitoring tool for distributed systems. It is designed for microservices, cloud native architecture and container-based (Docker, K8S, Mesos) architecture. It is an excellent APM (Application Performance Management) tool, including Distributed tracing, performance indicator analysis and service dependency analysis, etc.

Comparison of link tracing frameworks

Currently, the open source APM systems on the market mainly include CAT, Zipkin, Pinpoint, and SkyWalking, most of which are implemented with reference to Google's Dapper.

Functional and technical solution comparison

  • Zipkin is Twitter's open source call link analysis tool. It is currently widely used based on Spingcloud sleuth. It is characterized by being lightweight and simple to deploy.
    An open source product from a Korean team uses bytecode enhancement technology. You only need to add startup parameters at startup. It is non-intrusive to the code. It currently supports Java and PHP languages. The bottom layer uses HBase to store data, and the data collected by probes The granularity is very fine, but the performance loss is large. Because it takes a long time to appear, the degree of completion is also very high, and it is used by many companies.
  • Skywalking is a local open source call link analysis and application monitoring analysis tool based on bytecode injection. It is characterized by supporting a variety of plug-ins, strong UI functions, and no code intrusion at the access end.
  • CAT is open sourced by the domestic Meituan Dianping. It is developed based on the Java language. It currently provides clients in Java, C/C++, Node.js, Python, Go and other languages. The monitoring data will be fully collected. It is used by many domestic companies, such as the United States. Tuan Dianping, Ctrip, Pinduoduo, etc., CAT and Zipkin to be introduced below all need to be embedded in the application and are highly intrusive to the code.

Skywalking architecture

SkyWalking is logically divided into four parts: probe, platform backend, storage and user interface.

  • The probes may be different based on different sources, but their functions are to collect data and format the data into a format suitable for SkyWalking.
  • The platform backend supports data aggregation, data analysis, and processes that drive data flow from probes to user interfaces. Analysis includes Skywalking native tracing and performance metrics as well as third-party sources, including Istio and Envoy telemetry, Zipkin trace formatting, and more. You can even use the Observability Analysis Language to customize aggregate analysis on native metrics and metering systems for extended metrics.
  • Storage stores SkyWalking data through an open plug-in interface. You can choose an existing storage system, such as ElasticSearch, H2 or MySQL cluster (Sharding-Sphere management), or you can choose to implement a storage system yourself. Of course, we are very welcome You contribute new storage system implementations.
  • UI is a highly customized web system based on the interface, allowing users to visually view and manage SkyWalking data.

The agent probe allows us to dynamically monitor the components used in Java applications without modifying the code, obtain operating data and send it to OAP for statistics and storage. The agent probe is implemented in Java using java agent technology and does not require any code changes. The java agent will change the code during runtime through the virtual machine (JVM) interface.

If you are interested in the dashboard, plug-ins and installation, you can search on Baidu.

Reference:
https://blog.csdn.net/Dumpling_skin/article/details/126487934

https://blog.csdn.net/weixin_39603265/article/details/111581334

Guess you like

Origin blog.csdn.net/qq_39813400/article/details/129304273