[Feature] Make groups in Status Page collapsable #260

Open
opened 2026-02-28 01:40:40 -05:00 by deekerman · 14 comments
Owner

Originally created by @gaby on GitHub (Sep 23, 2021).

In the new status page, it would be really convenient if the groups could be collapsed. We currently have over 200 monitors, and not being able to collapse the groups makes the page super long.

Originally created by @gaby on GitHub (Sep 23, 2021). In the new status page, it would be really convenient if the groups could be collapsed. We currently have over 200 monitors, and not being able to collapse the groups makes the page super long.
Author
Owner

@deefdragon commented on GitHub (Oct 10, 2021):

  • Similar to #549 and #639 asking for collapsible subgroups, but in this case, its the groups themselves that would be collapsible.
  • Another potential solution to a large number of monitors would be #530 with multiple status pages.
@deefdragon commented on GitHub (Oct 10, 2021): - Similar to #549 and #639 asking for collapsible subgroups, but in this case, its the groups themselves that would be collapsible. - Another potential solution to a large number of monitors would be #530 with multiple status pages.
Author
Owner

@deefdragon commented on GitHub (Oct 10, 2021):

More issues that would should likely be considered when working on grouping

  • #324 Grouping of notifications
  • #271 and #216 Notification ordering/dependencies.
  • #312 Having all statues added together to one up-time calculation (likely working in the same way as the group stats summing).
  • #12 Another general grouping monitors request.
@deefdragon commented on GitHub (Oct 10, 2021): More issues that would should likely be considered when working on grouping - #324 Grouping of notifications - #271 and #216 Notification ordering/dependencies. - #312 Having all statues added together to one up-time calculation (likely working in the same way as the group stats summing). - #12 Another general grouping monitors request.
Author
Owner

@RisedSky commented on GitHub (Oct 11, 2021):

Same here :

@RisedSky commented on GitHub (Oct 11, 2021): Same here : - https://github.com/louislam/uptime-kuma/issues/651
Author
Owner

@CommanderStorm commented on GitHub (Jun 11, 2023):

@gaby this has been implemented+merged.
Any version after 1.22.0-beta.0 supports this.
image
image

Could you close this Issue, as this has been resolved? (only you or louis can close issues)

