|Version 31 (modified by jrollins, 4 years ago) (diff)|
cereal is a serial terminal management system. cereal provides a framework to easily set up and maintain automated, timestamped logs of serial lines, while simultaneously allowing end user access to them. This is probably most useful for providing automated, logged access to remote serial consoles.
cereal can control an arbitrary number of independently monitored and logged lines. Direct access to the monitored 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 uses GNU screen as the terminal interface to the serial lines. cereal attaches a screen session to a specified serial terminal, and then monitors the screen session with runit. Any activity on that screen session is written to a log file.
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, all 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 is available under the GNU General Public License, v3 or later.
- 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)
cereal is particularly useful on machines with large numbers of serial ports, acting as a console server. How can you make it so that your machine has a large number of serial ports for a reasonable price?
- the Octopus-550, an 8-port PCI card. These work well under linux, and CMRG has lots of experience with them. search around a bit for the best prices. Highly recommended.
- 8-port serial adapter -- this claims to use the Prolific chipset (pl2303), which has robust driver support in Linux. Doesn't require external power or a hub for 8 ports, which could be nice. Never tried it, though. If you're using udev and USB, you might have trouble getting the devices to be named consistently. Joey Hess has a good concise writeup of how to do that (assuming you don't swap around your USB cables).
deb http://cmrg.fifthhorseman.net/debian unstable cereal deb-src http://cmrg.fifthhorseman.net/debian unstable cereal
The latest version of cereal no longer works on etch because of changes in runit. If you want to use cereal on an etch system, please put the following lines in /etc/apt/sources.list instead:
deb http://cmrg.fifthhorseman.net/debian etch cereal deb-src http://cmrg.fifthhorseman.net/debian etch cereal
Anonymous, read-only access to the source is available via svn:
svn co http://cmrg.fifthhorseman.net/svn/trunk/cereal