Feature: Journal v2 - cockpit-project/cockpit GitHub Wiki

Notes

Restructuring and enhancing the journal with things such as service chooser and searching.

  • Trello card

  • If messages from more than one host are present, there needs to be a column for the host

  • Filtering happens on two levels:

  • server-side (via journalctl): filter box should suggest possible tags/fields and reduce list as user types

  • browser-side: wildcard matching (only rudimentary support in journalctl and not in older versions)

  • What happens when new messages arrive?

  • There is a bunch of prior art here, such as Twitter and G+. If you're scrolled down on the page, a small notification of a sort indicates that there are newer messages above, but you remain on the same spot on the page. No content is moved for you.

  • How do you keep your place in the list to keep reading? Suggestion: hovered items appear to remain stationary, they serve as anchors if content moves. A hard focus via clicking would be significantly slower and a click to open details is more in line with expected ui behavior.

Robert Paulson is a developer at a small IT company. For one reason or another, he got tossed the sysadmin hat at the company. They have 3 servers, one as a file server, one as their build server and one for the company website. The file server shares both over NFS and SMB, since their developers are on Linux workstations and the executives run Windows. One afternoon the executives complain that "they can't get to the files" while none of the developers have any complaints.

Sarah Manning is a part-time sysadmin at a IT startup, spending the other half of her work as a backend developer on the company's upcoming product. They have a server set up to do various tasks that they need for their work. Shared file server, print server, wiki etc. She don't want to lose any of their important data, so she does automated, weekly backups to a VPS using a timer. One days she checks the servers journal looking for a printing error and stumble upon an error from the backup timer. It says that it could not connect to the IP. She needs to find out if this has been going on for long and take a manual backup directly to a disk as soon as possible.

David Jones is a freelance web developer. He's setting up a Wordpress site, but for some reason uploading things with ftp to the site doesn't work. He suspects this might be a firewall issue.

Workflows

Robert

  • Robert opens journal in Cockpit
  • Sees a failure notification
  • Expands the view to also show messages from the other two servers
  • Follows the timeline of events back to a job on the build server
  • Filters by the culpable service on the build machine
  • Realizes that a resource intensive test caused the network failures

Sarah

  • Sarah logs in to Cockpit.
  • Stumbles upon the backup service issue.
  • Gets cold sweats and wonders how long this have been going on.
  • Sorts on the backup service only and sees that it's been failing 4 times, ie four weeks.
  • Brings out a spare disk from the storage room and takes a full backup right away.
  • Investigates and finds that for some reason or another the script couldn't connect to the other machine.
  • Logs in to the VPS and realize that the disk is full.
  • Clears out some very old backups, freeing some space. Then she buys some more space at the VPS.
  • Starts the backup script manually and verifies it works without hickups.

David

  • David logs in to Cockpit.
  • Filters down on the firewalld service.
  • Sees that he gets complains from the firewall
  • Opens that ports in the firewall.
  • Tests again and sees that he don't get any more errors for that and that his website works all right.

Wireframes

Mockup

Prior art

Related github issues

Feedback