FMDUMP(8)            Maintenance Commands and Procedures           FMDUMP(8)
NAME
       fmdump - fault management log viewer
SYNOPSIS
       fmdump [
-aAefHiIjmpvV] [
-c class] [
-R dir] [
-t time] [
-T time]
            [
-u uuid] [
-n name[.
name]*[=
value]]
            [
-N name[.
name]*[=
value][;
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.       
informational logs                    A pair of logs that record informational events that may
                    not lead directly to a fault diagnosis but can assist in
                    interpreting system state should one occur.  These
                    events are separated into a log containing informational
                    events ("ireports") with high priority and sysevents
                    ("high-value" informational events), and another
                    containing other ireports.
       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:       
-a           Include all events from the requested file(s), including events
           that are ordinarily silent.
           Silent events may contain Private telemetry information, and
           their existence may be Private also.  The presence of silent
           events and the data they contain should not be parsed or relied
           upon in the development of scripts or other tools, and their
           presence or absence should not be relied upon to indicate whether
           an error or fault condition exists.       
-A           Aggregate the data from the file(s) specified or, if no file(s)
           are specified, all known logs.  Output may include events from
           fault, error, and informational logs, including older logs that
           have previously been rotated out.  The order in which events are
           displayed is unspecified.  As this option displays data from log
           files that would be selected by the 
-e, 
-i, and 
-I options, the
           same caveats listed with respect to those options also apply to           
-A.       
-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).       
-H           Instead of displaying the events contained in the selected log
           file, display its header attributes.  The names and values of
           these attributes are Private and should not be parsed or relied
           upon for the development of scripts or other tools.  This option
           is provided primarily for debugging the fault management system,
           but it may also be used to determine the type and origin of a log
           file that has been renamed or moved from the system on which it
           was originally produced.       
-i           Display events from the ordinary information log instead of the
           fault log.  This option is shorthand for specifying the pathname
           of the ordinary information log file.
           The ordinary information log file, like the error log file,
           contains Private telemetry information and the same caveats apply
           with respect to interpretation or parsing of this data.       
-I           Display events from the high-value information log instead of the
           fault log.  This option is shorthand for specifying the pathname
           of the high-value information log file.
           The high-value information log file, like the error and ordinary
           information log files, contains Private telemetry information and
           the same caveats apply with respect to interpretation or parsing
           of this data.       
-j           Output events in JSON format, when used with the 
-V option.       
-m           Print the localized diagnosis message associated with each entry
           in the fault log.       
-n name[.
name]*[=
value]
           Select log events 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.       
-N name[.
name]*[=
value][;
name[.
name]*[=
value]]*
           Select log events that have multiple properties with a matching
           name (and optionally a matching value), all of which must match
           the event.  Multiple properties are separated by the 
; character
           and any number may be specified; each is interpreted as if
           supplied with the 
-n option.  If the 
; character must appear in a
           value to be matched, it must be doubled as 
;;.  If the 
-N option
           appears on the command line multiple times, each supplied list of
           properties is treated as a separate selector like any other
           selector option, so that every event matching all properties of
           any one of several property lists will be selected.       
-p           Prettifies output when used with 
-V, including displaying FMRIs
           as strings instead of embedded name-value lists.       
-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       
/var/fm/fmd/infolog                             Fault management informational report log       
/var/fm/fmd/infolog_hival                             Fault management high-value informational
                             report 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.
                                April 1, 2024                      FMDUMP(8)