From 5e8e1f3dee20eb231bbf1d78ec08b0aa200eba1f Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 12 Nov 2024 20:16:29 +0000 Subject: [PATCH] [ops] slack alerts from syslog errs --- production/install | 1 + production/mempool-slacker | 19 +++++++++++++++++++ production/syslog.conf | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100755 production/mempool-slacker diff --git a/production/install b/production/install index 1cac9e8e9..5925da65e 100755 --- a/production/install +++ b/production/install @@ -1089,6 +1089,7 @@ case $OS in echo "[*] Installing syslog configuration" osSudo "${ROOT_USER}" mkdir -p /usr/local/etc/syslog.d osSudo "${ROOT_USER}" install -c -m 755 "${MEMPOOL_HOME}/${MEMPOOL_REPO_NAME}/production/mempool-logger" /usr/local/bin/mempool-logger + osSudo "${ROOT_USER}" install -c -m 755 "${MEMPOOL_HOME}/${MEMPOOL_REPO_NAME}/production/mempool-slacker" /usr/local/bin/mempool-slacker osSudo "${ROOT_USER}" install -c -m 644 "${MEMPOOL_HOME}/${MEMPOOL_REPO_NAME}/production/syslog.conf" /usr/local/etc/syslog.d/mempool.conf echo "[*] Installing redis configuration" diff --git a/production/mempool-slacker b/production/mempool-slacker new file mode 100755 index 000000000..dc8f09aed --- /dev/null +++ b/production/mempool-slacker @@ -0,0 +1,19 @@ +#!/bin/sh + +if [ -z "$SLACK_SYSLOG_WEBHOOK_URL" ]; then + echo "Error: SLACK_SYSLOG_WEBHOOK_URL environment variable is not set" >&2 + exit 1 +fi + +trap "" PIPE +while read input; do + if [ ! -z "${input}" ]; then + escaped_input=$(echo "$input" | sed 's/"/\\"/g') + curl -X POST \ + -H 'Content-type: application/json' \ + --data "{\"text\":\"\`\`\`${escaped_input}\`\`\`\"}" \ + -s \ + "$SLACK_SYSLOG_WEBHOOK_URL" \ + >/dev/null 2>&1 & + fi +done \ No newline at end of file diff --git a/production/syslog.conf b/production/syslog.conf index 7a55c57c7..5ae94939a 100644 --- a/production/syslog.conf +++ b/production/syslog.conf @@ -1,4 +1,4 @@ -local7.>=err |/usr/local/bin/sudo -u mempool /usr/local/bin/mempool-logger mempool.ops alerts +local7.>=err |/usr/local/bin/sudo -u mempool /usr/local/bin/mempool-slacker local7.>=info |/usr/local/bin/sudo -u mempool /usr/local/bin/mempool-logger mempool.ops node100 local7.>=info /var/log/mempool local7.* /var/log/mempool.debug