@@ -71,6 +71,7 @@ Have any feedback or questions? [Create a discussion](https://github.com/TwiN/ga
7171 - [ Configuring Matrix alerts] ( #configuring-matrix-alerts )
7272 - [ Configuring Mattermost alerts] ( #configuring-mattermost-alerts )
7373 - [ Configuring Messagebird alerts] ( #configuring-messagebird-alerts )
74+ - [ Configuring n8n alerts] ( #configuring-n8n-alerts )
7475 - [ Configuring New Relic alerts] ( #configuring-new-relic-alerts )
7576 - [ Configuring Ntfy alerts] ( #configuring-ntfy-alerts )
7677 - [ Configuring Opsgenie alerts] ( #configuring-opsgenie-alerts )
@@ -745,6 +746,9 @@ endpoints:
745746 - "[STATUS] == 200"
746747` ` `
747748
749+ > ⚠️ **WARNING**:: Tunneling may introduce additional latency, especially if the connection to the tunnel is retried frequently.
750+ > This may lead to inaccurate response time measurements.
751+
748752
749753# ## Alerting
750754Gatus supports multiple alerting providers, such as Slack and PagerDuty, and supports different alerts for each
@@ -814,6 +818,7 @@ endpoints:
814818| `alerting.matrix` | Configuration for alerts of type `matrix`. <br />See [Configuring Matrix alerts](#configuring-matrix-alerts). | `{}` |
815819| `alerting.mattermost` | Configuration for alerts of type `mattermost`. <br />See [Configuring Mattermost alerts](#configuring-mattermost-alerts). | `{}` |
816820| `alerting.messagebird` | Configuration for alerts of type `messagebird`. <br />See [Configuring Messagebird alerts](#configuring-messagebird-alerts). | `{}` |
821+ | `alerting.n8n` | Configuration for alerts of type `n8n`. <br />See [Configuring n8n alerts](#configuring-n8n-alerts). | `{}` |
817822| `alerting.newrelic` | Configuration for alerts of type `newrelic`. <br />See [Configuring New Relic alerts](#configuring-new-relic-alerts). | `{}` |
818823| `alerting.ntfy` | Configuration for alerts of type `ntfy`. <br />See [Configuring Ntfy alerts](#configuring-ntfy-alerts). | `{}` |
819824| `alerting.opsgenie` | Configuration for alerts of type `opsgenie`. <br />See [Configuring Opsgenie alerts](#configuring-opsgenie-alerts). | `{}` |
@@ -1576,8 +1581,8 @@ alerting:
15761581 region: "US" # or "EU" for European region
15771582
15781583endpoints:
1579- - name: website
1580- url: "https://twin.sh/health "
1584+ - name: example
1585+ url: "https://example.org "
15811586 interval: 5m
15821587 conditions:
15831588 - "[STATUS] == 200"
@@ -1587,6 +1592,50 @@ endpoints:
15871592` ` `
15881593
15891594
1595+ # ### Configuring n8n alerts
1596+ | Parameter | Description | Default |
1597+ |:---------------------------------|:-------------------------------------------------------------------------------------------|:--------------|
1598+ | `alerting.n8n` | Configuration for alerts of type `n8n` | `{}` |
1599+ | `alerting.n8n.webhook-url` | n8n webhook URL | Required `""` |
1600+ | `alerting.n8n.title` | Title of the alert sent to n8n | `""` |
1601+ | `alerting.n8n.default-alert` | Default alert configuration. <br />See [Setting a default alert](#setting-a-default-alert) | N/A |
1602+ | `alerting.n8n.overrides` | List of overrides that may be prioritized over the default configuration | `[]` |
1603+ | `alerting.n8n.overrides[].group` | Endpoint group for which the configuration will be overridden by this configuration | `""` |
1604+ | `alerting.n8n.overrides[].*` | See `alerting.n8n.*` parameters | `{}` |
1605+
1606+ [n8n](https://n8n.io/) is a workflow automation platform that allows you to automate tasks across different applications and services using webhooks.
1607+
1608+ Example :
1609+ ` ` ` yaml
1610+ alerting:
1611+ n8n:
1612+ webhook-url: "https://your-n8n-instance.com/webhook/your-webhook-id"
1613+ title: "Gatus Monitoring"
1614+ default-alert:
1615+ send-on-resolved: true
1616+
1617+ endpoints:
1618+ - name: example
1619+ url: "https://example.org"
1620+ interval: 5m
1621+ conditions:
1622+ - "[STATUS] == 200"
1623+ alerts:
1624+ - type: n8n
1625+ description: "Health check alert"
1626+ ` ` `
1627+
1628+ The JSON payload sent to the n8n webhook will include :
1629+ - `title` : The configured title
1630+ - `endpoint_name` : Name of the endpoint
1631+ - `endpoint_group` : Group of the endpoint (if any)
1632+ - `endpoint_url` : URL being monitored
1633+ - `alert_description` : Custom alert description
1634+ - `resolved` : Boolean indicating if the alert is resolved
1635+ - `message` : Human-readable alert message
1636+ - `condition_results` : Array of condition results with their success status
1637+
1638+
15901639# ### Configuring Ntfy alerts
15911640| Parameter | Description | Default |
15921641|:-------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------|:------------------|
@@ -2983,12 +3032,13 @@ endpoints:
29833032 password: "password"
29843033 body: |
29853034 {
2986- "command": "uptime "
3035+ "command": "echo '{ \" memory \" : { \" used \" : 512}}' "
29873036 }
29883037 interval: 1m
29893038 conditions:
29903039 - "[CONNECTED] == true"
29913040 - "[STATUS] == 0"
3041+ - "[BODY].memory.used > 500"
29923042` ` `
29933043
29943044you can also use no authentication to monitor the endpoint by not specifying the username
@@ -3011,6 +3061,7 @@ endpoints:
30113061The following placeholders are supported for endpoints of type SSH :
30123062- ` [CONNECTED]` resolves to `true` if the SSH connection was successful, `false` otherwise
30133063- ` [STATUS]` resolves the exit code of the command executed on the remote server (e.g. `0` for success)
3064+ - ` [BODY]` resolves to the stdout output of the command executed on the remote server
30143065- ` [IP]` resolves to the IP address of the server
30153066- ` [RESPONSE_TIME]` resolves to the time it took to establish the connection and execute the command
30163067
0 commit comments