Kubernetes入口Nginx grafana仪表板Prometheus数据为空

时间:2019-02-15 10:37:39

标签: kubernetes grafana prometheus nginx-ingress

我只是使用本教程https://kubernetes.github.io/ingress-nginx/user-guide/monitoring/来完全设置了普罗米修斯和grafana仪表板。

我尝试在Prometheus中查询某些内容,并且成功绘制了图形。但是,当我通过连接到Prometheus数据访问Grafana仪表板时,它将返回空图表,如下图所示。

Grafana Result

我在步骤中错过了什么吗?

2 个答案:

答案 0 :(得分:0)

可能您没有在仪表盘导入之前在Grafana中创建数据源。手册中未对此进行指定,但没有它,仪表板将无法正常工作。

如何在Grafana中创建数据源:

  1. 打开配置(齿轮)->数据源
  2. 按“添加数据源”
  3. 选择普罗米修斯
  4. 指定Prometheus服务器网址:(例如:http://10.22.0.3:32150/
  5. 按“保存并测试”
  6. 查看有关通过测试的确认信息。

现在,在从JSON导入Nginx Ingress仪表盘的过程中,从下拉列表中选择现有的数据源。仪表板的URL对我不起作用,因此我只复制粘贴了整个JSON内容,但前两行带有注释。

对于现有的仪表板,您可以更改数据源:

  1. 打开仪表板->管理
  2. 点击“ Nginx Ingress Controller”
  3. 打开其设置(顶部的齿轮图片)
  4. 选择“ JSON模型”
  5. 将所有带有“数据源”:“ old_data_source_name”的行更新为所需的名称
  6. 按“保存更改”
  7. 按下左侧“设置”下方的绿色“保存”按钮

或者,您可以编辑仪表板上的每个元素,然后从下拉列表中选择所需的数据源。这不是很方便的方法,因此我希望再次导入仪表板。

答案 1 :(得分:0)

检查注释是否应用于指标服务对象:prometheus.io/scrape: "true"

我和你有同样的问题,这为我解决了。我正在使用头盔来部署我的Nginx入口。我有以下设置可以完成这项工作:

.controller.metrics.enabled: true

.controller.metrics.serviceMonitor.enabled: true

.controller.metrics.service.annotations.prometheus.io/scrape: true