FMDUMP(8) Maintenance Commands and Procedures FMDUMP(8)

NAME


fmdump - fault management log viewer

SYNOPSIS


fmdump [-efmvV] [-c class] [-R dir] [-t time] [-T time]
[-u uuid] [-n name[.name]*[=value]] [file]


DESCRIPTION


The fmdump utility can be used to display the contents of any of the log
files associated with the Fault Manager, fmd(8). The Fault Manager runs
in the background on each system. It receives telemetry information
relating to problems detected by the system software, diagnoses these
problems, and initiates proactive self-healing activities such as
disabling faulty components.


The Fault Manager maintains two sets of log files for use by
administrators and service personnel:

error log
A log which records error telemetry, the symptoms of
problems detected by the system.


fault log
A log which records fault diagnosis information, the
problems believed to explain these symptoms.


By default, fmdump displays the contents of the fault log, which records
the result of each diagnosis made by the fault manager or one of its
component modules.


An example of a default fmdump display follows:

# fmdump
TIME UUID SUNW-MSG-ID
Dec 28 13:01:27.3919 bf36f0ea-9e47-42b5-fc6f-c0d979c4c8f4 FMD-8000-11
Dec 28 13:01:49.3765 3a186292-3402-40ff-b5ae-810601be337d FMD-8000-11
Dec 28 13:02:59.4448 58107381-1985-48a4-b56f-91d8a617ad83 FMD-8000-OW
...


Each problem recorded in the fault log is identified by:

o The time of its diagnosis

o A Universal Unique Identifier (UUID) that can be used to
uniquely identify this particular problem across any set of
systems

o A message identifier that can be used to access a
corresponding knowledge article located on
http://illumos.org/msg/


If a problem requires action by a human administrator or service
technician or affects system behavior, the Fault Manager also issues a
human-readable message to syslogd(8). This message provides a summary of
the problem and a reference to the knowledge article on
http://illumos.org/msg/.


You can use the -v and -V options to expand the display from a single-
line summary to increased levels of detail for each event recorded in the
log. The -c, -t, -T, and -u options can be used to filter the output by
selecting only those events that match the specified class, range of
times, or uuid.


If more than one filter option is present on the command-line, the
options combine to display only those events that are selected by the
logical AND of the options. If more than one instance of the same filter
option is present on the command-line, the like options combine to
display any events selected by the logical OR of the options. For
example, the command:

# fmdump -u uuid1 -u uuid2 -t 02Dec03


selects events whose attributes are (uuid1 OR uuid2) AND (time on or
after 02Dec03).

OPTIONS


The following options are supported:

-c class

Select events that match the specified class. The class argument can
use the glob pattern matching syntax described in sh(1). The class
represents a hierarchical classification string indicating the type
of telemetry event.


-e

Display events from the fault management error log instead of the
fault log. This option is shorthand for specifying the pathname of
the error log file.

The error log file contains Private telemetry information. This
information is recorded to facilitate post-mortem analysis of
problems and event replay, and should not be parsed or relied upon
for the development of scripts or other tools.


-f

Follow the growth of the log file by waiting for additional data.
fmdump enters an infinite loop where it will sleep for a second,
attempt to read and format new data from the log file, and then go
back to sleep. This loop can be terminated at any time by sending an
interrupt (Control-C).


-m

Print the localized diagnosis message associated with each entry in
the fault log.


-n name[.name]*[=value]

Select fault log or error log events, depending on the -e option,
that have properties with a matching name (and optionally a matching
value). For string properties the value can be a regular expression
match. Regular expression syntax is described in the EXTENDED REGULAR
EXPRESSIONS section of the regex(7) manual page. Be careful when
using the characters:

