Comments (2)
Thank you for creating the issue.
Now that external endpoints have been implemented (#722, #724), this should probably be the next feature related to external endpoints that gets implemented as they kind of go hand in hand, especially for those using external endpoints to test connectivity. If there's no connectivity, Gatus' API won't be reachable, which means that Gatus wouldn't be able to trigger an alert without this feature.
The feature in question should allow the user to configure a duration under which an update is expected to be received.
Should the duration elapse with no new status update, a status should be created to indicate a failure to receive an update within the expected time frame.
This should in turn cause
Lines 13 to 22 in 2833968
handleAlertsToTrigger
being called (due to the new result indicating failure to receive an update having its Success
field set to false
), incrementing NumberOfFailuresInARow
Lines 24 to 27 in 2833968
The only proper name I can think of for this feature is "dead man's switch", but as silly as it may sound, I don't like how that'd look on the configuration:
external-endpoints:
- name: ...
dead-man-switch:
blackout-duration-until-automatic-failure: 1h
alerts:
- type: slack
send-on-resolved: true
Another consideration to make is the interaction between this feature and maintenance. While the maintenance period should prevent alerts from being triggered, should failure status be pushed anyways? Perhaps this should be an additional parameter on the maintenance configuration (e.g. maintenance.silence-dead-man-switch
)?
Some food for thoughts.
from gatus.
The only proper name I can think of for this feature is "dead man's switch", but as silly as it may sound, I don't like how that'd look on the configuration:
I've seen other services call this heartbeat
instead of dead man's switch
, and they also have a grace period that is configurable.
external-endpoints:
- name: ...
heartbeat:
interval: 5m
grace-period: 5m
alerts:
- type: slack
send-on-resolved: true
from gatus.
Related Issues (20)
- Provide Backend Error messages via Gatus frontend
- x509: certificate signed by unknown authority HOT 2
- Ping not working in neither docker nor k3s HOT 4
- Details page is empty when CJK chars is used in endpoint name HOT 1
- Badges for groups
- Domain expiration not updating HOT 4
- Expose Raw Uptime Data via the API
- Please add additional Endpoint
- Nginx service health check
- Monitor Unix domain sockets
- Ability to send http headers
- Allow setting a priority on resolved Pushover notifications HOT 1
- Default alert settings not used for external endpoint HOT 3
- [Question] How monitoring docker container? HOT 1
- Case change in config file not effective
- Add support for DNS over TLS and DNS over HTTPS HOT 1
- A delay in sending email alerts blocks endpoint healthchecks from being run
- Add condition result to pushover alerts
- Alert send to Zulip
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gatus.