“Houston, we have an alert!”
“Can you troubleshoot it quickly in a containerized microservices world?”
Above scenario is typical for SREs and DevOps engineers and often a challenge when they are working with microservices-based distributed systems. Troubleshooting microservices-based applications is challenging and requires answers to the following questions:
-
- What’s the request call flow and service dependencies?
- Which service was the bottleneck in that request?
- How’s the health of all services involved in the request?
- How many customers are experiencing long latency ( What’s the P90, P95, P99)?
To get answers to all of the above questions and quickly troubleshoot microservices, you need visual and interactive observability. With the newest addition of Service Maps to Wavefront 3D ObservabilityTM, an approach that uniquely combines the power of metrics with distributed tracing and histograms, our customers get the following benefits:
-
- OOTB visualization of request flow and service dependencies
- Built-in tracking of critical health metrics – rate, error and duration (RED)- for any service
- Deep-dive view into individual traces to pinpoint any performance bottlenecks
The Wavefront Service Map enables SREs and developers to isolate relevant microservices and dramatically reduce troubleshooting time.
Furthermore, they can quickly pinpoint any performance bottlenecks in their microservices architecture. Additionally, with Wavefront Docker Engine integration, customers can easily correlate microservices performance with underlying Docker containers resource usage. Check out the following demo to understand how to troubleshoot microservices using Wavefront Service Maps quickly.
OOTB Visualization of Request Flow and Service Dependencies
In a distributed system, each request might call many microservices in the background. Often, it’s a challenge to understand which microservices were involved in a given request and which service is the bottleneck. Wavefront Service Map depicts the request call flow across different services. All services that are not involved in a given request, but are called in other requests, are grayed out. This gives you a clear picture of the services involved the request flow. So, you can quickly isolate and focus on the services involved in any request. Furthermore, each service map is customizable, allowing you to drag and arrange service nodes as needed simply.
Wavefront Service Map showing request flow across different microservices
Built-in Tracking of Critical RED Health Metrics for any Service
Monitoring the health of each service is as important as understanding the service dependencies. RED metrics reflect the health of service and highlight any issues. This data is critical for service owners to ensure good customer experience. Wavefront Service Maps show you the health of each service along with the service flow. This combination of both, service health and dependencies in one view, drastically reduces troubleshooting time. For instance, the RED metrics shown in the screenshot, highlight the following issues:
- High Error rate: 128 out of 1800 requests are resulting in an error, which is a high (~7%) error rate
- High P95 latency: The P95 latency of 8+ seconds indicates that some users out there are experiencing unusually long response times
RED metrics highlighted for each service
Deep-dive View Into Individual Traces to Pinpoint any Performance Bottlenecks
The next step after seeing the request flow and analyzing the health of each service is to drill deeper into individual traces. Wavefront provides detailed trace view showing the critical path for each trace across different services. This detailed trace view enables developers, DevOps and SREs to pinpoint performance bottlenecks and optimize the corresponding microservices and significantly reduce end-to-end response time.
Detailed trace view showing all spans and critical path
Wavefront First Pane of Glass: Is it the App or Kubernetes or Container?
When there is a performance issue, the first thing you need to understand is if the problem is caused by the application or the underlying infrastructure. Using Wavefront as the first pane of glass you can quickly view the health and performance of microservices and containerized infrastructure. Furthermore, you can drill down and investigate the performance of downstream services and correlate it with infrastructure metrics. This empowers SREs and DevOps teams to quickly find the root cause and any performance bottlenecks, leading to a dramatic reduction in MTTR. Additionally, they can send a link with all the data to the correct person using the notification tools of their choice.
Docker container health metrics dashboard
And you get all the above in one view with Wavefront. Also, you can choose between light and dark theme based on your preference.
Wavefront Service Map showing service dependencies with RED metrics and detailed trace view
Conclusion
Microservices-based architectures are becoming increasingly popular among fast-moving, cloud-native software teams. Monitoring distributed microservices-based architectures can be challenging due to lack of end-to-end request flow visibility, complex service dependencies and underlying dynamic infrastructure. Wavefront provides visual and interactive 3D Observability for faster microservices troubleshooting. Wavefront Service Maps enable SREs and developers to isolate, troubleshoot and pinpoint any performance bottlenecks with instant visualization of microservice dependencies and health metrics.
Furthermore, Wavefront acts as the first pane of glass to analyze and troubleshoot any health and performance issues across your stack, starting from microservices to Kubernetes and containers. To see your microservice dependencies clearly and dramatically reduce troubleshooting time, check out our free trial today.
The post Wavefront Introduces Service Maps for Faster Microservices & Containers Troubleshooting appeared first on Wavefront by VMware.