控制台和仪表盘

将尽可能多的数据展示在仪表盘上可能很诱人,尤其是在像 Prometheus 这样的系统能够对您的应用程序进行如此丰富的检测时。这可能会导致控制台因信息过多而难以理解,即使是系统专家也难以从中提取有意义的信息。

与其尝试表示您拥有的每一条数据,对于操作控制台,请考虑最可能的故障模式以及您将如何使用控制台来区分它们。利用您服务的结构。例如,如果您在一个在线服务系统中有一个大型服务树,那么某些较低服务的延迟是一个典型问题。与其在单个大型仪表盘上显示每个服务的信息,不如为每个服务构建单独的仪表盘,其中包括它们与之通信的每个服务的延迟和错误。然后,您可以从顶部开始,逐步向下找到有问题的服务。

我们发现以下准则非常有效

  • 一个控制台上不要超过 5 个图表。
  • 每个图表上不要超过 5 个绘图(线条)。如果是堆叠/面积图,您可以适当增加。
  • 当使用提供的控制台模板示例时,避免在右侧表格中超过 20-30 个条目。

如果您发现自己超出这些限制,那么降低不太重要信息的可见性可能是有意义的,可能会将一些子系统拆分到新的控制台。例如,您可以绘制聚合数据而不是分解数据,将其移动到右侧表格,或者甚至完全删除数据(如果它很少有用) - 您始终可以在表达式浏览器中查看它!

最后,一组控制台很难服务于多个主要目的。您在值班时想知道什么(哪里坏了?)与您在开发功能时想知道什么(有多少人遇到极端情况 X?)往往非常不同。在这种情况下,两组独立的控制台可能很有用。

本文档是开源的。请通过提交问题或拉取请求来帮助改进它。