uptime-kuma icon indicating copy to clipboard operation
uptime-kuma copied to clipboard

New incident system

Open karelkryda opened this issue 3 years ago • 45 comments

Description

Fixes: #1056, #908, #862

This commit includes a new incident creation and management system:

  • Removed the ability to create incidents through the status page
  • Added the ability to create incidents (publish updates, close and reopen incidents) via the dashboard
  • Added the ability to manually force a status override on the status page when creating an incident
  • Added a list of all current incidents above the overall status
  • Added incident history under the list of monitors (on the status page) (last 5 incidents)
  • Added history of all incidents broken down by year and month
  • Added the ability to view incident information from the status page (including the incident timeline)

Type of change

Please delete any options that are not relevant.

  • User interface (UI)
  • New feature (non-breaking change which adds functionality)

Checklist

  • [x] My code follows the style guidelines of this project
  • [x] I ran ESLint and other linters for modified files
  • [x] I have performed a self-review of my own code and tested it
  • [x] I have commented my code, particularly in hard-to-understand areas
  • [x] My changes generate no new warnings
  • [ ] My code needed automated testing. I have added them (this is optional task)

Screenshots (if any)

image image image image image image image

karelkryda avatar Feb 02 '22 12:02 karelkryda

This looks amazing. Just tested and if this can get approved for the next minor update, it will really improve the current status page. What a great addition!

Jeve-Stobs avatar Feb 03 '22 03:02 Jeve-Stobs

@Jeve-Stobs thank you 😊

karelkryda avatar Feb 03 '22 07:02 karelkryda

Will like this to be added into next update! this is so good!

yun00001 avatar Feb 05 '22 20:02 yun00001

Wow! That would be incredibly useful!

mathiskir avatar Feb 08 '22 17:02 mathiskir

Is there any update? 👀 The function would be for us the direct switch to UptimeKuma, as it would be really essential and we love UptimeKuma :3

MedPlex98 avatar Feb 15 '22 11:02 MedPlex98

Please. lol. This would be amazing.

trdwll avatar Feb 15 '22 19:02 trdwll

YES please. This would finally be why at work we can switch away from Statuspage/Cachet.

notdatabase avatar Feb 18 '22 00:02 notdatabase

Hey, I just tested it and I have some ideas for improvements:

  • different colors for status of incidents (started, update, resolved) image
  • mark affected monitors by a maintenance somehow, so that it's clearer for end users (with an icon??) image But besides that, it's great!

mathiskir avatar Feb 19 '22 10:02 mathiskir

I am really waiting for this, this is a game changer, and this feature will also be nice for companies etc @louislam

finnie2006 avatar Apr 03 '22 17:04 finnie2006

but it is actually outdated already and pretty far off the master branch

finnie2006 avatar Apr 03 '22 18:04 finnie2006

but it is actually outdated already and pretty far off the master branch

It is true that with each new commit to the master branch, this pull request moves away from the current code, but I hope it will be merged soon.

karelkryda avatar Apr 03 '22 18:04 karelkryda

i think you should try to keep it a bit up to date, i dont think he will merge it if its outdated

finnie2006 avatar Apr 03 '22 19:04 finnie2006

i think you should try to keep it a bit up to date, i dont think he will merge it if its outdated

Unfortunately, I do not currently have the opportunity to do this and update this pull request with the master branch.

I'm busy right now, and this action requires a lot of code comparison and additional testing to see if everything still works.

karelkryda avatar Apr 04 '22 16:04 karelkryda

I would love for @louislam to resolve the issues before merge this pull request.

I've tried to resolve conflicts now, but it's not something I do every day and I don't know much about it. In the end, this created absolute chaos, and I doubt it would ever work again 😁.

Maybe it will be resolved soon and it will be merged.

Sorry 😔

karelkryda avatar Apr 04 '22 17:04 karelkryda

I would love for @louislam to resolve the issues before merge this pull request.

I've tried to resolve conflicts now, but it's not something I do every day and I don't know much about it. In the end, this created absolute chaos, and I doubt it would ever work again 😁.

Maybe it will be resolved soon and it will be merged.

Thanks, to save your time, I suggest that it could be resolved later because I think pull requests like #1083 and #1415 will be merged before this PR.

louislam avatar Apr 04 '22 18:04 louislam

Thanks, to save your time, I suggest that it could be resolved later, because I think pull requests like #1083 and #1415 will be merged before this pr.

I understand. I will be happy if you would take care of resolving the conflicts or help me with them, because I really don't know how to do it 🤦🏻‍♂️.

karelkryda avatar Apr 04 '22 18:04 karelkryda

Would try to help later. Might need some works, as I remember this pr is created before multiple status pages support.

louislam avatar Apr 04 '22 18:04 louislam

  • different colors for status of incidents (started, update, resolved)
  • mark affected monitors by a maintenance somehow, so that it's clearer for end users (with an icon??)

I think these two things would be really nice to have and don't require much of work. Could you maybe implement it before merging it, or what do you think about these two features?

mathiskir avatar Apr 04 '22 18:04 mathiskir

mark affected monitors by a maintenance somehow, so that it's clearer for end users (with an icon??)

I planned to do this, but I forgot 😁

different colors for status of incidents (started, update, resolved)

Do you mean the colors on the timeline? It should theoretically be possible there.

Incidents are color-coded according to priority (type).

karelkryda avatar Apr 04 '22 18:04 karelkryda

Do you mean the colors on the timeline? It should theoretically be possible there.

image yes on the page you can see at the screenshot above

mathiskir avatar Apr 04 '22 18:04 mathiskir

