In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-17 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
This article mainly explains "what are the relevant knowledge points of OpenTelemetry". Interested friends may wish to have a look. The method introduced in this paper is simple, fast and practical. Next, let the editor take you to learn "what are the relevant knowledge points of OpenTelemetry"?
Previous life OpenTracing
OpenTracing has developed a set of platform-independent and vendor-independent Trace protocol, which makes it easy for developers to add or replace the implementation of distributed tracking system. In November 2016, the CNCF Technical Committee voted to accept OpenTracing as the Hosted project, which is the third project of CNCF, the first is Kubernetes and the second is Prometheus, which shows that CNCF attaches great importance to the observability behind OpenTracing. For example, the famous Zipkin and Jaeger all follow the OpenTracing protocol.
OpenCensus
You may wonder, what are you going to do with OpenTracing,OpenCensus? Sorry, you should know that the initiator of OpenCensus is Google, the company that first came up with the concept of Tracing, and OpenCensus is the community version of Google Dapper. The biggest difference between OpenCensus and OpenTracing is that in addition to Tracing, it also includes Metrics, so that it can also do basic index monitoring on OpenCensus; another difference is that OpenCensus is not a simple specification, he has also done Agent and Collector, including data acquisition. OpenCensus also has a large number of followers, the biggest news recently is that Microsoft also announced to join, OpenCensus can be said to add wings.
OpenTracing vs OpenCensus
The two Tracing frameworks, both have many followers, want to unify each other, what should I do? First of all, let's compete, ah, here is lazy, go directly to the Steve picture:
As you can see, OpenTracing and OpenCensus have their own advantages and disadvantages in terms of functions and features. OpenTracing supports more languages and is less coupled to other systems; OpenCensus supports Metrics, from API to the basic framework. Since you can't tell the difference between features and features, compete in terms of popularity and the number of users:
Well, there are a lot of manufacturers following OpenTracing (such as ElasticSearch, Uber, DataDog, and home-made SkyWalking). Behind OpenCensus, Google and Microsoft are enough to hold up half the sky.
In the end, there is no victory or defeat in a competition, what should we do?
OpenTelemetry came out of nowhere.
As the saying goes, the world must be divided and divided for a long time. Since there is no way to distinguish between high and low, and everyone has advantages and disadvantages, let's quit and unify. So OpenTelemetry came out of nowhere.
So the question comes: can unification start a new project from scratch? What about the brothers who followed me before? I can't lose my brothers.
Don't worry, this kind of thing will never happen. Keep in mind that the sponsors of OpenTelemetry are both OpenTracing and OpenCensus, so the first purpose of the project is to be compatible with OpenTracing and OpenCensus. Applications that use OpenTracing or OpenCensus can access OpenTelemetry without re-modification.
Core work
OpenTelemetry is born with an incomparably dazzling aura: OpenTracing support, OpenCensus support, directly into the CNCF sanbox project. But OpenTelemetry is not designed to solve all the problems of observability, and his core work focuses on three parts:
The formulation of specifications, including concepts, protocols and API, in addition to their own agreements, they also need to be consistent with W3C and GRPC agreements.
Implementation and integration of related SDK and Tool, including SDK of various languages, automatic code injection, integration of other tripartite libraries (Log4j, LogBack, etc.)
At present, the implementation of the acquisition system is still using the acquisition architecture of OpenCensus, including Agent and Collector.
You can see that OpenTelemetry only does the work of data specification, SDK and collection, but does not involve Backend, Visual, Alert and so on. Currently, the official recommendation is to use Prometheus as the Backend of Metrics and Jaeger as the Backend of Tracing.
After looking at the picture above, you may have questions: Metrics and Tracing are available, so why not add Logging to it?
In fact, there are two main reasons why Logging didn't go in there:
The main task of the working group at present is to unify the concepts of OpenTracing and OpenCensus as soon as possible and develop the corresponding SDK,Logging as a priority for P2.
They haven't figured out how to integrate Logging into the specification, because it still needs to be done with Fluentd in CNCF, and no one has figured it out yet.
Ultimate goal
The final state of OpenTelemetry is to realize the integration of Metrics, Tracing and Logging as the ultimate solution to the observability of CNCF.
Tracing: provides a tracking path for requests from receiving to processing the entire life cycle. Requests are usually processed in a distributed system, so it is also called distributed link tracing.
Metrics: provides quantitative indicators of internal / external dimensions of the system, including Counter, Gauge, Histogram, etc.
Logging: provides the most detailed information about the system / process, such as a key variable, event, access record, etc.
All three are indispensable in observability: abnormal alarm based on Metrics, locate the problem (suspicious) module through Tracing, locate the error source according to the specific log details of the module, and finally adjust the Metrics (increase or adjust the alarm threshold, etc.) based on the experience of this problem investigation, so that such problems can be detected / prevented earlier next time.
The key to the Fusion of Metrics, Tracing and Logging
The key to the integration of Metrics, Tracing and Logging is to get the relationship among them. Among them, we can focus on the most basic information, such as time, Hostname (IP), APPName. The most basic information can only be located to a specific time and module, but it is difficult to continue Digin, so we print TraceID into Log, so we can associate Tracing and Logging. But it still doesn't solve a lot of problems:
How to relate Metrics to the other two
How to provide more dimensional associations, such as requested method name, URL, user type, device type, geographic location, etc.
How the relationship is consistent and can be propagated in a distributed system
In OpenTelemetry, you try to use Context to provide a unified context for Metrics, Logging, and Tracing. All of them can access this information. OpenTelemetry itself is responsible for the storage and dissemination of Context:
Context data can be accessed during the execution cycle of Task/Request
Provides a unified storage layer for storing Context information and ensuring that it works in a variety of languages and processing models (such as single thread model, thread pool model, CallBack model, Go Routine model, etc.)
The correlation of multiple dimensions is based on Tag (or meta) information, and the Tag content is determined by the business, such as distinguishing production flow or pressure test flow through TrafficType, and analyzing data of each device type through DeviceType.
Provide distributed Context transmission, such as traceparent/tracestate header of W3C, GRPC protocol, etc.
The following is the prototype design of Yuri Shkuro painting:
+-+ | | +-+ custom application logic or specialized frameworks | | | +-- +-+ | +- + +-+ +-+ | metrics | | logs | | traces +-- + | +-+-- +-+ + -+-+ | ^ | | +-+ | +-> Baggage | | +-+ | +- -+ Universal context propagation layer marshaling plugins to this I believe that you have a deeper understanding of "what are the relevant knowledge points of OpenTelemetry?" you might as well come to the actual operation. Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.