@CommanderStorm commented on GitHub (Jun 11, 2023): @gaby this has been implemented+merged. Any version after [`1.22.0-beta.0`](https://github.com/louislam/uptime-kuma/releases/tag/1.22.0-beta.0) supports this. ![image](https://github.com/louislam/uptime-kuma/assets/26258709/2b8673a3-214f-449f-a7fd-675c6dacc8db) ![image](https://github.com/louislam/uptime-kuma/assets/26258709/2a188e08-0774-402e-92e7-c18da04c0026) Could you close this Issue, as this has been resolved? (only you or louis can close issues)
Author
Owner

@gaby commented on GitHub (Jun 11, 2023):

@CommanderStorm thanks!

@gaby commented on GitHub (Jun 11, 2023): @CommanderStorm thanks!
Author
Owner

@CommanderStorm commented on GitHub (Jun 11, 2023):

🥳

@CommanderStorm commented on GitHub (Jun 11, 2023): 🥳
Author
Owner

@tradexsrl commented on GitHub (Apr 16, 2024):

hI , i came across the same problem for my status page . i don't understand how to collapse the content inside the group like in this status page:
immagine

@tradexsrl commented on GitHub (Apr 16, 2024): hI , i came across the same problem for my status page . i don't understand how to collapse the content inside the group like in this status page: ![immagine](https://github.com/louislam/uptime-kuma/assets/62424179/e26f45fc-eddb-4b00-9c99-166903bda01e)
Author
Owner

@CommanderStorm commented on GitHub (Apr 16, 2024):

(https://github.com/louislam/uptime-kuma/releases/tag/1.22.0-beta.0) supports this. image image

See the screenshot above:
If you add a group to the status page it is not expanded.
If you add the submoniotors, this is expanded.

Maybe clicking on the status page group should collapse said group.
=> reopening this issue

@CommanderStorm commented on GitHub (Apr 16, 2024): > (https://github.com/louislam/uptime-kuma/releases/tag/1.22.0-beta.0) supports this. ![image](https://private-user-images.githubusercontent.com/26258709/244969630-2b8673a3-214f-449f-a7fd-675c6dacc8db.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTMyNzk0MjEsIm5iZiI6MTcxMzI3OTEyMSwicGF0aCI6Ii8yNjI1ODcwOS8yNDQ5Njk2MzAtMmI4NjczYTMtMjE0Zi00NDlmLWE3ZmQtNjc1YzZkYWNjOGRiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDE2VDE0NTIwMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIzNWI0OWI5NzMzN2U1ODNiMTUzZThjMjhmZDFhZmYyNjAwNzA0MjhhYzczYTE1YWJlMzdhOTU0NGE4NGNkM2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.5PR18h8kqbZES1wI7SqsQS16sxj85bROhVJ0WzFBFO0) ![image](https://private-user-images.githubusercontent.com/26258709/244969684-2a188e08-0774-402e-92e7-c18da04c0026.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTMyNzk0MjEsIm5iZiI6MTcxMzI3OTEyMSwicGF0aCI6Ii8yNjI1ODcwOS8yNDQ5Njk2ODQtMmExODhlMDgtMDc3NC00MDJlLTkyZTctYzE4ZGEwNGMwMDI2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDE2VDE0NTIwMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM2YWY2YTQ3OWRiYjc4Njk2MDAzMTBmOGZhY2NmZmRlZGY4ZmU3YjU3YzgyZDMyYWEzMWNhMTM4MDkyMDM5NmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.pJLsJx7kHyFG4tx5cUrEqDNMDmk2uS6-XIV7Wm-SKpc) See the screenshot above: If you add a group to the status page it is not expanded. If you add the submoniotors, this is expanded. Maybe clicking on the status page group should collapse said group. => reopening this issue
Author
Owner

@tradexsrl commented on GitHub (Apr 16, 2024):

if i add a group i cannot expand it:
immagine

@tradexsrl commented on GitHub (Apr 16, 2024): if i add a group i cannot expand it: ![immagine](https://github.com/louislam/uptime-kuma/assets/62424179/e75f8087-c48c-4733-96d1-71c27e86f2b3)
Author
Owner

@CommanderStorm commented on GitHub (Apr 16, 2024):

Yes, as I said above: this issue was closed by mistake.

@CommanderStorm commented on GitHub (Apr 16, 2024): Yes, as I said above: this issue was closed by mistake.
Author
Owner

@CommanderStorm commented on GitHub (Apr 16, 2024):

One thing that might be good to discuss is what groups on the status page really mean.

I mean this:
image

@CommanderStorm commented on GitHub (Apr 16, 2024): One thing that might be good to discuss is what groups on the status page really mean. I mean this: ![image](https://github.com/louislam/uptime-kuma/assets/26258709/76565ac5-ec9f-4db8-bf7a-e0de9b042108)
Author
Owner

@tradexsrl commented on GitHub (Apr 17, 2024):

i create that group to group some services or websites to be able to collapse and when i need to see the details to expand as you can do in other system status page provider but as you saw this is not possible,
without this possibility even on a large screen , if you have many monitor you fill up very quickly
at the moment to bypass the problem i'm thinking to create multiple status page and with a kiosk application change the display page each minutes

@tradexsrl commented on GitHub (Apr 17, 2024): i create that group to group some services or websites to be able to collapse and when i need to see the details to expand as you can do in other system status page provider but as you saw this is not possible, without this possibility even on a large screen , if you have many monitor you fill up very quickly at the moment to bypass the problem i'm thinking to create multiple status page and with a kiosk application change the display page each minutes
Author
Owner

@zigazajc007 commented on GitHub (Jun 17, 2025):

Just to clarify - would this feature enable nested collapsible groups on the status page?
For example, users could expand a "Locations" group to see regions, then expand "Europe" to see service types, then expand "Servers" to view individual server status?

Proposed structure:

📍 Locations [expandable] (uptime %, avg latency)
├── 🌍 Europe [expandable] (uptime %, avg latency)
│   ├── Servers [expandable] (uptime %, avg latency)
│   │   ├── EU1 (uptime %, avg latency)
│   │   └── EU2 (uptime %, avg latency)
│   ├── Databases [expandable] (uptime %, avg latency)
│   │   ├── DB1 (uptime %, avg latency)
│   │   └── DB2 (uptime %, avg latency)
│   └── Caches [expandable] (uptime %, avg latency)
│       ├── CH1 (uptime %, avg latency)
│       └── CH2 (uptime %, avg latency)
└── 🌎 America [expandable] (uptime %, avg latency)
    └── [similar structure]

Note: Each server (EU1, EU2, etc.) would internally have multiple push monitors organized by regions (Europe, North America, etc.), but the status page nesting would stop at the server level. The displayed metrics would be aggregated from all underlying monitors - so EU1 would show overall uptime and average latency across all its regional push monitors, without exposing that deeper structure on the public status page.

Example:

📍 Locations [expandable] (uptime %, avg latency)
├── 🌍 Europe [expandable] (uptime %, avg latency)
│   ├── Servers [expandable] (uptime %, avg latency)
│   │   ├── EU1 (uptime %, avg latency)
│   │   │  ├── Europe (Hidden) and under it multiple push monitors located thru EU
│   │   │  └── North America (Hidden) and under it multiple push monitors located thru US
│   │   └── EU2 (uptime %, avg latency)
│   │      ├── Europe (Hidden) and under it multiple push monitors located thru EU
│   │      └── North America (Hidden) and under it multiple push monitors located thru US
│   ├── Databases [expandable] (uptime %, avg latency)
│   │   ├── DB1 (uptime %, avg latency)
│   │   └── DB2 (uptime %, avg latency)
│   └── Caches [expandable] (uptime %, avg latency)
│       ├── CH1 (uptime %, avg latency)
│       └── CH2 (uptime %, avg latency)
└── 🌎 America [expandable] (uptime %, avg latency)
    └── [similar structure]

This would allow for a clean overview by default, while letting users drill down to specific infrastructure details when needed. The status page would show high-level health at the top level, with granular monitoring available on-demand.

Edited:
It would also be great to custom name our monitors in status pages. As I would like them to name more technical in admin panel for easier identification while for users on status pages more plain.

Showing latency graph on status page should also be toggleable for each group / monitor.

Edit 2:
I have created a group Europe and I have multiple push monitors under it. I don't want to see Europe in degraded state if one pulse monitor is down. That's the point of having multiple push monitors under Europe group so even if one is down the rest of them will still see the service as up. To solve this problem each group should have option on how many % of child needs to be up in order for service to still be green. By default it should be 100% but in my case I could change it to 1%. So at least 1 child needs to see service as up in order for Europe group to still be green / up.

Edit 3:
Groups does not inherit average latency from children.

@zigazajc007 commented on GitHub (Jun 17, 2025): Just to clarify - would this feature enable nested collapsible groups on the status page? For example, users could expand a "Locations" group to see regions, then expand "Europe" to see service types, then expand "Servers" to view individual server status? Proposed structure: ``` 📍 Locations [expandable] (uptime %, avg latency) ├── 🌍 Europe [expandable] (uptime %, avg latency) │ ├── Servers [expandable] (uptime %, avg latency) │ │ ├── EU1 (uptime %, avg latency) │ │ └── EU2 (uptime %, avg latency) │ ├── Databases [expandable] (uptime %, avg latency) │ │ ├── DB1 (uptime %, avg latency) │ │ └── DB2 (uptime %, avg latency) │ └── Caches [expandable] (uptime %, avg latency) │ ├── CH1 (uptime %, avg latency) │ └── CH2 (uptime %, avg latency) └── 🌎 America [expandable] (uptime %, avg latency) └── [similar structure] ``` Note: Each server (EU1, EU2, etc.) would internally have multiple push monitors organized by regions (Europe, North America, etc.), but the status page nesting would stop at the server level. The displayed metrics would be aggregated from all underlying monitors - so EU1 would show overall uptime and average latency across all its regional push monitors, without exposing that deeper structure on the public status page. Example: ``` 📍 Locations [expandable] (uptime %, avg latency) ├── 🌍 Europe [expandable] (uptime %, avg latency) │ ├── Servers [expandable] (uptime %, avg latency) │ │ ├── EU1 (uptime %, avg latency) │ │ │ ├── Europe (Hidden) and under it multiple push monitors located thru EU │ │ │ └── North America (Hidden) and under it multiple push monitors located thru US │ │ └── EU2 (uptime %, avg latency) │ │ ├── Europe (Hidden) and under it multiple push monitors located thru EU │ │ └── North America (Hidden) and under it multiple push monitors located thru US │ ├── Databases [expandable] (uptime %, avg latency) │ │ ├── DB1 (uptime %, avg latency) │ │ └── DB2 (uptime %, avg latency) │ └── Caches [expandable] (uptime %, avg latency) │ ├── CH1 (uptime %, avg latency) │ └── CH2 (uptime %, avg latency) └── 🌎 America [expandable] (uptime %, avg latency) └── [similar structure] ``` This would allow for a clean overview by default, while letting users drill down to specific infrastructure details when needed. The status page would show high-level health at the top level, with granular monitoring available on-demand. Edited: It would also be great to custom name our monitors in status pages. As I would like them to name more technical in admin panel for easier identification while for users on status pages more plain. Showing latency graph on status page should also be toggleable for each group / monitor. Edit 2: I have created a group Europe and I have multiple push monitors under it. I don't want to see Europe in degraded state if one pulse monitor is down. That's the point of having multiple push monitors under Europe group so even if one is down the rest of them will still see the service as up. To solve this problem each group should have option on how many % of child needs to be up in order for service to still be green. By default it should be 100% but in my case I could change it to 1%. So at least 1 child needs to see service as up in order for Europe group to still be green / up. Edit 3: Groups does not inherit average latency from children.
Author
Owner

@CommanderStorm commented on GitHub (Jun 17, 2025):

Mutli level groupings (a status-page-group containing another status-page-group) is not currently supported under the the current status page design.

You can create non-status page groups and create a thrid layer via that, but supporting what you want would require a redisign of how this system works.
This is a different feature than collapsible groups
=> please open a different issue instead of reusing this one.

@CommanderStorm commented on GitHub (Jun 17, 2025): Mutli level groupings (a status-page-group containing another status-page-group) is not currently supported under the the current status page design. You can create non-status page groups and create a thrid layer via that, but supporting what you want would require a redisign of how this system works. This is a different feature than collapsible groups => please open a different issue instead of reusing this one.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/uptime-kuma#260
No description provided.