There isn't a single node that can monitor all of these things, but there is a good approach you can take:
- Subscribing to every topic to monitor its frequency is very bandwidth intensive. Use the diagnostic_updater library in each node, and have it monitor any topics it publishes.
- Use nodes from diagnostics_common_diagnostics to monitor TF and time sync
- Use libsensors_monitor to monitor CPU temperature and fan speeds
- Set up the diagnostic_aggregator to validate that other diagnostics are being published. This is where you do the top-level description of the system and validate that all of the diagnostics that you expect are actually published.
- Monitor the output of the diagnostic_aggregator with rqt_robot_monitor