beautypg.com

Apple Mac OS X Server (Version 10.6 Snow Leopard) User Manual

Page 177

background image

Chapter 8

Monitoring Your System

177

When a server kernel panics it abruptly halts all normal system operations. Usually,
a kernel process named

panic()

outputs an error message to the console and stores

debugging information in nonvolitile memory to be written to a crash log file upon
restarting the computer. Saving the memory contents of the core and associated
debugging information is called a “core dump.”

This debugging information is highly technical, but system administrators can use this
information to:

Record details about machines that are panicking and why.

Â

For example, if you manage a large number of Mac OS X Servers, you might want
to monitor which servers are panicking and why. You can use this information
to determine how frequently kernel panics occur, whether there are common
symptoms, and, most importantly, whether third-party kernel extensions are
involved.
Perform offline debugging on high-availability systems.

Â

If you manage a high-availability server and you have problems with server
panicking, you can capture a kernel core dump, immediately restart the server,
and then debug the problem without interrupting service.
For more information on debugging core dumps see Developer Technical Note #2118
at developer.apple.com/technotes/tn2004/tn2118.html#SECDEBUG.

You can configure a Mac OS X Server computer so that, when the machine panics, it
transmits a core dump of the kernel to a remote core dump server via TCP/IP. The core
dump server uses a daemon to collect the kernel core dump from the client and writes
it to a file on the hard disk. You can then analyze the core dump using a variety of
tools, most notably GDB.

CAUTION:

The core dump of kernel memory is sent to the server in the clear. It’s

possible that this data might include sensitive information. Therefore, configure
your network so this data can’t be seen by unauthorized persons. For example, use
switched hubs, a firewall, or a VPN.

To use a FireWire connection to transmit a core dump (a useful alternative when the
kernel panic on the client involves the built-in Ethernet driver or some other network
code), see the Read Me file in the FireWire SDK for Mac OS X that describes the setup
process for using FireWire to transmit a core dump.

The following sections contain information to set up a remote listening server, which
receives core dump information from panicked computers, and to set up a server to
send its core dump information to the remote listening server via TCP/IP over Ethernet.