$ * { ^ | ( ) \


...or a regular expression, because these are meaningful to the
shell. It is safest to enclose any of these in single quotes. For
numeric properties, the value can be octal, hex, or decimal.


-R dir

Use the specified root directory for the log files accessed by
fmdump, instead of the default root (/).


-t time

Select events that occurred at or after the specified time. The time
can be specified using any of the following forms:

mm/dd/yy hh:mm:ss

Month, day, year, hour in 24-hour format, minute, and second. Any
amount of whitespace can separate the date and time. The argument
should be quoted so that the shell interprets the two strings as
a single argument.


mm/dd/yy hh:mm

Month, day, year, hour in 24-hour format, and minute. Any amount
of whitespace can separate the date and time. The argument should
be quoted so that the shell interprets the two strings as a
single argument.


mm/dd/yy

12:00:00AM on the specified month, day, and year.


ddMonyy hh:mm:ss

Day, month name, year, hour in 24-hour format, minute, and
second. Any amount of whitespace can separate the date and time.
The argument should be quoted so that the shell interprets the
two strings as a single argument.


ddMonyy hh:mm

Day, month name, year, hour in 24-hour format, and minute. Any
amount of whitespace can separate the date and time. The argument
should be quoted so that the shell interprets the two strings as
a single argument.


Mon dd hh:mm:ss

Month, day, hour in 24-hour format, minute, and second of the
current year.


yyyy-mm-dd [T hh:mm[:ss]]

Year, month, day, and optional hour in 24-hour format, minute,
and second. The second, or hour, minute, and second, can be
optionally omitted.


ddMonyy

12:00:00AM on the specified day, month name, and year.


hh:mm:ss

Hour in 24-hour format, minute, and second of the current day.


hh:mm

Hour in 24-hour format and minute of the current day.


Tns | Tnsec

T nanoseconds ago where T is an integer value specified in base
10.


Tus |Tusec

T microseconds ago where T is an integer value specified in base
10.


Tms | Tmsec

T milliseconds ago where T is an integer value specified in base
10.


Ts | Tsec

T seconds ago where T is an integer value specified in base 10.


Tm |Tmin

T minutes ago where T is an integer value specified in base 10.


Th |Thour

T hours ago where T is an integer value specified in base 10.


Td |Tday

T days ago where T is an integer value specified in base 10.

You can append a decimal fraction of the form .n to any -t option
argument to indicate a fractional number of seconds beyond the
specified time.


-T time

Select events that occurred at or before the specified time. time can
be specified using any of the time formats described for the -t
option.


-u uuid

Select fault diagnosis events that exactly match the specified uuid.
Each diagnosis is associated with a Universal Unique Identifier
(UUID) for identification purposes. The -u option can be combined
with other options such as -v to show all of the details associated
with a particular diagnosis.

If the -e option and -u option are both present, the error events
that are cross-referenced by the specified diagnosis are displayed.


-v

Display verbose event detail. The event display is enlarged to show
additional common members of the selected events.


-V

Display very verbose event detail. The event display is enlarged to
show every member of the name-value pair list associated with each
event. In addition, for fault logs, the event display includes a list
of cross-references to the corresponding errors that were associated
with the diagnosis.


OPERANDS


The following operands are supported:

file
Specifies an alternate log file to display instead of the system
fault log. The fmdump utility determines the type of the
specified log automatically and produces appropriate output for
the selected log.


EXAMPLES


Example 1: Retrieving Given Class from fmd Log




Use any of the following commands to retrieve information about a
specified class from the fmd log. The complete class name is
ereport.io.ddi.context.


# fmdump -Ve -c 'ereport.io.ddi.context'
# fmdump -Ve -c 'ereport.*.context'
# fmdump -Ve -n 'class=ereport.io.ddi.context'
# fmdump -Ve -n 'class=ereport.*.context'


Any of the preceding commands produces the following output:


Oct 06 2007 11:53:20.975021712 ereport.io.ddi.context
nvlist version: 0
class = ereport.io.ddi.context
ena = 0x1b03a15ecf00001
detector = (embedded nvlist)
nvlist version: 0
version = 0x0
scheme = dev
device-path = /
(end detector)

__ttl = 0x1
__tod = 0x470706b0 0x3a1da690


Example 2: Retrieving Specific Detector Device Path from fmd Log




The following command retrieves a detector device path from the fmd log.


# fmdump -Ve -n 'detector.device-path=.*/disk@1,0$'
Oct 06 2007 12:04:28.065660760 ereport.io.scsi.disk.rqs
nvlist version: 0
class = ereport.io.scsi.disk.rqs
ena = 0x453ff3732400401
detector = (embedded nvlist)
nvlist version: 0
version = 0x0
scheme = dev
device-path = /pci@0,0/pci1000,3060@3/disk@1,0
(end detector)

__ttl = 0x1
__tod = 0x4707094c 0x3e9e758


EXIT STATUS


The following exit values are returned:

0
Successful completion. All records in the log file were examined
successfully.


1
A fatal error occurred. This prevented any log file data from being
examined, such as failure to open the specified file.


2
Invalid command-line options were specified.


3
The log file was opened successfully, but one or more log file
records were not displayed, either due to an I/O error or because
the records themselves were malformed. fmdump issues a warning
message for each record that could not be displayed, and then
continues on and attempts to display other records.


FILES


/var/fm/fmd
Fault management log directory


/var/fm/fmd/errlog
Fault management error log


/var/fm/fmd/fltlog
Fault management fault log


ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | See below. |
+--------------------+-----------------+


The command-line options are Evolving. The human-readable error log
output is Private. The human-readable fault log output is Evolving.

SEE ALSO


sh(1), libexacct(3LIB), attributes(7), regex(7), fmadm(8), fmd(8),
fmstat(8), syslogd(8)


http://illumos.org/msg/

NOTES


Fault logs contain references to records stored in error logs that can be
displayed using fmdump -V to understand the errors that were used in the
diagnosis of a particular fault. These links are preserved if an error
log is renamed as part of log rotation. They can be broken by removing an
error log file, or by moving it to another filesystem directory. fmdump
can not display error information for such broken links. It continues to
display any and all information present in the fault log.

January 14, 2020 FMDUMP(8)