1

我已经使用 Postgres 的 TimescaleDB 扩展部署了一个 docker 容器,作为 Prometheus 收集的指标的持久存储。这包括在单独的容器中部署 Prometheus Postgres 适配器。然后我在第三个容器中部署了 grafana。

在 TimescaleDB 容器中,我可以执行查询:

SELECT time_bucket('5 minutes', time) AS five_min_bucket, name, avg(value)
FROM metrics
WHERE (name='node_load5' OR name='node_memory_Active_bytes') AND
      time > NOW() - interval '1 day'
GROUP BY five_min_bucket,name
ORDER BY five_min_bucket;

它从表中返回这些行metrics

   five_min_bucket     |           name           |        avg
------------------------+--------------------------+-------------------
 2019-07-13 16:15:00+00 | node_load5               |  1.84263157894737
 2019-07-13 16:15:00+00 | node_memory_Active_bytes |  1055776552.42105
 2019-07-13 16:20:00+00 | node_load5               |  1.62533333333333
 2019-07-13 16:20:00+00 | node_memory_Active_bytes |      1070225817.6
 2019-07-13 16:25:00+00 | node_load5               |  1.06166666666667
 2019-07-13 16:25:00+00 | node_memory_Active_bytes |  1084650018.13333
 2019-07-13 16:30:00+00 | node_load5               | 0.593333333333333
 2019-07-13 16:30:00+00 | node_memory_Active_bytes |  1093145668.26667
 2019-07-13 16:35:00+00 | node_load5               | 0.322333333333333
 2019-07-13 16:35:00+00 | node_memory_Active_bytes |  1108816145.06667
 2019-07-13 16:40:00+00 | node_load5               | 0.180666666666667
 2019-07-13 16:40:00+00 | node_memory_Active_bytes |      1125213388.8
 2019-07-13 16:45:00+00 | node_load5               |             0.126
 2019-07-13 16:45:00+00 | node_memory_Active_bytes |  1134488098.13333
 2019-07-13 16:50:00+00 | node_load5               | 0.133333333333333
 2019-07-13 16:50:00+00 | node_memory_Active_bytes |        1162440704
(16 rows)

grafana 容器运行为:

docker run \
-d \
-p 3000:3000 \
--name=grafana \
-v grafana-storage:/var/lib/grafana \
-e "GF_INSTALL_PLUGINS=grafana-kubernetes-app" \
 grafana/grafana

当我启动浏览器时,http://104.XX.XX.XX:3000我可以登录到 web-ui 并将数据源定义为 postgres,但我收到错误“度量请求错误”。

我在其容器中查找了 grafana 日志,路径/var/log/grafana为空。这是我执行docker inspect命令时指示的日志位置。

使用 Chrome,我可以检查控制台,它报告服务器响应内部错误 500。

在此处输入图像描述

在主机上,我可以确认 docker-proxy 正在侦听端口 5432。

sudo netstat -antp | grep "5432"
tcp        0      0 172.17.0.1:49486        172.17.0.2:5432         ESTABLISHED 60631/docker-proxy
tcp6       0      0 :::5432                 :::*                    LISTEN      60631/docker-proxy
tcp6       0      0 10.0.0.4:5432           172.18.0.2:38568        ESTABLISHED 60631/docker-proxy

如何让 grafana 获取存储在 postgres 数据库中的指标?

4

0 回答 0