I tested merging this manually myself, with build 1.14.0-beta1. I did it in a very hacky way, it doesn't fully function because I haven't (yet) gone through and edited the PR code to make it work with the multiple status pages features (I don't need multiple pages), all in all a great addition. :)

LukeD1994 avatar Apr 11 '22 10:04 LukeD1994

@karelkryda Could you rebase this with master? There's a lot of conflicts right now

gaby avatar Apr 19 '22 03:04 gaby

@karelkryda Could you rebase this with master? There's a lot of conflicts right now

We talked about it, look up a little bit.

karelkryda avatar Apr 19 '22 08:04 karelkryda

@karelkryda No worries, I didn't read the whole thread. I was trying to merge this on my fork and failed miserably. There's a massive conflict in StatusPage.vue because of https://github.com/louislam/uptime-kuma/pull/1083 and https://github.com/louislam/uptime-kuma/pull/1415

gaby avatar Apr 20 '22 03:04 gaby

@karelkryda No worries, I didn't read the whole thread. I was trying to merge this on my fork and failed miserably. There's a massive conflict in StatusPage.vue because of https://github.com/louislam/uptime-kuma/pull/1083 and https://github.com/louislam/uptime-kuma/pull/1415

Yeah, that's why I'll need help before merge 😕

karelkryda avatar Apr 20 '22 07:04 karelkryda

@louislam could you maybe help @karelkryda with these massive merge conflicts so this can maybe be a thing in 1.16 or 1.17? Or are there any big pull requests that aren't merged yet?

mathiskir avatar Apr 23 '22 17:04 mathiskir

@louislam could you maybe help @karelkryda with these massive merge conflicts so this can maybe be a thing in 1.16 or 1.17? Or are there any big pull requests that aren't merged yet?

I just have a quick look of source code. I am afraid that it won't be merged shortly.

  1. As this pr created before multiple status pages, a lot of logic and ui/ux of this pr may need to be redesigned. For example, I think "create incident" button and incident management should be moved back to status page instead of dashboard, which won't be so easy.

  2. I believe the database schema/relations need to be changed too.

  3. There are some breaking changes like changing the url from /dashbaord/:id to /dashboard/monitor/:id, which I maybe cannot accept that, because bookmarked monitor urls will become 404.

  4. I think all existing function names or route names should not be modified.

louislam avatar Apr 23 '22 19:04 louislam

So @karelkryda has a lot of work to do

mathiskir avatar Apr 23 '22 19:04 mathiskir

  1. As this pr created before multiple status pages, a lot of logic and ui/ux of this pr may need to be redesigned. For example, I think "create incident" button and incident management should be moved back to status page instead of dashboard, which won't be so easy.

Personally, I think it's better for incidents to be created directly in the dashboard. It's definitely more convenient (at least in my opinion). Theoretically, it would not be a problem to add the option to select on which status pages the incident is displayed (or to display it on all status pages on which the affected monitor is displayed).

  1. I believe the database schema/relations need to be changed too.

If we decided to choose the option of selecting the status pages on which the incident will appear, it would be necessary.

  1. There are some breaking changes like changing the url from /dashbaord/:id to /dashboard/monitor/:id, which I maybe cannot accept that, because bookmarked monitor urls will become 404.

Regarding this step, my goal was to make the URL address make sense. With the ability to schedule maintenance, create incidents and monitors in the future, it would make more sense for the URL to match. Theoretically, it would be possible to add a redirect condition to the router, right? That is, /dashboard/:id would be redirected to /dashboard/monitor/:id. Again, it depends on the agreement....

  1. I think all existing function names or route names should not be modified.

karelkryda avatar Apr 24 '22 11:04 karelkryda

So @karelkryda has a lot of work to do

Unfortunately, it seems that it will be necessary to start from scratch, which makes me a little sorry and annoying at the same time.

I'm currently taking my final exams at school and therefore I can't work on this PR. When I'm done after the exams, I'd look at it and try to redo this PR.

karelkryda avatar Apr 24 '22 12:04 karelkryda

I will also come back to this pr later, I am planning to merge older big pull requests such as #1119 or smaller pull requests first.

louislam avatar Apr 24 '22 14:04 louislam

This pr really should be a standard feature of uptime monitroring software

finnie2006 avatar May 04 '22 08:05 finnie2006

@louislam Should I prepare this PR for milestone 1.17.0?

karelkryda avatar May 18 '22 10:05 karelkryda

I will go for the maintenance pr first, it should be in 1.18.0.

louislam avatar May 18 '22 11:05 louislam

I will go for the maintenance pr first, it should be in 1.18.0.

Okay, please let me know and I'll prepare the PR. It is useless to do this now that there will be a lot of commits up to version 1.18.0.

karelkryda avatar May 18 '22 11:05 karelkryda

So any updates for this?

Nuckerr avatar Jul 04 '22 21:07 Nuckerr

Will this PR be included in 1.18.0? This is the only missing feature which prevents us from migrating from cachet to uptime kuma.

heiko-ma avatar Aug 03 '22 08:08 heiko-ma

Will this PR be included in 1.18.0? This is the only missing feature which prevents us from migrating from cachet to uptime kuma.

that's a good question. In fact, my next (maintenance planning) PR still hasn't been completed and has been postponed.

karelkryda avatar Aug 03 '22 09:08 karelkryda

This incident system is most important feature missing that keeps me form using Uptime-kuma. Any organisation interested in their systems uptime is in need for good incident handling. Please consider moving it up in the new features list. Maintenance planning would be nice too.

reigio avatar Aug 08 '22 11:08 reigio