Email w/ System Status, what to include? Use Gateway Event, Expression Tags?

I have a Gateway Timer script that checks for tags with bad quality and sends an email if any are found.

The script takes time (about 20 seconds) and overhead to check all tags but if you are not using the Alarm Notification Module, I'm not sure of a better way to do this without all the tags having access to notification pipelines. The script also compiles a list of devices, instead of a larger list of all tags with bad quality, and limits the number of repeat notifications sent.

I'd now like to set up another email that would show system status, similar to the built-in Ignition status Overview and Performance pages. Can you have an email include them?

Otherwise I'm thinking of using the System Gateway tags and send an email when the most relevant ones show an issue.

For something like MSSQL Server not being available I can include it's tag in a Gateway event Tag Change script. For some thing like running out of disk space I'm guessing I'll need an expression tag to trigger when available space falls below a set threshold.

Is there a better way?

My current list of system status points that trigger an email. I’m not sure if I've included all relevant points or missed better options. Also plan to send a daily, all is well email, so they can figure something is wrong if the Gateway or server is down.

-Failure to send data to external database.
-Loss of connections to local databases (e.g., MSSQL).
-OPC Connection Loss
-When specific devices (e.g., PLCs or remote I/O devices) go offline
-Low disk space.
-Low on Memory.
-System was restarted. (Not sure I can get that.)
-Maybe high CPU usage but not sure the best way to decide that.