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:
- Have UI for various troubleshooting tasks, fixing them. These are implemented interface modules, and can be purpose and topic specific.
- 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.