Troubleshooting - cockpit-project/cockpit GitHub Wiki

Cockpit Troubleshooting

Cockpit has made configuration of a Linux server discoverable and usable. Cockpit should also make troubleshooting, diagnosis, and fixes for issues, discoverable and usable. Some example use cases:

  • SELinux troubleshooting
  • Reporting vulnerabilities in container image scanning
  • Whether servers rebooted
  • Storage failures
  • ... many more

Goals:

  1. Have UI for various troubleshooting tasks, fixing them. These are implemented interface modules, and can be purpose and topic specific.
  2. A dashboard that brings together troubleshooting information for various topics and sources, across connected machines.

Troubleshooting UI

Various types of troubleshooting failures will have their own pages for detailed handling and/or fixing of the issue. For example there will be an SELinux component that provides diagnosis and solutions for the SELinux aspect of troubleshooting.

Troubleshooting Dashboard

Requirement: The dashboard should be able to display troubleshooting and issue data without knowing about each individual source or type. There should be a generic method for retrieval of troubleshooting failures, and redirection to the more specific UI page about that troubleshooting task.

Proposal:

  • Use journal message ids as the sole method for retrieving troubleshooting information for display on the dashboard.
  • Use a messsage catalog header as the way to specific which Cockpit UI page to redirect to for more details about the failure, or fix issues about it.
  • Do not use the individual troubleshooting UI (above) for dashboard display, rendering, or solutions. We can link and redirect to them, but the dashboard will not use them for rendering.