Tracing Event Script Processing

Event script tracing operations track all event script operations and record them in a log file. The logged error descriptions provide detailed information to help you solve problems faster.

The default operation of event script tracing is to log important events in a file called escript.log located in the /var/log directory. When the file escript.log reaches 128 kilobytes (KB), it is renamed with a number 0 through 9 (in ascending order) appended to the end of the file and then compressed. The resulting files are escript.log.0.gz, then escript.log.1.gz, until there are 10 trace files. Then the oldest trace file (escript.log.9.gz) is overwritten. (For more information about how log files are created, see the Junos System Log Messages Reference.)

This section discusses the following topics:

Minimum Configuration for Enabling Traceoptions for Event Scripts

If no event script trace options are configured, the simplest way to view the trace output of an event script is to configure the output trace flag and issue the show log escript.log | last command. To do this, perform the following steps:

  1. If you have not done so already, enable an event script by including the file statement at the [edit event-options event-script] hierarchy level:

    [edit event-options event-script]user@host# set file filename
  2. Enable trace options by including the traceoptions flag output statement at the [edit event-options event-script] hierarchy level:

    [edit event-options event-script]user@host# set traceoptions flag output
  3. Issue the commit command:

    [edit]user@host# commit
  4. Display the resulting trace messages recorded in the /var/log/escript.log file. At the end of the log is the output generated by the event script you enabled in Step 1 after a configured event policy is triggered and invokes the script. To display the end of the log, issue the show log escript.log | last operational mode command:

    [edit]user@host# run show log escript.log | last

Table 22 summarizes useful filtering commands that display selected portions of the escript.log file.

Table 22: Event Script Tracing Operational Mode Commands

Task

Command

Display logging data associated with all event script processing.

show log escript.log

Display processing for only the most recent operation.

show log escript.log | last

Display processing for script errors.

show log escript.log | match error

Display processing for a particular script.

show log escript.log | match filename

Example: Minimum Configuration for Enabling Traceoptions for Event Scripts

Display the trace output of the event script file source-route.xsl:

[edit]event-options {event-script {file source-route.xsl;traceoptions flag output;}}
[edit]user@host# commit[edit]user@host# run show log escript.log | last

Configuring Tracing of Event Scripts

You cannot change the directory (/var/log) to which trace files are written. However, you can customize other trace file settings by including the following statements at the [edit event-options event-script traceoptions] hierarchy level:

[edit event-options event-script traceoptions]file <filename> <files number> <size size> <world-readable | no-world-readable>;flag all;flag events;flag input;flag offline;flag output;flag rpc;flag xslt;no-remote-trace;

These statements are described in the following sections:

Configuring the Event Script Log Filename

By default, the name of the file that records trace output is escript.log. You can specify a different name by including the file statement at the [edit event-options event-script traceoptions] hierarchy level:

Configuring the Number and Size of Event Script Log Files

By default, when the trace file reaches 128 KB in size, it is renamed and compressed to filename.0.gz, then filename.1.gz, and so on, until there are 10 trace files. Then the oldest trace file (filename.9.gz) is overwritten.

You can configure the limits on the number and size of trace files by including the following statements at the [edit event-options event-script traceoptions file <filename>] hierarchy level:

[edit event-options event-script traceoptions file <filename>]files number size size;

For example, set the maximum file size to 640 KB and the maximum number of files to 20. When the file that receives the output of the tracing operation (filename) reaches 640 KB, it is renamed and compressed to filename.0.gz, and a new file called filename is created. When filename reaches 640 KB, filename.0.gz is renamed filename.1.gz and filename is renamed and compressed to filename.0.gz. This process repeats until there are 20 trace files. Then the oldest file (filename.19.gz) is overwritten.

The number of files can range from 2 through 1000 files. The file size can range from 10 KB through 1 gigabyte (GB).

Note:

If you set either a maximum file size or a maximum number of trace files, you also must specify the other parameter and a filename.

Configuring Access to Event Script Log Files

By default, access to the event script log file is restricted to the owner. You can manually configure access by including the world-readable or no-world-readable statement at the [edit event-options event-script traceoptions file <filename>] hierarchy level.

[edit event-options event-script traceoptions file <filename>](world-readable | no-world-readable);

The no-world-readable statement restricts event script log access to the owner. The world-readable statement enables unrestricted access to the event script log file.

Configuring the Event Script Trace Operations

By default, only important events are logged. You can configure the trace operations to be logged by including the following statements at the [edit event-options event-script traceoptions] hierarchy level:

[edit event-options event-script traceoptions]flag all;flag events;flag input;flag offline;flag output;flag rpc;flag xslt;

Table 23 describes the meaning of the event script tracing flags.

Table 23: Event Script Tracing Flags

Flag

Description

Default Setting

all

Trace all operations.

Off

events

Trace important events.

On

input

Trace event script input data.

Off

offline

Generate data for offline development.

Off

output

Trace event script output data.

Off

rpc

Trace event script RPCs.

Off

xslt

Trace the Extensible Stylesheet Language Transformations (XSLT) library.

Off