Grafana是开源的数据可视化平台,可以生成各种可视化仪表,简化监控的复杂度。本文介绍如何使用Grafana查看SLO相关指标。

操作步骤

您可以通过Grafana控制台导入仪表盘数据,查看SLO相关指标。

  1. 执行以下命令,在ACK集群中安装Grafana应用。
    # 添加仓库信息。
    helm repo add grafana https://grafana.github.io/helm-charts
    helm repo update
    # 安装Grafana应用。
    helm install -n monitoring asm-grafana grafana/grafana
  2. 执行以下命令,获取Grafana控制台的登录密码。
    kubectl get secret --namespace monitoring asm-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
  3. 执行以下命令,将asm-grafana服务转发到本地端口。
    kubectl --namespace monitoring port-forward svc/asm-grafana 3000:80
  4. 单击https://localhost:9093,访问Grafana控制台。
    登录时,用户名为admin,登录密码由步骤2获取。
  5. 在Grafana控制台左侧导航栏,单击设置图标,在Configuration页面的Data sources页签,单击Add data source
  6. Settings页签的HTTP区域,配置URLhttp://ack-prometheus-operator-prometheus:9090,其他配置项保持默认,然后单击Save
    HTTP
  7. 在左侧导航栏,单击Dashboard > Import,将仪表盘模板内容粘贴到Import via panel json文本框,然后单击Load
    Import
    示例效果如下。关于SLO的相关概念,请参见服务等级目标SLO概述示例效果
    • 在区域①,可以查看当前正在贡献燃烧率的SLO。
    • 在区域②,可以查看所有燃烧率大于1的SLO的燃烧率变化情况。
    • 在区域③,可以查看配置的SLO信息。
      指标 说明
      Objective 目标值为99%。
      Current burning budget % 当前燃烧率为50%。错误率为(1 - 99%) * 50% = 0.5%。
      Remaining error budget(month) 剩余错误预算百分比(以自然月计算)为93.3%。
      Remaining error budget (30d window) 剩余错误预算百分比(30天滚动窗口)为-243%。

      错误预算为负,说明在此滚动窗口内服务不满足SLO。服务最终是否满足SLO,以合规期最后一天的剩余错误预算为准。

      Warning alert 是否触发了警告级别的告警。本文为已触发(FIRING)。
      Critical alert 是否触发了紧急级别的告警。本文为未触发(OK)。
      说明 剩余错误预算百分比由异常时间段和正常时间段计算比率得到。上图中两个错误预算剩余百分比相差较大,是因为两者在计算指标平均值时采用了不同的大小窗口做平均。前者是1小时而后者是5分钟,后者分割的时间段更多。在正常环境下,不同分割方法的正常时间段和异常时间段是等比增加的,但在本示例中测试请求主要都是异常请求,其他时间基本无请求。无请求的时间段不参与平均,导致只有异常时间段增加。在正常环境下两者数值相近。
    • 在区域④,可以查看SLI的变化曲线、月度错误预算的变化曲线和燃烧率水平变化。