控制台及仪表盘
在仪表盘上显示尽可能多的数据可能听起来很诱人,尤其是在 Prometheus 这样的系统提供了丰富应用监控能力的情况下。然而,信息过于丰富的的仪表盘这可能导致控制台变得难以理解,即使是对于系统专家来说,也很难从中提取出意义。
在构建控制台时,应该思考最可能的故障模式以及如何使用控制台来辨析它们。对此,你可以利用服务的层级结构。例如,在一个在线服务系统中,如果有一个大的服务间结构,那么较低层服务的延迟通常是一个比较重要的问题。我们建议为每个服务构建单独的仪表盘,并包括不同服务之间通信的延迟和错误,这样就可以从顶部开始逐步深入到发生问题的服务。
在实际情况中,我们发现以下的指导性原则非常有效:
- 每个控制台不超过5个图表。
- 每个图表不超过5条曲线(线)。如果使用堆叠/区域图,则可以接受更多的曲线数量。
- 在提供的控制台模板示例中,右侧表格中的项目不超过20-30个。
如果发现超过了上述这些限制,则可能需要降低某些不太重要的信息的可见性,或者将某些子系统拆分到新的控制台上。例如,可以绘制聚合数据而不是单一的数据,或者将其移动到右侧表格,甚至完全移除信息量过小的图表。
最后,一组控制台实际上很难服务于多个种不同的情况。当你在值班时(出了什么问题?),想要了解的信息往往与开发功能时(有多少人遇到了X 边缘情况?)非常不同。在这种情况下,可以考虑使用两套单独的控制台。
该文档基于 Prometheus 官方文档翻译而成。