I've been thinking lately if there's something that shows the invocation relationships between our multiple microservices, and shows their state, and shows the flow of data through the network topology diagram, error tracing, it's a good framework if you do it all in a generic way.The main idea is to set up a certain communication protocol for each micro-service, so that they comply with a certain protocol on the reporting server, the server for UI display.As the saying goes, "foreign companies will play", only to find that some companies have been made. This article translated from: Tools to Monitor and visualize microservices Architecture | Programmableweb
After you build and deploy a distributed application, it is critical to monitor and visualize it to ensure software reliability, availability, and expected performance.It's not easy. The heterogeneous and distributed nature of applications driven by microservices architectures makes monitoring, visualization, and analysis a challenge.Traditional application monitoring and performance management (APM) solutions are not suitable for today's complex distributed applications. Fortunately, several new APM solutions have been introduced in the past few years to address these issues.These APM solutions use advanced technologies such as artificial intelligence (AI), machine learning, and graphical analysis to monitor, visualize, and analyze microservices architectures.Many modern APM solutions also include distributed tracking and topology visualization needed to effectively manage microservices architectures.
Distributed tracing and topology visualization
The current open source distributed tracking system includes Zipkin,htrace,x-trace and trace.There is also the Opentracing project, designed to provide vendor-agnostic APIs that enable distributed tracking and context propagation on all popular platforms. "Distributed tracking systems collect end-to-end latency graphs (traces) in near real-time," said Battery Ventures, the former chief architect of Netflix, Adrian Cockcroft, who described distributed tracking in a recent speech.You can compare traces to understand why some requests take longer than other requests. Not all available open source distributed tracking systems include topology visualization, which can be an important feature.Topology visualization maps or charts application layouts in micro-application architectures and other distributed applications.This is important when you need to discover performance issues and other issues.
Simianviz Demo Screenshots, more complex Netflix visualizations: View live demonstrations. Adrian Cockcroft recently released a new open Source Tool, Simianviz (formerly known as Spigo), which can generate large-scale simulations of complex microservices.Companies can use these simulations for topology visualization, and can stress test the microservices monitoring solution without having to set up large test configurations. Leading technology companies such as Netflix and LinkedIn have built their own distributed tracking and performance monitoring solutions.For Netflix, demand for its multiple distributed tracking tools is driven by the need for scalability, as most business tools cannot scale at the level required by Netflix.Netflix also uses a variety of visualization tools, including on-demand CPU flame graphs to analyze and optimize the performance of Java and node. JS applications. LinkedIn has a real-time distributed tracking system that uses Apache SAMZA results to build real-time call graphs.The call graph is used for performance optimization and root-cause analysis of the LinkedIn distributed architecture. Most companies don't have a lot of resources for companies like LinkedIn and Netflix, so it might be impossible to build custom distributed tracking and performance monitoring solutions from scratch.Fortunately, developers of any size company can use many tools to monitor and visualize distributed applications.
Monitoring and visualization of micro-service architectures
There are many systems built on the microservices architecture.A microservices architecture typically consists of dozens of or even hundreds of fine-grained services; Each user transaction has undergone many of these services.In addition, transactions are usually asynchronous and involve multiple concurrent service requests.Traditional APM products often fail to monitor distributed applications that process multiple concurrent service requests. Their inherent complexity and high scalability requirements lead to the creation of application monitoring and visualization tools using machine learning, graphical analysis, distributed tracking, topology visualization and other cutting-edge technologies. Here are a few examples of these solutions, so you can learn about the tools available to help you understand what's happening in the software.
Photo Source: AppDynamics Although AppDynamics has been around for quite some time, the company launched a machine learning-driven APM product in June 2015 to monitor, manage and analyze complex architectures such as microservices.AppDynamics real-time display of application performance and automatic discovery of application topologies and interdependencies.Its APM tools also include distributed tracing, topology visualization, and dynamic tagging. Developers can use AppDynamics to determine the health of distributed applications, understand transaction paths, determine the root cause of service failures, and gain other important insights into the microservices architecture.The AppDynamics API can help extend and customize the capabilities of the platform.
Photo Source: Instana Instana is a monitoring and management platform for Web applications, founded in April 2015.One of its key features is the intelligent Virtual Robot assistant Stan. Stan helps Instana users (i.e. developers and devops) to monitor and optimize complex applications and architectures with instant notifications.Stan has extensive devops knowledge and continues to learn and understand cutting-edge application components and architectures.Robotic assistants rely on a variety of technologies, including dynamic dependency graphs, automatic discovery and sensing, and health predictions for components and systems.Instana also includes a real-time knowledge engine that automatically discovers application topologies and interdependencies. Instana uses machine learning, mathematical algorithms, and proprietary knowledge systems to provide dynamic graphics and visualization.Instana Company promises that developers can measure the health status of distributed applications (latency, error rate, etc.), understand service relationships and interdependencies, investigate specific events and service failures (real-time and historical), and get a better understanding of the overall application.
Image source: Netsil Netsil Distributed Application monitoring and analysis platform was established in 2016 to automatically discover a complete application topology, continuously monitor distributed applications, perform distributed tracking, and analyze application metrics (from history to the present). MicroServices-based applications consist of multiple services, often built using different languages and frameworks.Although distributed application services may use multiple languages and frameworks, the protocols for these services are usually the same (rest,http,rpc,pub/sub, etc.).Some APM tools such as Netsil can be integrated with these universal protocol monitoring services, regardless of language or framework. Netsil monitors and captures distributed application service interaction data to create visualizations that help developers discover and manage events, measure the overall health of the application, and understand the components and dependencies of the application.
Photo Source: Opsclarity Opsclarity, launched in December 2015, is an intelligent monitoring and analysis platform for high-speed web-scale applications.Opsclarity committed features include automatic topology discovery and Metric collection, topology visualization, and performance monitoring. One component of this is an operational knowledge graph that understands and continuously learns operational data models, service topologies, and other application/system performance baselines.Developers can use the Opsclarity RESTful API to capture custom metrics, annotate each metric, and push metrics and events.Opsclarity also provides monitoring and analysis tools to display a top-down unified view and in-depth data visualization. Opsclarity uses AI and graphical analysis to visualize and analyze large-scale distributed applications.The infrastructure master map shows the health of each host or service; Topology maps help developers understand service dependencies and infrastructure components; The timeline feature enables developers to review and review previous system state to understand the occurrence of errors and failures.
Most of the APM tools highlighted in this article contain common features such as automatic discovery of application topologies and interdependencies, monitoring of application health, service level alerts, and replay system state. Automatic discovery of application topologies and interdependencies saves developers time and shortens mean time to repair (MTTR).Developers do not have to spend hours figuring out service affinity and mapping application components.Visualization of application topologies can help developers identify and mitigate bottlenecks in service dependencies. Services in a distributed application may have latency issues, errors, and other issues that affect the overall health of the application.Tools to monitor app health and provide service level alerts help developers quickly discover and fix application issues some APM solutions include historical replay capabilities to help developers investigate and determine the root cause of service failures and errors.Historical playback of System State also helps developers discover topology changes and better understand overall applications.
Next-generation APM tools
The number of complex distributed applications continues to grow, requiring new application monitoring and visualization tools to help troubled developers get lost in the debug maze and figure out: "Why not work the way it should?" ！"Multiple application monitoring and management platforms are doing their best to get developers to gain insight into these complex, interrelated applications.These APM platforms take advantage of advanced technologies such as AI, machine learning, and graphics analysis. The traditional application monitoring and management platform is not enough.As application architectures evolve and become more complex, tools for monitoring, analyzing, and managing applications must evolve.
This article has been in the copyright printing record, protected by copyright law, without permission shall not be reproduced!If you think this article is useful for you, you can click on the "sponsor author" below to hit the author!
Reprint Annotated Original source:Baiyuan's Blog> >https://wangbaiyuan.cn/en/monitoring-visualization-tools-for-micro-service-architectures-2.html