There's a sample solution in the lab folder: lab/uptime-dashboard.json
. You can load that into Grafana by clicking the plus icon on the left menu and then Import.
Add a new panel and select Add a new row.
Hover your mouse over the row name and a gear icon will appear - click the icon to set the row name to Infrastructure.
Hover over your original status table name and an arrow icon will appear - click that and select Edit.
Add a label to the PromQL:
sum without(job, tier) (up{tier="infrastructure"})
Click Apply - and do the same for the timeline panel (both can use the same query).
Add a new row for Backend.
Hover over the status table, click the arrow icon and select More...Duplicate from the menu.
Edit the label selector in the new panel to use this PromQL:
sum without(job, tier) (up{tier="backend"})
Duplicate the timeline panel too, and set the PromQL to the same to filter for the backend tier.
Repeat the steps from the backend row for the web tier.
You can drag the panels into the correct rows and resize them. Click the disk icon from the top right menu to save the dashboard.
Click the share icon next to the dahboard name and click Export to save the JSON to a file.