【问题标题】:Grafana PromQL Cannot read property 'result' of undefinedGrafana PromQL 无法读取未定义的属性“结果”
【发布时间】: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 数据源

最后,这是我的面板图

谁能告诉我如何解决这个问题?

【问题讨论】:

    标签: .net prometheus grafana promql


    【解决方案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。请参阅文档中的架构概述)。
    猜你喜欢
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    相关资源
    最近更新 更多