仪表盘管理成熟度指的是您的仪表盘生态系统的设计完善程度和效率。我们建议您定期检查仪表盘设置,以判断您的仪表盘处于什么状态以及如何改进。
从广义上讲,仪表盘成熟度可定义为低、中或高。
本专题的大部分内容摘自 KubeCon 2019 演讲 Fool-Proof Kubernetes Dashboards for Sleep-Deprived Oncalls。
在这个阶段,您还没有连贯的仪表板管理策略。几乎每个人都是从这里开始的。
如何判断自己处于这个阶段?
每个人都可以修改仪表盘。
大量复制的仪表盘,几乎没有仪表盘的重复使用。
一次性仪表盘永远存在。
没有版本控制(版本控制中的仪表盘 JSON)。
需要浏览大量仪表盘,搜索正确的仪表盘。这意味着需要浪费大量时间来查找所需的仪表盘。
没有任何警报来引导您找到正确的仪表盘。
在这一阶段,您开始有条不紊地管理仪表盘的使用。您可能已经制定了一项战略,但还有一些地方可以改进。
如何判断您已经到了这个阶段?
通过使用模板变量来防止蔓延。例如,您不需要为每个节点使用单独的仪表板,您可以使用查询变量。更好的是,您还可以使数据源成为模板变量,这样您就可以在不同的集群和监控后端重用相同的仪表板。如果您需要一些想法,请参考变量示例列表。
根据可观察性策略制作有条不紊的仪表盘。
分层式仪表盘,可向下级钻取。示例:使用 drill-down
仪表盘设计反映了服务层次。下图所示示例使用 RED 方法(左侧为请求和错误率,右侧为延迟时间),每个服务一行,行的顺序反映了数据流。示例:服务层次结构
同类比较:当量级不同时,拆分服务仪表板。确保汇总指标不会淹没重要信息。
图表要富有表现力,使用有意义的颜色,并尽可能将坐标轴标准化。
有意义的颜色示例:蓝色表示好,红色表示坏。阈值可以对此有所帮助。
轴标准化示例: 在比较 CPU 使用情况时,应按百分比而不是原始数字来衡量,因为机器可能有不同数量的内核。按内核数量对 CPU 使用率进行归一化可以减少认知负荷,因为查看者可以相信所有内核都在 100% 地使用,而无需知道 CPU 的数量。
定向浏览减少了“猜测”的次数。
模板变量使随意或漫无目的地“浏览”变得更加困难。
大多数仪表盘都应通过警报链接。
通过链接引导浏览。有关详细信息,请参阅管理仪表板链接。
版本控制仪表板JSON。
在这一阶段,您已经通过一致而周到的策略优化了仪表盘管理的使用。这需要维护,但结果是值得的。
积极减少无序扩张。
定期检查现有的仪表盘,确保它们仍然相关。
只将经过批准的仪表盘添加到主仪表盘列表中。
跟踪仪表盘的使用情况。如果您是企业用户,则可以利用使用情况洞察。
设计一致性。
使用脚本库生成仪表盘,确保模式和风格的一致性。
grafonnet (Jsonnet)
grafanalib(Python)
不在浏览器中进行编辑。仪表盘查看器可使用变量更改视图。
浏览仪表盘是例外,而不是规则。
在专用于实验和测试的独立 Grafana 实例(而非生产实例)中执行实验和测试。当测试环境中的仪表盘被证明有用时,将该仪表盘添加到您的主 Grafana 实例中。