Skip to content

Instantly share code, notes, and snippets.

@nrukavkov
Created May 30, 2024 15:03
Show Gist options
  • Save nrukavkov/9efbfca333706507b82c78a70cc58604 to your computer and use it in GitHub Desktop.
Save nrukavkov/9efbfca333706507b82c78a70cc58604 to your computer and use it in GitHub Desktop.
#!/bin/bash
# usage alertmanager-testing-tool.sh http://alertmanager_url critical myteam
# Set default values
url="$1/api/v1/alerts"
summary='Testing summary!'
instance="dummyserver$RANDOM.com"
default_severity='warning'
default_responders=''
# Function to send alert
send_alert() {
local custom_severity=$1
local custom_responders=$2
local current_severity=${custom_severity:-$default_severity}
local current_responders=${custom_responders:-$default_responders}
endsAt=$(date -u -v+3M +"%Y-%m-%dT%H:%M:%SZ") #3 minutes
echo "Sending request to: $url with status $status. Alert will be endat: $endsAt"
curl -XPOST $url -d "[
{
\"endsAt\": \"$endsAt\",
\"labels\": {
\"alertname\": \"$name\",
\"service\": \"dymmyservice\",
\"severity\":\"$current_severity\",
\"responders\":\"$current_responders\",
\"instance\": \"$instance\"
},
\"annotations\": {
\"summary\": \"$summary\"
},
\"generatorURL\": \"$url\"
}
]"
echo ""
}
# Main script
echo "Firing up alert $name"
send_alert "$2" "$3"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment