Chapter 41. Improve Your Monitoring with Visualizations and Dashboards

Jason Katzer

Charts take your monitoring metrics to the next level by making it possible to visualize them.1 Why work on this task? Because viewing the charts you create will unlock a different kind of creativity when facing an impending incident in your production systems.

It may take some time to get this right; creating effective charts that tell you what you need to know about your application is more of an art than a science. For example, you can use login metrics to start to understand the current traffic flowing through a certain user path, while also being able to contextualize that instantly with the insight of overlaying the history over certain time periods.

Additionally, changing the aggregation you are using can tell you different things. Think back to calculus class, if you took it: the current value of a metric can tell you something interesting, but the rate of change of that metric can indicate a trend that tells you something different.

When you are having an argument about how often one thing happens versus another, that is a perfect time to turn to metrics. You can add a line of code to track something, ship it to production, and start to get answers instead of guessing.

Functions allow you to permute the data being graphed in a limited set of ways as made available by your cloud provider. Sometimes overlaying the same metric on the same graph multiple times, but applying different functions to each line, can give you even more information instantly about a key metric.

Some of the basic functions you should expect to have are sum, avg, min, and max. These functions are the building blocks to create more powerful visualizations that give you the most insight into the operation of your services and systems. Make sure you are familiar with all of the offerings of the tool you are using.

Documentation is a must for each graph you create. Explain what the human operator is looking at and how to make sense of it. Reference or link to additional information in your runbook or operations manual. And if there is a specific reason you chose certain functions to display data that wouldn’t be easily understood by someone unfamiliar with the system, add that reasoning to your documentation.

Creating a dashboard of effective charts can bring what was once an invisible system to life with full visibility into all of the vital signs of health for your service or even the application as a whole.

Many dashboards have the ability to change the data displayed based on changing the value of a tag. You can reuse dashboards between the different stages of your services by utilizing this functionality.

Well-designed monitoring dashboards that are easy to understand and reflect the health of the service should allow you and others to detect anomalies and incidents. Here is where you are actually able to understand the health at a glance.

Generally, dashboards should allow you to adjust for the time period in which you would like to inspect. Including important events such as deploys can help a human operator determine whether an issue was directly caused by a deployment and investigate further.

No one dashboard will solve everything for everyone. You might combine multiple tools and sources into a dashboard. Either way, you’ll need a consistent set of rules and standards for all of your “official” service dashboards.

1 Excerpted from Learning Serverless by Jason Katzer (O’Reilly, 2020).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.155.58