你的 PromQL 查询现在可以在 Kibana 中运行了
作者来自 Elastic Miguel SánchezVinay Chandrasekhar 及 Felix Barnsteiner随着 PromQL 现在在 Kibana 中得到原生支持你可以在 Discover 中编写并执行 PromQL用于分析指标也可以在 Dashboards 可视化、告警规则以及任何支持 ES|QL 的地方使用。PromQL 目前以技术预览Tech Preview形式提供适用于常见的指标分析场景。自 2012 年与 Prometheus 一起最初开发以来PromQL 在过去十多年中一直是时序监控的基石。虽然 Kibana 已经通过 ES|QL TS 命令全面支持时序分析但我们很高兴为常见的指标分析用例引入原生 PromQL 支持。对于已经熟悉 PromQL 的团队来说这一支持意味着几乎零学习成本并能显著降低直接接入 Elastic 生态的上手难度。在 Kibana 中运行 PromQL 查询在 Kibana 的 ES|QL 编辑器中输入PROMQL命令并在该代码块中编写你的 PromQL。PROMQL 会标记该片段使 Elasticsearch 在 Kibana 发送的完整 ES|QL 请求中将其解析为 PromQL。你可以查询的内容以下是一些入门模式。原始指标PROMQL container.cpu.usage所有容器的平均值PROMQL avg(container.cpu.usage)对 counter 使用 rate()PROMQL rate(docker.network.inbound.bytes)聚合速率Aggregated ratePROMQL sum(rate(docker.network.inbound.bytes))按 label 分组Group by a labelPROMQL sum by (agent.id) (rate(docker.network.inbound.bytes))你可能会注意到上述示例中没有在每个 rate() 中包含 start、end、step 或 lookback window。这些参数都是可选的时间选择器和 Kibana 的默认设置会帮你处理大部分情况。你也可以选择在 index 参数中包含数据流名称。例如PROMQL indexmetrics-docker.cpu-default container.cpu.usage。添加该参数可以帮助缩小查询扫描的数据范围。当前 PromQL 技术预览版本在覆盖率上已超过 80%该指标基于对主流 Grafana dashboards 的基准测试。更高级的修饰符和特定函数正在考虑在未来版本中支持。查找你的数据流和指标名称如果你已有 PromQL 查询可以直接在 PROMQL 命令中使用无需修改。如果你是从头编写查询并需要查找准确的字段名称可以在 Discover 中运行 TS metrics-* 来查看所有 metrics 数据流。每个 metric 会以小图表形式展示方便你快速识别哪些是活跃的。将鼠标悬停在某个 metric 上并点击 “View details” 操作即可查看字段名称以及它所属的数据流。更深入的讲解可以参考 Kibana 中使用 Discover 探索指标数据在 Kibana 中使用 Discover 探索指标数据。时间选择器与查询时间处理Kibana 中的时间选择器会设置查询的时间范围。Dashboard 面板和告警规则的处理方式相同它们各自使用自己的时间范围因此你不需要在查询中写 start 或 end。step 是图表中两个连续数据点之间的间隔。step 越小在相同时间跨度内数据点越多。如果不设置 step 或 buckets默认值为 buckets100。你可以将 step 设置为固定宽度例如 1m或者使用 buckets 来指定期望的最大数据点数量。Discover 和 Dashboards在 Discover 中切换到 ES|QL 模式并运行你的 PROMQL 查询这样你可以以时间序列图的形式查看指标在所选时间范围内的行为。当你想保存该可视化时可以选择 “Save visualization to dashboard”并将其添加到新的或已有的 dashboard。或者直接进入 Dashboards添加一个 panel选择 ES|QL然后编写你的 PROMQL 查询。告警Alerting你可以使用 PromQL 创建告警规则。进入 Alerts打开 Manage rules然后创建一个规则。搜索 Elasticsearch query 并选择它将查询类型设为 ES|QL。编写你的 PromQL 查询但需要将指标赋值给一个变量这样你就可以在 WHERE 子句中用于告警条件PROMQL metric_value(sum by (agent.id) (rate(docker.network.inbound.bytes))) | WHERE metric_value 500选择 timestamp 作为时间字段然后继续完成规则配置的其余部分。试试看在 Elastic Cloud Serverless 中打开一个 Observability 项目或者使用 Elastic Stack 9.4。编写你的查询在 Kibana 的 ES|QL 编辑器中通过 PROMQL 运行你的 PromQL。你也可以进入 Dashboards添加一个 panel选择 ES|QL并在那里编写查询。如果你是从头开始编写并需要查找 metric 名称可以在 Discover 中运行 TS metrics-*见上文 “查找你的数据流和指标名称”。检查结果并根据需要调整查询。Elasticsearch 和 Kibana 中的 PromQL 支持将持续演进。请关注 Observability Labs feed以获取后续文章了解覆盖范围和易用性改进。原文https://www.elastic.co/observability-labs/blog/promql-queries-run-in-kibana
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2541763.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!