Files
prometheus-pg-adapter/start.sh
2025-12-02 16:56:37 +01:00

48 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
set -e
# Construct DATABASE_URL from individual vars if not set directly
if [[ -z "${DATABASE_URL}" ]]; then
if [[ -z "${PG_USER}" || -z "${PG_PASSWORD}" || -z "${PG_HOST}" || -z "${PG_DBNAME}" ]]; then
echo "ERROR: DATABASE_URL not set and one of PG_USER/PG_PASSWORD/PG_HOST/PG_DBNAME missing"
exit 1
fi
export DATABASE_URL="postgresql://${PG_USER}:${PG_PASSWORD}@${PG_HOST}:${PG_PORT:-5432}/${PG_DBNAME}?sslmode=${PG_SSLMODE:-disable}"
echo "Constructed DATABASE_URL: ${DATABASE_URL}"
fi
# Strip single quotes from defaults (Alpine bash keeps them)
adapter_send_timeout=$(echo "${adapter_send_timeout:-'30s'}" | tr -d "'")
web_listen_address=$(echo "${web_listen_address:-':9201'}" | tr -d "'")
web_telemetry_path=$(echo "${web_telemetry_path:-'/metrics'}" | tr -d "'")
log_level=$(echo "${log_level:-'info'}" | tr -d "'")
log_format=$(echo "${log_format:-'logfmt'}" | tr -d "'")
pg_partition=$(echo "${pg_partition:-'hourly'}" | tr -d "'")
pg_commit_secs=${pg_commit_secs:-30}
pg_commit_rows=${pg_commit_rows:-20000}
pg_threads="${pg_threads:-1}"
parser_threads="${parser_threads:-5}"
echo "/usr/local/bin/postgresql-prometheus-adapter \
--adapter-send-timeout=${adapter_send_timeout} \
--web-listen-address=${web_listen_address} \
--web-telemetry-path=${web_telemetry_path} \
--log.level=${log_level} \
--log.format=${log_format} \
--pg-partition=${pg_partition} \
--pg-commit-secs=${pg_commit_secs} \
--pg-commit-rows=${pg_commit_rows} \
--pg-threads=${pg_threads} \
--parser-threads=${parser_threads}"
/usr/local/bin/postgresql-prometheus-adapter \
--adapter-send-timeout=${adapter_send_timeout} \
--web-listen-address=${web_listen_address} \
--web-telemetry-path=${web_telemetry_path} \
--log.level=${log_level} \
--log.format=${log_format} \
--pg-partition=${pg_partition} \
--pg-commit-secs=${pg_commit_secs} \
--pg-commit-rows=${pg_commit_rows} \
--pg-threads=${pg_threads} \
--parser-threads=${parser_threads}