1 面板
以下列举了几个Grafana使用参照链接。
-
Grafana官方文档:官方文档是使用Grafana的最全面和权威的资源。您可以在官方文档中找到有关安装、配置、数据源设置、仪表板创建和管理、警报设置以及其他高级功能的详细指南。官方文档链接:https://grafana.com/docs/
-
Grafana实验室:Grafana实验室是一个在线的学习平台,提供了各种与Grafana相关的教程和实践场景。您可以通过实验室来学习如何使用Grafana创建仪表板、配置数据源、应用样式和布局等。实验室链接:https://play.grafana.org/
-
Grafana社区:Grafana拥有活跃的社区,社区成员分享了大量的教程、插件和解决方案。您可以通过访问Grafana社区论坛、博客和GitHub存储库来获取有关Grafana的最新动态、问题解答和其他有用资源。社区链接:https://community.grafana.com/
1.1 添加面板
add a new panel:增加一个新的统计图
add a new row:多个panel集合在一起,例如overview
1.2 Panel
2 PromQL查询语句
Prometheus 提供了一种功能表达式语言 PromQL,允许用户实时选择和汇聚时间序列数据。
2.1 计算每一个样本的占比
饼图展示:
sum(route_center_event_total{region=~"$region",name="navigation_start"}) by (method)
- 计算每个method所占比例
sum() by
根据method聚类
2.2 增长率/变化率
sum(rate(route_center_event_total{region=~"$region"}[5m])) by (name)
- 计算每五分钟内的增长率,并根据name聚类
rate
:计算指定时间内的增长率
2.3 错误率/成功率
sum(increase(route_center_event_total{name="navigation_error",region=~"$region"}[5m])) / sum(increase(route_center_event_total{name="navigation_start",region=~"$region"}[5m]))
increase
:计算指定时间内的增量
sum(route_center_event_total{region=~"$region",method!~"pop|navigateWeb|jump|navigateAppPath", name=~'^(navigation_){1}.+$'}) by (from)
2.4 PV
sum(increase(base_first_screen_duration_count{flow="wrapup",name="WALLET_WRAP_UP",app_name="$project",platform=~"$platform",region="$region",os=~"$os"}[5]))
计算在过去5分钟内指标的增量,并对结果进行求和。
2.5 耗时
比如接口的请求耗时p80
histogram_quantile(0.8, sum(increase(base_api_duration_bucket{flow="wrapup",platform=~"$platform",region=~"$region",os=~"$os",app=~"$app"}[$range])) by (le,path))
2.6 总结
在Prometheus中,increase 和 rate 是用于计算时间序列增量的函数,它们之间有一些区别。
increase
:increase(metric[duration])
函数用于计算指定时间范围内时间序列的增量。它计算的是时间范围内的最后一个样本值与时间范围开始时的样本值之间的差异。结果表示指定时间范围内的增量值。
例如,increase(http_requests_total[1h])
会计算过去1小时内 http_requests_total
指标的增量。
increase
函数对于计算累积计数器类型的指标增量非常有用,例如请求数、错误数等。
rate
:rate(metric[duration])
函数用于计算指定时间范围内时间序列的速率(每秒增长率)。它计算的是时间范围内样本值的增量除以时间范围的持续时间。结果表示每秒的平均增长速率。
例如,rate(http_requests_total[1h])
会计算过去1小时内http_requests_total
指标的每秒增长率。
rate
函数对于计算速率类型的指标非常有用,例如请求速率、吞吐量等。
总结来说,increase
函数计算的是时间范围内的增量值,而 rate
函数计算的是每秒的平均增长率。选择使用哪个函数取决于你想要关注的指标类型和你希望观察的增长趋势。
sum
, increase
,rate
是PromQL比较常用的三个函数,更多用法请参照官方文档:https://prometheus.io/docs/prometheus/latest/querying/basics/,中文文档:https://prometheus.fuckcloudnative.io/di-san-zhang-prometheus/di-4-jie-cha-xun/basics