deploy/platform/docker/docker-compose.postgresql-monitor.yaml (48 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. version: '2.1' services: postgres: image: postgres:14.1 environment: - POSTGRES_PASSWORD=password ports: - 5432 networks: - sw postgres-load: image: postgres:14.1 environment: - PGPASSWORD=password depends_on: - otel-collector networks: - sw entrypoint: bash volumes: - ../postgres-exporter:/docker command: - -c - "psql -f /docker/mock.sql -h postgres -p 5432 -U postgres postgres" # @feature: postgresql-monitoring; set up postgresql_exporter and OpenTelemetry collector postgres-exporter: image: quay.io/prometheuscommunity/postgres-exporter:v0.11.0 depends_on: - postgres ports: - 9187 environment: - DATA_SOURCE_NAME=postgresql://postgres:password@postgres:5432/postgres?sslmode=disable networks: - sw otel-collector: image: ${OTEL_COLLECTOR_IMAGE}:${OTEL_COLLECTOR_IMAGE_TAG} networks: - sw command: [ "--config=/etc/otel-collector-config.yaml" ] volumes: - ./config/otel-collector-config-psql.yaml:/etc/otel-collector-config.yaml expose: - 55678 depends_on: oap: condition: service_healthy networks: sw: