use*_*999 6 metrics time-series grafana prometheus promql
我试图使用 Prometheus 作为时间序列数据库在 Grafana 可视化中获取事件的准确计数。但是计数器显示不正确的记录。我得到的 2 天的计数比我得到的 7 天要高,这肯定表明出现了问题。
首先,我在这个 promql 查询中使用了一个统计可视化:
sum(increase(http_server_requests_seconds_count[$__range])).
聚苯乙烯
我也试过如下:
sum(increase(http_server_requests_seconds_count[1m]))。这也给出了不正确的计数。
我已经对图表进行了相同的尝试,并使用图例在表格中显示总数。这也给出了不正确的计数。
请让我知道显示随着时间范围变化而可靠的计数的最佳方式是什么。
我的json:
{
"colorMode": "value",
"fieldOptions": {
"calcs": [
"lastNotNull"
],
"defaults": {
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [{
"color": "green",
"value": null
}]
}
},
"overrides": [],
"values": false
},
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto"
},
"pluginVersion": "6.6.1",
"targets": [{
"expr": " sum(increase(http_server_requests_seconds_count[$__range]))",
"hide": false,
"instant": true,
"refId": "A"
}],
"timeFrom": null,
"timeShift": null,
"title": "Total Number of Requests",
"type": "stat"
}
Run Code Online (Sandbox Code Playgroud)
这对我有用:
sum(increase(http_request_duration_seconds_count{ecs_cluster=~"$ecs_cluster", instance_id=~"$instance_id"}[$__range]))
Run Code Online (Sandbox Code Playgroud)
激活instant query并将计算设置为last not null
这是窗格 JSON:
{
"cacheTimeout": null,
"datasource": "Prometheus",
"description": "",
"fieldConfig": {
"defaults": {
"custom": {},
"unit": " requests",
"decimals": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "blue",
"value": null
}
]
},
"mappings": [],
"nullValueMode": "connected"
},
"overrides": []
},
"gridPos": {
"h": 2,
"w": 5,
"x": 0,
"y": 4
},
"id": 4,
"interval": null,
"links": [],
"maxDataPoints": 100,
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "horizontal",
"textMode": "auto",
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"fieldOptions": {
"calcs": [
"lastNotNull"
]
}
},
"pluginVersion": "7.1.0",
"targets": [
{
"expr": "sum(increase(http_request_duration_seconds_count{ecs_cluster=~\"$ecs_cluster\", instance_id=~\"$instance_id\"}[$__range]))",
"hide": false,
"instant": true,
"interval": "",
"intervalFactor": 1,
"legendFormat": "",
"refId": "A"
}
],
"timeFrom": null,
"timeShift": null,
"title": "",
"type": "stat"
}
Run Code Online (Sandbox Code Playgroud)
increase()由于所选的数据模型,Prometheus 可能会从函数返回不准确的结果- 有关详细信息,请参阅此问题。
如果您需要准确的结果,则存在以下选项:
offset. 尝试如下操作:sum(http_server_requests_seconds_count - http_server_requests_seconds_count offset $__range)。请注意,此方法仅在给定指标在给定时间范围内http_server_requests_seconds_count未重置为 0(又名)时才有效。counter resetincrease()MetricsQL 中的函数。它返回准确的值 -有关详细信息,请参阅这些文档。| 归档时间: |
|
| 查看次数: |
5955 次 |
| 最近记录: |