From 9c2918254cf75ae22ba1751fbe3e585f075e2cdc Mon Sep 17 00:00:00 2001 From: Maksim Syomochkin Date: Sun, 11 May 2025 17:08:04 +0300 Subject: [PATCH] add loki --- docker-entrypoint.sh | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 0856936..905b9b6 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -15,6 +15,30 @@ POSTGRES_PORT="${POSTGRES_PORT:-5432}" POSTGRES_SSL_MODE=${POSTGRES_SSL_MODE:-"require"} RESTIC_TAG=${RESTIC_TAG:-"pg_basebackup"} +LOKI_URL="http://loki.montoring:3100/loki/api/v1/push" +SERVICE_NAME="pg_backup" + +send_loki_status() { + local status="$1" + local timestamp_ns=$(date +%s%N) + curl -H "Content-Type: application/json" \ + -s -X POST "$LOKI_URL" \ + --data-raw "{ + \"streams\": [ + { + \"stream\": { \"service_name\": \"$SERVICE_NAME\" }, + \"values\": [ + [ \"$timestamp_ns\", \"$status\" ] + ] + } + ] + }" +} + +trap 'send_loki_status failed' ERR + PGPASSWORD=${POSTGRES_PASSWORD} pg_basebackup -h "${POSTGRES_HOST}" -d "sslmode=${POSTGRES_SSL_MODE}" -D /tmp/backup -U ${POSTGRES_USER} -F t -z -P restic --verbose backup -H ${RESTIC_HOST} --tag ${RESTIC_TAG} /tmp/backup -restic forget --prune --keep-last 14 --host ${RESTIC_HOST} \ No newline at end of file +restic forget --prune --keep-last 14 --host ${RESTIC_HOST} + +send_loki_status "done"