compute

Serial Logs

When SSH isn't an option โ€” kernel panics, broken networking, mis-set firewalls โ€” serial logs are how you find out what went wrong.

Last updated ยท 22 May 2026


Every Excloud VM has a virtual serial console attached. Whatever the kernel and bootloader would print to a physical serial port โ€” boot messages, panics, getty prompts โ€” is captured and streamable on demand.

This is the tool to reach for when:

  • A VM came up but you canโ€™t SSH into it.
  • You changed networking or iptables and locked yourself out.
  • The kernel is unhappy and journalctl isnโ€™t enough.
  • You want to confirm a cloud-init script ran.

Tail the live console

exc compute seriallogs --id 42 --follow

--follow polls for new lines and streams them to stdout, like tail -f. Stop with Ctrl-C.

Single fetch

exc compute seriallogs --id 42 --limit 1000
FlagPurpose
--idVM ID
--boot_idSpecific boot; omit for the latest boot
--limitUp to 1000 lines per call (default 200)
--offsetCursor โ€” pass the last offset you saw
--directionolder or newer โ€” which way the cursor moves
-f, --followStream new lines

Paging

Serial logs use cursor pagination, not page numbers. A typical โ€œscroll backโ€ loop:

  1. Fetch --limit 1000 --direction older.
  2. The response includes the offset of the oldest line.
  3. Call again with that offset until youโ€™ve reached the beginning of the buffer.

direction=newer scrolls forward; direction=older scrolls backward. Mix both if you want to anchor on a specific timestamp and read in both directions.

Open an interactive console

Serial logs are read-only. To get an interactive console (e.g. type at a getty prompt during boot), use:

exc compute console --vm_id 42

Required permission

The action is compute:instance:list today (serial logs are read-only and treated as inspection). For policy examples see the Policies guide.