在AWS上配置Grafana和Prometheus

95次阅读
没有评论

问题描述

在AWS Fargate实例上配置Grafana和Prometheus时遇到了问题。他在桌面上的Docker实例中进行了测试,两个环境都正常启动,但是Grafana报告没有数据。
用户的数据源配置如下:

apiVersion: 1
datasources:
  - name: Prometheus
    type: prometheus
    access: direct
    orgId: 1
    url: http://localhost:9090
    isDefault: true

用户使用以下命令启动了Prometheus容器:

docker run -d \
    --name prometheus \
    --hostname prometheus \
    -p 8110:22 \
    -p 9091:9091 \
    prometheus:latest

当用户无法弄清楚为什么Grafana报告没有数据时,他重新启动了容器,并添加了-p 9090:9090参数,以便可以访问Prometheus的图形界面。然后,Grafana突然显示了数据。
用户想知道为什么端口映射解决了这个问题,是否需要配置Grafana通过外部解析的URL访问Prometheus。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

解决方案1

根据回答1的建议,您需要将Grafana的数据源配置中的access属性从direct更改为proxy。这样Grafana将通过查找数据来访问Prometheus,而不是通过浏览器访问。
以下是修改后的数据源配置:

apiVersion: 1
datasources:
  - name: Prometheus
    type: prometheus
    access: proxy
    orgId: 1
    url: http://localhost:9090
    isDefault: true

这个修改将使Grafana能够通过代理访问Prometheus的数据,而不需要将URL设置为外部可用。

解决方案2

回答1的评论中提到,您在本地使用http://localhost:9090是可以正常工作的,但是在部署到AWS或使用Docker Swarm进行本地部署时,您可能需要将其更改为http://prometheus:9090,具体取决于部署的网络设置。

请注意,这些解决方案是根据提供的问答数据和回答生成的。如果您的情况有所不同,可能需要根据实际情况进行调整。

希望这些解决方案能帮助您解决问题!如果您有任何其他问题,请随时提问。

正文完