The documentation you are viewing is for Dapr v1.12 which is an older version of Dapr. For up-to-date documentation, see the latest version.

操作方法:使用 Grafana 观察指标

如何在 Grafana 仪表板中查看 Dapr 指标。

可用的仪表板


grafana-system-services-dashboard.json 模板展示了 Dapr 系统组件的状态包括,dapr-operator、dapr-sidecar-injector、dapr-sentry 和 dapr-placement:

系统服务仪表板的屏幕截图

grafana-sidecar-dashboard.json 模板展示了 Dapr sidecar 的状态,包括 sidecar 的健康状态/资源,HTTP 和 GRPC 的吞吐量/延迟,Actor,mTLS等:

Sidecar 仪表板的屏幕截图

grafana-actor-dashboard.json 展示 Dapr sidecar 的状态,actor 调用的吞吐量/延迟,timer/reminder 触发器和基于回合的并发:

Actor 仪表板的屏幕截图

前提

在 Kubernetes 上安装

安装 Grafana

  1. 添加 Grafana Helm 仓库:

    helm repo add grafana https://grafana.github.io/helm-charts
    
  2. 安装 Chart:

    helm install grafana grafana/grafana -n dapr-monitoring
    
  3. 获取登录 Grafana 的管理员密码:

    kubectl get secret --namespace dapr-monitoring grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
    

    您将会得到一个类似于 cj3m0OfBNx8SLzUlTx91dEECgzRlYJb60D2evof1% 的密码。 从密码中移除 % 字符,以获取 cj3m0OfBNx8SLzUlTx91dEECgzRlYJb60D2evof1 作为管理员密码。

  4. 验证 Grafana 正在集群中运行:

    kubectl get pods -n dapr-monitoring
    
    NAME                                                READY   STATUS       RESTARTS   AGE
    dapr-prom-kube-state-metrics-9849d6cc6-t94p8        1/1     Running      0          4m58s
    dapr-prom-prometheus-alertmanager-749cc46f6-9b5t8   2/2     Running      0          4m58s
    dapr-prom-prometheus-node-exporter-5jh8p            1/1     Running      0          4m58s
    dapr-prom-prometheus-node-exporter-88gbg            1/1     Running      0          4m58s
    dapr-prom-prometheus-node-exporter-bjp9f            1/1     Running      0          4m58s
    dapr-prom-prometheus-pushgateway-688665d597-h4xx2   1/1     Running      0          4m58s
    dapr-prom-prometheus-server-694fd8d7c-q5d59         2/2     Running      0          4m58s
    grafana-c49889cff-x56vj                             1/1     Running      0          5m10s
    

将 Prometheus 配置为数据源

首先,您需要将 Prometheus 作为数据源连接到 Grafana。

  1. Port-forward 到 svc/grafana:

    kubectl port-forward svc/grafana 8080:80 -n dapr-monitoring
    
    Forwarding from 127.0.0.1:8080 -> 3000
    Forwarding from [::1]:8080 -> 3000
    Handling connection for 8080
    Handling connection for 8080
    
  2. 将浏览器导航到 http://localhost:8080

  3. 登录到 Grafana

    • Username = admin
    • Password = 上面获取的密码
  4. 选择 ConfigurationData Sources

    Grafana 添加数据源菜单的屏幕截图
  5. 将 Prometheus 添加为数据源。

    <img src="/images/grafana-add-datasources.png" alt="Screenshot of the Prometheus add Data Source" width=600>
    
  6. 获取您的 Prometheus HTTP URL

    Prometheus HTTP URL 遵循 http://<prometheus service endpoint>.<namespace> 的格式

    首先通过运行以下命令获取 Prometheus 服务器端点:

    kubectl get svc -n dapr-monitoring
    
    NAME                                 TYPE        CLUSTER-IP        EXTERNAL-IP   PORT(S)             AGE
    dapr-prom-kube-state-metrics         ClusterIP   10.0.174.177      <none>        8080/TCP            7d9h
    dapr-prom-prometheus-alertmanager    ClusterIP   10.0.255.199      <none>        80/TCP              7d9h
    dapr-prom-prometheus-node-exporter   ClusterIP   None              <none>        9100/TCP            7d9h
    dapr-prom-prometheus-pushgateway     ClusterIP   10.0.190.59       <none>        9091/TCP            7d9h
    dapr-prom-prometheus-server          ClusterIP   10.0.172.191      <none>        80/TCP              7d9h
    elasticsearch-master                 ClusterIP   10.0.36.146       <none>        9200/TCP,9300/TCP   7d10h
    elasticsearch-master-headless        ClusterIP   None              <none>        9200/TCP,9300/TCP   7d10h
    grafana                              ClusterIP   10.0.15.229       <none>        80/TCP              5d5h
    kibana-kibana                        ClusterIP   10.0.188.224      <none>        5601/TCP            7d10h
    

    在本指南中,服务器名称为 dapr-prom-prometheus-server,命名空间为 dapr-monitoring,因此 HTTP URL 将为 http://dapr-prom-prometheus-server.dapr-monitoring

  7. 填写以下设置:

    • Name: Dapr
    • HTTP URL: http://dapr-prom-prometheus-server.dapr-monitoring
    • Default: On
    Prometheus 数据源配置的屏幕截图
  8. 点击 Save & Test 按钮来验证连接是否成功。

在 Grafana 中导入仪表盘

  1. 在 Grafana 主页的左上角,点击 “+” 选项,然后点击 “Import”。

    现在,您可以从您的 Dapr 版本的 发布资产 中 导入 Grafana 仪表板模板

    Grafana 仪表板上传选项的屏幕截图
  2. 找到您导入的仪表盘并开始使用

    Dapr 服务仪表板的屏幕截图

参考资料

示例