Py学习  »  docker

PostgreSQL docker导出器-普罗米修斯

lea_m18 • 6 年前 • 301 次点击  

我开始将Prometheus配置为从Docker Swarm和Docker容器收集度量,它在cAdvisor和Node Exporter中工作得非常好,但是现在我在从PostgreSQL Docker容器收集度量时遇到了问题。我正在使用此导出程序--> https://github.com/wrouesnel/postgres_exporter 这是docker-compose.yml中的服务:

postgresql-exporter:
  image: wrouesnel/postgres_exporter
  ports:
    - 9187:9187
  networks:
    - backend
  environment:
    - DATA_SOURCE_NAME=postgresql://example:<password>@localhost:5432/example?sslmode=disable

这是在普罗米修斯

  - job_name: 'postgresql-exporter'
    static_configs:
      - targets: ['postgresql-exporter:9187']

登录postgresql服务:

monitoring_postgresql-exporter.1.krslcea4hz20@master1.xxx.com    | time="2019-11-02T16:12:20Z" level=error msg="Error opening connection to database (postgresql://example:PASSWORD_REMOVED@localhost:5432/example?sslmode=disable): dial tcp 127.0.0.1:5432: connect: connection refused" source="postgres_exporter.go:1403"

monitoring_postgresql-exporter.1.krslcea4hz20@master1.xxx.com    | time="2019-11-02T16:12:29Z" level=info msg="Established new database connection to \"localhost:5432\"." source="postgres_exporter.go:814"

monitoring_postgresql-exporter.1.krslcea4hz20@master1.xxx.com    | time="2019-11-02T16:12:30Z" level=info msg="Established new database connection to \"localhost:5432\"." source="postgres_exporter.go:814"

monitoring_postgresql-exporter.1.krslcea4hz20@master1.xxx.com    | time="2019-11-02T16:12:32Z" level=info msg="Established new database connection to \"localhost:5432\"." source="postgres_exporter.go:814"

monitoring_postgresql-exporter.1.krslcea4hz20@master1.xxx.com    | time="2019-11-02T16:12:35Z" level=error msg=**"Error opening connection to database (postgresql://example:PASSWORD_REMOVED@localhost:5432/example?sslmode=disable): dial tcp 127.0.0.1:5432: connect: connection refused" source="postgres_exporter.go:1403"**

但是当我查看prometheus targets部分时,postresql导出器端点说是“UP” 我能解决这个问题吗?

编辑:这里是postgreSQL docker服务数据库的配置:

  pg:
    image: registry.xxx.com:443/pg:201908221000
    environment:
      - POSTGRES_DB=example
      - POSTGRES_USER=example
      - POSTGRES_PASSWORD=example
    volumes:
      - ./postgres/db_data:/var/lib/postgresql/data
    networks:
      - allnet
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]
      restart_policy:
        condition: on-failure
        max_attempts: 3
        window: 120s

谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54925