控制台与仪表盘
在仪表盘上显示尽可能多的数据可能很诱人,尤其是当像Prometheus这样的系统提供了对应用程序进行丰富监控埋点的能力时。这可能导致控制台因信息过多而难以理解,即使是系统专家也很难从中获取有意义的信息。
与其尝试展示所有数据,不如在操作控制台时思考最可能的故障模式以及如何利用控制台来区分它们。充分利用服务结构。例如,如果您有一个在线服务系统,其中包含一个庞大的服务树,那么某个底层服务的延迟是一个典型问题。与其在一个大型仪表盘上显示所有服务的信息,不如为每个服务构建单独的仪表盘,其中包含它们所通信的每个服务的延迟和错误。然后,您可以从顶层开始,逐步排查到有问题的服务。
我们发现以下准则非常有效
- 一个控制台上不要超过5个图表。
- 每个图表上不要超过5条曲线(线)。如果是堆叠图/面积图,可以多一些。
- 使用所提供的控制台模板示例时,右侧表格中的条目不要超过20-30个。
如果您发现自己超出了这些限制,则可以考虑降低不那么重要信息的可见性,可能将某些子系统拆分到新的控制台。例如,您可以绘制聚合数据而不是分解数据,将其移动到右侧表格,或者如果很少有用,甚至完全删除数据 —— 您始终可以在表达式浏览器中查看!
最后,一套控制台很难同时满足多种需求。您在值班时想知道的信息(什么坏了?)与您在开发功能时想知道的信息(有多少人遇到了X特殊情况?)往往截然不同。在这种情况下,两套独立的控制台会很有用。