#!/bin/bash
-# Copyright (C) 2022 Ian Kelling
+# I, Ian Kelling, follow the GNU license recommendations at
+# https://www.gnu.org/licenses/license-recommendations.en.html. They
+# recommend that small programs, < 300 lines, be licensed under the
+# Apache License 2.0. This file contains or is part of one or more small
+# programs. If a small program grows beyond 300 lines, I plan to switch
+# its license to GPL.
+
+# Copyright 2024 Ian Kelling
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# See the License for the specific language governing permissions and
# limitations under the License.
-source /a/bin/errhandle/err
+
+# usage: since this is a counter, in prometheus alert manager you will
+# need to test something like: rate(node_systemd_unit_result_fail_count[30m]) > 0
+
+source /a/bin/bash-bear-trap/bash-bear
[[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@"
ser_name=$1
mkdir -p /var/lib/prometheus/node-exporter
-f=/var/local/sysd-prom-fail/${ser_name}-result-fail.prom
+f=/var/local/sysd-prom-fail/${ser_name}-result.prom
-if [[ ! -s /var/lib/prometheus/node-exporter/${ser_name}-result-fail.premerge ]]; then
+if [[ ! -s $f ]]; then
SERVICE_RESULT=success /usr/local/bin/sysd-prom-fail $ser_name
fi
systemctl restart $ser_name ||:
fi
fi
+
+# todo: make uninstall script