uptime-kuma
uptime-kuma copied to clipboard
Push-based monitoring improvements: "info" status and listing of all events
⚠️ Please verify that this feature request has NOT been suggested before.
- [X] I checked and didn't find similar feature request
🏷️ Feature Request Type
New Monitor, Other
🔖 Feature description
Since the push-based notification already supports the status
parameter, uptime-kuma can already be used as a replacement for tools such as Healthchecks to some degree. However, in order to represent a full replacement, adding a couple of additional features would be needed.
- Currently, update-kuma only checks if the
status
parameter isup
or anything else (=considered down). This is already helpful for many use cases, such as observing the result of backup jobs (backup successful=up, backup failed=down). However, this only allows oberserving the outcome of an job, but neither the start nor any progress information. To provide this functionality, support for additional status-events should be added, such asinfo
, which do not affect or change the current up/down state. This would allow to creating event logs such as:
...
2022-01-01 10:00 [info] Backup started
2022-01-01 10:30 [up] Backup successful
2022-01-02 10:00 [info] Backup started (--> does not change the up/down status, remains "up")
2022-01-02 10:18 [down] Backup failed - Not enough free disk space
...
2022-01-02 10:00 [info] Backup started (--> does not change the up/down status, remains "down")
2022-01-06 10:34 [up] Backup successful
- The status list at the bottom only shows information for the last time where the status changed from up to down or vice-versa, other events are not listed although they are available. Currently, the only way to see those messages is by hovering on the bar at the top, which makes following and understanding events unnceccesarily hard.
✔️ Solution
Feature 1 (support for different status values):
- Support additional
status
values, such asinfo
. - For evaluating the current up/down status, the last up/down event is considered, every other events (such as
info
) are ignored for determing the current overall state of the monitor.
Feature 2 (Listing of all events)
- Add an option to list all events, especially if a custom message has been provided.
- For consecutive events with the same message, consider adding a counter that indicates, how many times this event triggered. This helps to prevent cluttering of the screen. E.g. if a task fails consequently, for example every day from Januar 2 to Januar 5 (=4 times), display it as:
2022-01-02 10:18 [down] Backup failed - Not enough free disk space [4x]
❓ Alternatives
Other tools for observing (cron-)job execution already exist such as Healthchecks, but it would be nice if this update-kumo could be used as full replacement for those solutions.
📝 Additional Context
I'm aware that this is not the main functionality of uptime-kuma, but since it is already that close to becoming a full replacement, I think this functionality should be added as well. Would be great to have a single location for observing both service availablility as well as (cron) job execution including status information.
One more addition, adding support for additiona status types could also be helpful in the future for supporting warnings, for example, if the SSL certificate expires in less than 3 days or the like, so if the service still works as planned but without action a failure is imminent.
Very excited about this issue! It would be nice if logs could be sent using post requests (like this)!
I need this..
I think just sending another up/down should add a log entry at least with the update dinfo but not generate a new external message (or only if an additonal option for this would be implemented)
It would be very helpful if I could at least see the last message that came with a non-status-change.
Use case: Together with the status=OK push message I would also like to send a status message about system health. For example, a text sending the remaining disk space. Currently I'm abusing the PING to send the percentage of the free disk space which is very hacky but the only way to report a changing numerical value.