Как развернуть postgres_exporter на Docker и подключиться к prometheus

У меня есть сервер на Debian 8, на котором установлен докер. Подход нужен в контейнерах. В контейнере установлен postgres 9.6. Я хочу настроить сбор данных таблицы pg_stat_statements в prometheus через postgres_exporter из PostgreSQL, а затем посмотреть на график через grafana. Развертывание графана и Прометея делали по инструкции:

$ git clone https://github.com/stefanprodan/dockprom
$ cd dockprom
$ docker-compose up -d

В prometheus.yml добавлено:

- job_name: 'postgres-exporter'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9187']

Но у меня проблема с postgres-exporter: Статус цели Прометея

Взял вот такую ​​статистику экспорта для PostgreSQL: ссылка на сайт. Пытался развернуть на докер с разными портами, но Прометей не хотел к нему подключаться. Подскажите, пожалуйста, как правильно установить и развернуть?

Если вы не используете network_mode: host в docker-compose.yml, ваш локальный хост внутри контейнера отличается от локального хоста на вашем хосте. Вы можете определить свою собственную сеть докеров или объявить network_mode: host в каждой службе создания докеров для установления связи между ними.

Alejandro Galera 19.12.2018 10:19

Спасибо, сработало!

AlexV 24.12.2018 13:12
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
2
1 105
1

Ответы 1

Если вы хотите очистить только метрики postgresdb, вы можете просто использовать команды docker вместо docker-compose

sudo docker run --name postgres-exporter -e DATA_SOURCE_NAME = "postgresql://<postgresdb_user_name>:<postgres_db_password>@<postgres_vm_ip>:<postgresdb_port>/?sslmode=disable" -p 9187:9187 wrouesnel/postgres_exporter

Для меня полная команда, которую я выполнил, была

sudo docker run --name postgres-exporter -e DATA_SOURCE_NAME = "postgresql://postgres:[email protected]:5432/?sslmode=disable" -p 9187:9187 wrouesnel/postgres_exporter

Затем добавлена ​​точка очистки в файле prometheus.yml

- job_name: postgres_100031
  static_configs:
  - targets: ['10.0.0.31:9187']

Перезапустите сервис Prometheus

Другие вопросы по теме