Я развернул Prometheus / Grafana и т. Д. Через SwarmProm . Затем я добавил сеть, которую он создает, в службу моего PSQL-контейнера.
as-postgres:
image: xxxx.dkr.ecr.us-east-2.amazonaws.com/aspg:latest
ports:
- "54321:5432"
volumes:
- db-data:/var/lib/postgresql/data
networks:
- as-db
- lognet
- ras-mon_net
healthcheck:
test: ["CMD", "/healthcheck.sh"]
interval: 5s
timeout: 1s
retries: 30
logging:
driver: "fluentd"
options:
tag: ras.as-postgres
fluentd-async-connect: "true"
fluentd-sub-second-precision: "true"
deploy:
restart_policy:
condition: any
delay: 10s
max_attempts: 20
window: 120s
networks:
as:
as-db:
driver: overlay
lognet:
external: true
ras-mon_net:
external: true
Затем я развернул экспортер в том же стеке, что и прометей.
psql_exporter:
image: wrouesnel/postgres_exporter
deploy:
mode: replicated
replicas: 1
networks:
- net
environment:
DATA_SOURCE_NAME: postgresql://username:password@as-postgres:5432/db_name
Нет ошибок при запуске прометея, и экспортер указывает на его подключение.
root@docker-host:~# docker container logs f1d1e92d3af2
time="2019-04-29T10:29:23Z" level=info msg="Established new database connection to \"as-postgres:5432\"." source="postgres_exporter.go:767"
time="2019-04-29T10:29:23Z" level=info msg="Semantic Version Changed on \"as-postgres:5432\": 0.0.0 -> 11.2.0" source="postgres_exporter.go:1192"
time="2019-04-29T10:29:23Z" level=info msg="Starting Server: :9187" source="postgres_exporter.go:1360"
После добавления этой строки в службу Prometheus,
окружающая среда:
- JOBS = postgres_exporter: 9187
Что приводит к
- job_name: postgres_exporter
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
dns_sd_configs:
- names:
- tasks.postgres_exporter
refresh_interval: 30s
type: A
port: 9187
My: 9090 / target показывает экспортер postgres как 0/0
Мне нужно пропустить шаг туда, где я просто не провожу.