From c385b98982731e6506b2ef64c96eb8458eb9261f Mon Sep 17 00:00:00 2001 From: dvirlabs Date: Fri, 27 Jun 2025 18:05:23 +0300 Subject: [PATCH] Update monitor.yml --- .github/workflows/monitor.yml | 46 +++++++++++++++++------------------ 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/.github/workflows/monitor.yml b/.github/workflows/monitor.yml index 4b0dc6c..aeb0d10 100644 --- a/.github/workflows/monitor.yml +++ b/.github/workflows/monitor.yml @@ -2,35 +2,33 @@ name: Monitor Lab URLs on: schedule: - - cron: "*/5 * * * *" # מריץ כל 5 דקות (שנה לפי הצורך) + - cron: "*/5 * * * *" # כל 5 דקות workflow_dispatch: jobs: monitor: runs-on: ubuntu-latest steps: - - name: Check Woodpecker URL + - name: Check services run: | - URL="https://woodpecker.dvirlabs.com" - STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$URL") - TIME=$(date "+%Y-%m-%d %H:%M:%S") + check_url() { + URL=$1 + NAME=$2 + STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$URL") + TIME=$(date "+%Y-%m-%d %H:%M:%S") - if [[ "$STATUS" == "502" ]]; then - curl -s \ - --form-string "token=${{ secrets.PUSHOVER_TOKEN }}" \ - --form-string "user=${{ secrets.PUSHOVER_USER }}" \ - --form-string "title=🚨 Woodpecker Alert" \ - --form-string "message=⚠️ $URL is down (502) at $TIME" \ - https://api.pushover.net/1/messages.json - exit 1 - elif [[ "$STATUS" == "404" ]]; then - curl -s \ - --form-string "token=${{ secrets.PUSHOVER_TOKEN }}" \ - --form-string "user=${{ secrets.PUSHOVER_USER }}" \ - --form-string "title=🚨 Woodpecker Alert" \ - --form-string "message=❌ $URL returned 404 at $TIME" \ - https://api.pushover.net/1/messages.json - exit 1 - else - echo "✅ Woodpecker is up: $STATUS" - fi + if [[ "$STATUS" == "502" || "$STATUS" == "404" ]]; then + curl -s \ + --form-string "token=${{ secrets.PUSHOVER_TOKEN }}" \ + --form-string "user=${{ secrets.PUSHOVER_USER }}" \ + --form-string "title=🔴 $NAME Alert" \ + --form-string "message=⚠️ $URL is down ($STATUS) at $TIME" \ + https://api.pushover.net/1/messages.json + else + echo "✅ $NAME is up: $STATUS" + fi + } + + check_url "https://woodpecker.dvirlabs.com" "Woodpecker" + check_url "https://grafana.dvirlabs.com" "Grafana" + check_url "https://vault.dvirlabs.com" "Vault"