Grafana PromQL 无法读取未定义的属性“结果”
Posted
技术标签:
【中文标题】Grafana PromQL 无法读取未定义的属性“结果”【英文标题】:Grafana PromQL Cannot read property 'result' of undefined 【发布时间】:2020-12-13 04:07:29 【问题描述】:我目前正在学习 prometheus,并尝试使用 Grafana 和 PromQL 可视化其指标,但每次我输入查询指标时,它总是显示错误
Cannot read property 'result' of undefined
,我在互联网上搜索并尝试了一些查询,所有这些都没有区别。我想知道我哪里出错了,因为这是我第一次使用 prometheus 和 grafana,这是我使用的一些设置
首先,这是我的 prometheus 配置,位于 .net framework
。
public class PrometheusConfig
private static readonly Counter counter = Metrics.CreateCounter("initial_counter", "counter to initiate Prometheus");
public static void Register(HttpConfiguration config)
var server = new MetricServer(port: 1234);
server.Start();
counter.Inc();
public static void RegisterFilter(HttpFilterCollection filters)
filters.Add(new PrometheusFilter());
这是我想要可视化的普罗米修斯指标
这是我的 grafana 数据源
最后,这是我的面板图
谁能告诉我如何解决这个问题?
【问题讨论】:
【参考方案1】:此错误通常表示 grafana 无法查询 API。
在您的情况下,这是因为 URL 不应包含 /metrics
。此 URL 用于抓取 Prometheus 内部。
正确的 URL 应该是 Prometheus 的基本路径:http://localhost:1234
【讨论】:
如果我删除/metrics
,则找不到 404。我也试过:9090
您是否在安装 grafana 的同一台服务器上尝试过 curl?可能是您的 Prometheus 未绑定到正确的接口或路由错误。 (是的,9090 是默认的 Prometheus 端口,但我认为这是一个示例)
您是否设置了 Prometheus 实例来抓取您的软件? Grafana 使用 Prometheus 的 /api
,而不是应用程序的原始指标端点。
也许这就是迈克尔的问题。如何设置实例来抓取我的 api?我正在从这个 github.com/prometheus-net/prometheus-net#installation 中学习,哪一部分解释了关于抓取我的 api 而不是仅仅发布到度量端点?还是我可以参考其他参考资料?
你必须 install prometheus 并告诉它抓取你的 api(例如使用 static config)。然后将你的 grafana 指向 prometheus URL。请参阅文档中的架构概述)。以上是关于Grafana PromQL 无法读取未定义的属性“结果”的主要内容,如果未能解决你的问题,请参考以下文章
无法读取未定义类型错误的属性“推送”:无法读取未定义错误的属性“推送”
带有 Ionic 4 的 SQLite?无法读取未定义类型错误的属性“then”:无法读取未定义的属性“then”