Use the
uerf
command to produce event reports
from the binary log file.
You must be superuser to use the
uerf
command.
The
uerf
command accesses events logged
to the binary log file, translates them from binary code to ASCII if necessary,
and sends them to the output device you specify.
The events include error
messages relating to the system hardware and the software kernel, as well
as information about system status, startup, and diagnostics.
The default
binary log file is
/usr/adm/binary.errlog.
By reviewing the types and the number of events, you can determine the reliability of a system. If a report shows a large number of errors for a particular device, you can determine if a problem exists before the device fails completely. Furthermore, if a failure occurs, the event report provides information on the events that led to the failure.
The
uerf
component will be retired in a future release
of the Tru64 UNIX operating system.
The replacement event logger is the
DECevent utility.
For more information about DECevent, see the
DECevent Translation and Reporting Utility
documentation,
Chapter 13, and
dia(8).
This release also includes Compaq Analyze, which supports newer processors. Refer to the Installation Guidefor information on installing Compaq Analyze and on accessing the documentation.
The
uerf
command uses
the following three data files:
/usr/sbin/uerf.bin
- The event information
database
/usr/sbin/uerf.hlp
- The help file
/usr/sbin/uerf.err
- The error message
file
The
uerf
command allows you to specify the source
that it uses to generate event reports, to restrict the event selection, and
to produce specific output formats.
The
uerf
command has
the following syntax:
/usr/sbin/uerf
[options...]
Without options, the
uerf
command outputs the contents
of the event-log file specified by the *.* entry in the
/etc/binlog.conf
configuration file.
To report on any other event-log file or if
there is no *.* entry, you must use the
uerf
command with
the
-f
option.
Table D-1
describes the
uerf
command
options.
| Option | Description |
-c
class,... |
Selects events for the specified classes. |
-D
[disk,...] |
Selects events for the specified mscp and SCSI disk devices. |
-f
filename |
Specifies the file from which messages are read. |
-h |
Displays help information. |
-H
hostname |
Selects events for the specified host system. This option is used if events from multiple systems are being forwarded to the local host. |
-M
[mainframe,...] |
Specifies processor event types. |
-n |
Processes events as they occur. |
-o
output |
Produces output in either
brief,
full, or
terse
format.
The
default is
brief. |
-O
[op_events,...] |
Selects the specified operating system events. |
-R |
Produces output in reverse chronological order. |
-r
record,... |
Selects events for the specified record codes. |
-s
[seq_of_numbers] |
Selects events with the specified sequence of numbers. |
-S |
Produces a summary report. |
-t
time |
Selects events within the specified time range. |
-T
[tapes,...] |
Selects events for TMSCP tape types and SCSI tape devices. |
-u
number |
Selects events from the device with the specified unit number. |
-x |
Excludes specified options. |
-Z |
Produces output in hexadecimal format. |
To use the
uerf
command in
single-user mode, you must ensure that the file system containing the binary
log file and the
uerf
command data files is mounted.
The line printer spooler is not operational during single-user mode. Therefore, to print a report on a line printer while in single-user mode, you must direct the output to a printer special file as shown in the following example:
#/usr/sbin/uerf > /dev/lp
You can use some options together.
For example, the following command
produces a report from the
/var/admin/logs.old
file for
the system
guitar:
#/usr/sbin/uerf -f /var/admin/logs.old -H guitar
The following example uses the
-t
and the
-o
options to display messages for the current day in terse
format:
#/usr/sbin/uerf -t s:00 -o terse
The following example shows the default output of the
uerf
command:
#/usr/sbin/uerfuerf version 4.2-011 (118) ************************* ENTRY 1. ************************** ----- EVENT INFORMATION ----- EVENT CLASS OPERATIONAL EVENT OS EVENT TYPE 300. SYSTEM STARTUP SEQUENCE NUMBER 0. OPERATING SYSTEM DEC OSF/1 OCCURRED/LOGGED ON Tue Jan 11 17:16:18 1994 OCCURRED ON SYSTEM pearl SYSTEM ID x0004000F CPU TYPE: DEC CPU SUBTYPE: KN15AA MESSAGE Alpha boot: available memory from _0x646000 to 0x6000000 DEC OSF/1 X1.2-11 (Rev. 4); Tue Jan _11 17:13:53 EST 1994 physical memory = 94.00 megabytes. available memory = 85.48 megabytes. using 360 buffers containing 2.81 _megabytes of memory tc0 at nexus scc0 at tc0 slot 7 asc0 at tc0 slot 6 rz1 at asc0 bus 0 target 1 lun 0 (DEC _ RZ25 (C) DEC 0700) rz2 at asc0 bus 0 target 2 lun 0 (DEC _ RZ25 (C) DEC 0700) tz5 at asc0 bus 0 target 5 lun 0 (DEC _ TLZ06 (C)DEC 0374) asc1 at tc0 slot 6 fb0 at tc0 slot 8 1280X1024 ln0: DEC LANCE Module Name: PMAD-BA ln0 at tc0 slot 7 ln0: DEC LANCE Ethernet Interface, _hardware address: 08:00:2b:2c:f6:9f DEC3000 - M500 system Firmware revision: 2.0 PALcode: OSF version 1.28 lvm0: configured. lvm1: configured. setconf: bootdevice_parser translated _'SCSI 0 6 0 0 300 0 FLAMG-IO' to _'rz3' ************************ ENTRY 2. **************************** ----- EVENT INFORMATION ----- EVENT CLASS ERROR EVENT OS EVENT TYPE 199. CAM SCSI SEQUENCE NUMBER 1. OPERATING SYSTEM DEC OSF/1 OCCURRED/LOGGED ON Tue Jan 11 18:05:10 1994 OCCURRED ON SYSTEM pearl SYSTEM ID x0004000F CPU TYPE: DEC CPU SUBTYPE: KN15AA ----- UNIT INFORMATION ----- CLASS x0005 RODIRECT SUBSYSTEM x0000 DISK BUS # x0000 x0020 LUN x0 TARGET x4
The following sections describe how to use the
uerf
command options that allow you to specify the source used to generate event
reports.
Use the
uerf
command with the
-c
option to select
the specified class of events.
The
uerf
-c
command has the following syntax:
uerf
-cclass
You can specify the following class variables:
| Event Class | Description |
err |
Reports hardware-detected and software-detected events. |
maint |
Reports events that occur during system maintenance, such as running the online functional exercisers. |
oper |
Reports information on system status, autoconfiguration messages, device status and error messages, time stamps, and system startup and shutdown messages. |
Use the
uerf
command with the
-D
option to select
events for the specified disk type (for example, rz55) or disk class (for
example, rz).
The
uerf
-D
command
has the following syntax:
uerf
-D
[disk...]
If you do not specify a disk variable, events for all disks are reported. If you specify more than one disk variable, separate them with commas. For example:
#/usr/sbin/uerf -D rz23,rz24
Use
the
uerf
command with the
-M
option to select events for the specified mainframe event type.
The
uerf
-M
command has the following syntax:
uerf
-M
[mainframe...]
You can specify the following mainframe variables:
| Mainframe Events | Description |
cpu |
Reports CPU-related events, such as machine checks. |
mem |
Reports memory-related events, such as single-bit corrected read data (CRD) and double-bit uncorrectable errors. |
If you do not specify a mainframe variable, all mainframe events are reported. If you specify more than one mainframe variable, separate them with commas. For example:
#/usr/sbin/uerf -M cpu,mem
Use the
uerf
command with the
-n
option to report events as they occur.
You can use this option if you run
the system exercisers.
The
uerf
-n
command has the following syntax:
uerf
-n
You cannot specify the
-f
option with the
-n
option.
Use
the
uerf
command with the
-O
option
to select operating system events such as panics, exceptions, and faults.
The
uerf
-O
command has the following
syntax:
uerf
-O
[op_system...]
You can specify the following op_system variables:
| Operating System Events | Description |
aef |
Arithmetic exception faults |
ast |
Asynchronous trap exception faults |
pag |
Page faults |
pif |
Privileged instruction faults |
pro |
Protection faults |
ptf |
Page table faults |
raf |
Reserved address faults |
rof |
Reserved operand faults |
scf |
System call exception faults |
seg |
Segmentation faults |
If you do not specify an op_system variable, all operating system events are reported. If you specify more than one op_system variable, separate them with commas. For example:
#/usr/sbin/uerf -O raf,ptf,ast
Use the
uerf
command with the
-T
option to select
events for the specified tape type (for example, tz30) or tape class (for
example, tz).
The
uerf
-T
command
has the following syntax:
uerf
-T
[[tape]]
If you do not specify a tape variable, events for all tape types and tape classes are reported. If you specify more than one tape variable, separate them with commas. For example:
#/usr/sbin/uerf -T tz#/usr/sbin/uerf -T tz31
Use the
uerf
command with
the
-f
option to select events from the specified
log file instead of the default log file, which is defined by the
*.*
entry destination in the
/etc/binlog.conf
file.
The
uerf
-f
command has
the following syntax:
uerf
-f filename
The filename variable specifies the event-log file to use. You must specify the full pathname for the file, for example:
#/usr/sbin/uerf -f /var/adm/binary.old
You cannot specify the
-n
option with the
-f
option.
Use the
uerf
command with
the
-H
option to select events for the specified
host system.
Use this option if events from remote systems are being forwarded
to your local system.
The
uerf
-H
command has the following syntax:
uerf
-H hostname
Use the
uerf
command with the
-r
option to select events with the specified record codes.
The
-r
option offers an alternate way to report specific events,
such as disk and tape events.
The
uerf
-r
command has the following syntax:
uerf
-r record...
You can specify the following record variables:
| Record code | Hardware-Detected Events |
| 100 | CPU machine checks and exceptions |
| 101 | Memory errors (soft and hard) |
| 102 | Disk errors |
| 103 | Tape errors |
| 104 | Device controller errors |
| 105 | Adapter errors |
| 106 | Bus errors |
| 107 | Stray interrupts |
| 108 | Console events |
| 109 | Stack dump |
| 199 | CAM (SCSI) events |
| Record code | Software-Detected Events |
| 201 | ci ppd events |
| 202 | scs events |
| Record code | ASCII Messages |
| 250 | Informational |
| Record code | Operational Messages |
| 300 | Startup |
| 301 | Shutdowns and reboots |
| 302 | Panics |
| 350 | Diagnostics status |
If you specify more than one record variable, separate them with commas. You can also separate record variables with a dash (-) to indicate a sequence of record codes.
The following example produces all system startup messages, including hardware devices configured and their control status register (CSR) addresses:
#/usr/sbin/uerf -r 300
The following example specifies a sequence of records:
#/usr/sbin/uerf -r 100-109
The following example specifies two records:
#/usr/sbin/uerf -r 100,102
The following sections describe
how to restrict the event selection in the report by specifying a time range,
sequence numbers, or a unit number with the
uerf
command.
You can also exclude events from a particular source.
Use the
uerf
command with
the
-s
option to select events with the specified
sequence numbers.
A sequence number is assigned to an event when it is logged.
You can use this option to report specific events after viewing the event-log
file at your terminal.
The
uerf
-s
command has the following syntax:
uerf
-s seq_of_numbers
The seq_of_numbers variable specifies the beginning and ending sequence numbers separated by a dash (-). For example:
#/usr/sbin/uerf -s 750-800
Note
Sequence numbers restart when you reboot the system. If the event-log file contains events from before and after a reboot, the file may contain duplicate sequence numbers.
If the
-s
option is the only
uerf
command option specified, all events with the specified sequence
numbers are reported.
Use the
uerf
command with the
-t
option to select events in the specified time range.
The
uerf
-t
command has the following syntax:
uerf
-t time
The
time
variable specifies the start and
end of the time range.
If you do not use the
-t
time
option, the entire event-log file is used to report events.
The
time
variable has the following syntax:
s:
dd-mmm-yyyy,hh:mm:ss
e:
dd-mmm-yyyy,hh:mm:ss
The
dd-mmm-yyyy
variable specifies the day,
month, and year.
The
hh:mm:ss
variable specifies
the hours, minutes, and seconds.
You specify the start time after the
s:
symbol, and you specify the end time after the
e:
symbol.
The
uerf
-s
command uses
the following defaults for the date and time:
The current date
The start time is 00:00:00
The end time is 23:59:59
The following example produces a report that contains all events for the 24-hour period of January 11, 1994:
#uerf -t s:11-jan-1994,00:00:00 e:11-jan-1994,23:59:59
The following command produces a report from the beginning of the event-log file until February 29 of the current year:
#/usr/sbin/uerf -t e:29-feb
The following command produces a report for all events on the current day and year, starting at 1:20 p.m. and ending at the current time:
#/usr/sbin/uerf -t s:13:20
Use the
uerf
command with the
-u
option to select events from the disk or tape device unit number.
The
uerf
-u
command has the following
syntax:
uerf
-u number
The
number
variable specifies the tape or
disk unit number.
You can use this option only with the
-D
and the
-T
options.
Use the
uerf
command
with the
-x
option to exclude the specified event
source from the report.
You can exclude the
-c,
-D,
-M,
-O,
and
-T
options from the request.
Refer to
Section D.1
for more information on event sources.
The
uerf
-x
command has the following syntax:
uerf
-x
[-c]
[-D]
[-M]
[-O]
[-T]
The options to be excluded can appear before or after the
-x
option.
For example, the following command reports all events except disk events and operating system events:
#/usr/sbin/uerf -O -x -o full -D
The following sections describe the options that control
the report output of the
uerf
command.
Use the
uerf
command with
the
-S
option to produce a summary report.
All the
uerf
source selection options (-c,
-D,
-M,
-O,
and
-T) support summaries.
The default format for
summary report output is terse.
Refer to
Section D.3.2
for more information on output formats.
The following example shows the command and options that generate a terse summary of all events recorded for the day in the log file:
#/usr/sbin/uerf -t s:00 -S
Use the
uerf
command with the
-o
option to format the report output.
The
uerf
-o
command has the following syntax:
uerf
-o output
The output variable can be one of the following:
| Output Type | Description |
brief |
Reports event information in a short format. This is the default. |
full |
Reports all available information for each event. |
terse |
Reports event information and displays register values but does not translate the events to ASCII. |
Usually, the
-o full
option produces the most
event information.
However, panic messages and other ASCII messages do not
provide more information with the
-o full
option.
The following example shows the default brief format for a memory event:
#/usr/sbin/uerf -r 101
The following example shows the information produced by full output format for this report, which displays all memory-related events:
#/usr/sbin/uerf -o full -r 101
Use the
uerf
command
with the
-R
option to report events in reverse chronological
order.
The following example causes the
uerf
command to
produce a report that lists all startup messages, beginning with the most
recent:
#/usr/sbin/uerf -R -r 300
Use the
uerf
command with
the
-Z
option to output event entries in hexadecimal
format.