49 lines
1.5 KiB
HCL
49 lines
1.5 KiB
HCL
|
check_interval = "5s"
|
||
|
|
||
|
monitor "Fake Website" {
|
||
|
command = ["curl", "-s", "-o", "/dev/null", "https://minitor.mon"]
|
||
|
alert_down = ["log_down", "mailgun_down", "sms_down"]
|
||
|
alert_up = ["log_up", "email_up"]
|
||
|
check_interval = "10s" # Must be at minimum the global `check_interval`
|
||
|
alert_after = 3
|
||
|
alert_every = -1 # Defaults to -1 for exponential backoff. 0 to disable repeating
|
||
|
}
|
||
|
|
||
|
monitor "Real Website" {
|
||
|
command = ["curl", "-s", "-o", "/dev/null", "https://google.com"]
|
||
|
alert_down = ["log_down", "mailgun_down", "sms_down"]
|
||
|
alert_up = ["log_up", "email_up"]
|
||
|
check_interval = "5s"
|
||
|
alert_after = 3
|
||
|
alert_every = -1
|
||
|
}
|
||
|
|
||
|
alert "log_down" {
|
||
|
command = ["echo", "Minitor failure for {{.MonitorName}}"]
|
||
|
}
|
||
|
alert "log_up" {
|
||
|
command = ["echo", "Minitor recovery for {{.MonitorName}}"]
|
||
|
}
|
||
|
alert "email_up" {
|
||
|
command = ["sendmail", "me@minitor.mon", "Recovered: {monitor_name}", "We're back!"]
|
||
|
}
|
||
|
alert "mailgun_down" {
|
||
|
shell_command = <<EOF
|
||
|
curl -s -X POST
|
||
|
-F subject="Alert! {{.MonitorName}} failed"
|
||
|
-F from="Minitor <minitor@minitor.mon>"
|
||
|
-F to=me@minitor.mon
|
||
|
-F text="Our monitor failed"
|
||
|
https://api.mailgun.net/v3/minitor.mon/messages
|
||
|
-u "api:${MAILGUN_API_KEY}"
|
||
|
EOF
|
||
|
}
|
||
|
alert "sms_down" {
|
||
|
shell_command = <<EOF
|
||
|
curl -s -X POST -F "Body=Failure! {{.MonitorName}} has failed"
|
||
|
-F "From=${AVAILABLE_NUMBER}" -F "To=${MY_PHONE}"
|
||
|
"https://api.twilio.com/2010-04-01/Accounts/${ACCOUNT_SID}/Messages"
|
||
|
-u "${ACCOUNT_SID}:${AUTH_TOKEN}"
|
||
|
EOF
|
||
|
}
|