如何使用Grafana监控指标
可用的仪表板
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等:

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

前提条件
在Kubernetes上设置
安装Grafana
-
添加Grafana Helm仓库:
helm repo add grafana https://grafana.github.io/helm-charts helm repo update
-
安装图表:
helm install grafana grafana/grafana -n dapr-monitoring
注意
如果您使用Minikube或希望在开发中禁用持久卷,可以使用以下命令禁用:
helm install grafana grafana/grafana -n dapr-monitoring --set persistence.enabled=false
-
获取Grafana登录的管理员密码:
kubectl get secret --namespace dapr-monitoring grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
您将看到一个类似于
cj3m0OfBNx8SLzUlTx91dEECgzRlYJb60D2evof1%
的密码。请去掉密码中的%
字符,得到cj3m0OfBNx8SLzUlTx91dEECgzRlYJb60D2evof1
作为管理员密码。 -
检查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的数据源。
-
端口转发到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
-
打开浏览器访问
http://localhost:8080
-
登录Grafana
- 用户名 =
admin
- 密码 = 上述密码
- 用户名 =
-
选择
Configuration
和Data Sources
-
添加Prometheus作为数据源。
-
获取您的Prometheus HTTP URL
Prometheus HTTP URL的格式为
http://<prometheus服务端点>.<命名空间>
首先通过运行以下命令获取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
。 -
填写以下设置:
- 名称:
Dapr
- HTTP URL:
http://dapr-prom-prometheus-server.dapr-monitoring
- 默认:开启
- 跳过TLS验证:开启
- 这是保存和测试配置所必需的
- 名称:
-
点击
Save & Test
按钮以验证连接是否成功。
在Grafana中导入仪表板
-
在Grafana主屏幕的左上角,点击“+”选项,然后选择“Import”。
现在,您可以从发布资产中为您的Dapr版本导入Grafana仪表板模板:
-
找到您导入的仪表板并享受
提示
将鼠标悬停在每个图表描述角落的i
上:
参考资料
示例
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.