wiki:cereal

Version 4 (modified by jrollins, 6 years ago) (diff)

--

cereal

Cereal is a serial terminal management system. Cereal provides an easy way to set up and maintain automated, timestamped logs of serial lines, while simultaneously allowing end users to access them. Cereal can control an arbitrary number of logged lines, and each will be independently monitored.

Cereal uses GNU screen as the terminal interface to the serial lines. Cereal attaches a screen session a specified serial terminal and then monitors the screen session with runsvdir. Any activity on that screen session, either input or output, is written to a log file.

Direct access to the monitored serial lines is allowed only to a specific user (who doesn't necessarily otherwise have access to the direct serial line), but logs can be made available to any group. Logs are rotated automatically and their total space can be limited in size.

Cereal was conceived as a way to manage the monitoring of serial consoles on other machines. Other than network connections, serial lines are the most useful way to interact with a machine. All legitimate BIOS, bootloaders, and operating systems can provide console/terminal access through a serial line. In a high-density environment, such as a rack for instance, all the machines can be configured with their consoles on a serial line. A serial console server can then be setup with a high number of serial ports to monitor the serial consoles of all the machines in the rack. Serial monitoring requires less space, and is more flexible and convenient that typical KVM systems. Cereal can be used on the serial console server to manage all the serial connections to the machines in the rack.

Cereal will be made publicly available, under the GNU General Public License, in the very near future.

terminology:

  • a "session" connects a "terminal", with screen, to a "host" (serial console) via serial "line"
  • one can "attach" to enabled session
  • one can "follow" enabled session (read logs)
  • sessions will have "flags": state flag ("sflag"), permission flag ("pflag")

download

you can also add the cmrg cereal apt repository to your /etc/apt/sources.list:

deb http://cmrg.fifthhorseman.net/debian unstable cereal
deb-src http://cmrg.fifthhorseman.net/debian unstable cereal

Note: this repository is signed by dkg's GPG key. You can import this key for apt if you want cryptographic verification of these packages.