monitoring/monitoring-compose.yml (46 lines of code) (raw):

# Copyright (c) Facebook, Inc. and its affiliates. # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. version: '3' # On a spare machine, run docker-compose -f monitoring-compose.yml up -d volumes: whatsappPrometheusData: driver: local whatsappGrafanaData: driver: local services: mysqld-exporter: image: prom/mysqld-exporter:v0.10.0 restart: always ports: - 9104:9104 environment: DATA_SOURCE_NAME: "${WA_DB_USERNAME:?Missing env WA_DB_USERNAME}:${WA_DB_PASSWORD:?Missing env WA_DB_PASSWORD}@(${WA_DB_HOSTNAME:?Missing env WA_DB_HOSTNAME}:${WA_DB_PORT:?Missing env WA_DB_PORT})/" prometheus: image: docker.whatsapp.biz/prometheus:v${WA_API_VERSION:?Run docker-compose with env var WA_API_VERSION (ex. WA_API_VERSION=2.31.4 docker-compose <command> <options>)} user: "root" restart: always ports: - 9090:9090 volumes: - whatsappPrometheusData:/prometheus-data environment: WA_WEB_ENDPOINT: ${WA_WEB_ENDPOINT:?Missing env WA_WEB_ENDPOINT which is the web endpoint of enterprise client WA_ENT_HOSTNAME:WA_ENT_PORT} WA_WEB_USERNAME: ${WA_WEB_USERNAME:?Missing env WA_WEB_USERNAME which is the username for /v1/users/login} WA_WEB_PASSWORD: ${WA_WEB_PASSWORD:?Missing env WA_WEB_PASSWORD which is the password for /v1/users/login} WA_MYSQLD_EXPORTER_ENDPOINT: 'mysqld-exporter:9104' WA_DB_NODE_EXPORTER_ENDPOINT: ${WA_DB_HOSTNAME:?Missing env WA_DB_HOSTNAME for mysql server monitoring, start host-exporter-compose.yml on mysql server to expose metrics. Make sure prometheus could access port 9100 and 8080 }:9100 WA_CORE_ENDPOINT: ${WA_CORE_ENDPOINT:?Missing env WA_CORE_ENDPOINT for host and container monitoring, start host-exporter-compose.yml on biz client machine to expose metrics. Make sure prometheus could access port 9100 and 8080 } WA_NODE_EXPORTER_PORT: ${WA_NODE_EXPORTER_PORT:-9100} WA_CADVISOR_PORT: ${WA_CADVISOR_PORT:-8080} WA_PROMETHEUS_STORAGE_TSDB_RETENTION: ${WA_PROMETHEUS_STORAGE_TSDB_RETENTION:-15d} depends_on: - 'mysqld-exporter' grafana: image: docker.whatsapp.biz/grafana:v${WA_API_VERSION:?Run docker-compose with env var WA_API_VERSION (ex. WA_API_VERSION=2.31.4 docker-compose <command> <options>)} restart: always ports: - 3000:3000 volumes: - whatsappGrafanaData:/var/lib/grafana environment: GF_SECURITY_ADMIN_PASSWORD: ${GF_SECURITY_ADMIN_PASSWORD:?Missing env GF_SECURITY_ADMIN_PASSWORD for grafana admin password} WA_PROMETHEUS_ENDPOINT: ${WA_PROMETHEUS_ENDPOINT:-http://prometheus:9090} depends_on: - 'prometheus'