我无助地试图让我的postgres exporter运行,但徒劳。在运行我的postgres容器,然后运行我的postgres exporter容器如下:
terminal1%docker network create --subnet=192.168.1.0/24 --gateway=192.168.1.1 prometheus-net
terminal1%docker run --network=prometheus-net -p 5432:5432 -e POSTGRES_PASSWORD=password postgres
terminal2%docker run \
--net=prometheus-net \
-p 9187:9187 \
-v /Users/johndoe/queries.yaml:/etc/postgres-exporter/queries.yaml \
-e DATA_SOURCE_NAME="postgresql://postgres:password@192.168.1.2:5432/postgres?sslmode=disable" \
quay.io/prometheuscommunity/postgres-exporter \
--extend.query-path=/etc/postgres-exporter/queries.yaml
terminal3%cat /Users/johndoe/queries.yaml
custom_queries:
- name: user_count
help: "Total number of users"
query: "SELECT COUNT(*) FROM users"
metrics:
- user_count:
usage: "GAUGE"
description: "Total number of users"
所以当我:terminal3%curl http://localhost:9187/metrics
时,我在terminal2中得到这个错误:caller=postgres_exporter.go:674 level=error msg="Failed to reload user queries" path=/etc/postgres-exporter/queries.yaml err="yaml: unmarshal errors:\n line 2: cannot unmarshal !!seq into main.UserQuery"
我仔细检查了表users是否存在于模式postgres中,是的。导出器和postgres服务器之间的连接似乎也没有问题。我只是不知道为什么我的.yaml文件不能被解析。
1条答案
按热度按时间66bbxpm51#
我的queries.yaml的语法有问题。正确的语法应该如下所示: