#!/bin/bash set -euo pipefail ( cat /etc/prometheus/conf.d/*.conf echo "alerting:" echo " alertmanagers:" (cat /etc/prometheus/conf.d/alerting/*.conf 2> /dev/null | sed "s/^/ /") || echo "" echo "scrape_configs:" cat /etc/prometheus/conf.d/scrape_configs/*.conf ) > /etc/prometheus/prometheus.yml.new chmod 0644 /etc/prometheus/prometheus.yml.new if ! diff -q /etc/prometheus/prometheus.yml.new /etc/prometheus/prometheus.yml > /dev/null; then mv /etc/prometheus/prometheus.yml.new /etc/prometheus/prometheus.yml /usr/bin/systemctl reload prometheus /usr/bin/systemctl reload prometheus-alertmanager || true else rm -f /etc/prometheus/prometheus.yml.new fi