Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
Automation Scripting User Guide
Table of Contents Expand all
list Table of Contents
file_download PDF
{ "lLangCode": "en", "lName": "English", "lCountryCode": "us", "transcode": "en_US" }
English
keyboard_arrow_right

Trace SNMP Script Processing on Devices Running Junos OS

date_range 29-Nov-23

SNMP script tracing operations track SNMP 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 SNMP script tracing is to log important events, which include errors, warnings, progress messages, and script processing events, in the /var/log/snmp.log file on the device. When the file snmp.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 snmp.log.0.gz, then snmp.log.1.gz, until there are 10 trace files. Then the oldest trace file (snmp.log.9.gz) is overwritten.

Minimum Configuration for Enabling Traceoptions for SNMP Scripts

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

  1. If you have not done so already, enable an SNMP script by including the file statement at the [edit system scripts snmp] hierarchy level.

    content_copy zoom_out_map
    [edit system scripts snmp]
    user@host# set file filename oid oid
    
  2. Enable trace options by including the traceoptions flag output statement at the [edit system scripts snmp] hierarchy level.

    content_copy zoom_out_map
    [edit system scripts snmp]
    user@host# set traceoptions flag output
    
  3. Commit the configuration.

    content_copy zoom_out_map
    [edit]
    user@host# commit
    
  4. To display the resulting trace messages recorded at the end of the /var/log/snmp.log file, issue the show log snmp.log | last operational mode command.

    content_copy zoom_out_map
    [edit]
    user@host# run show log snmp.log | last
    

Table 1 summarizes useful filtering commands that display selected portions of the snmp.log file.

Table 1: SNMP Script Tracing Operational Mode Commands

Task

Command

Display logging data associated with all SNMP script processing.

show log snmp.log

Display processing for only the most recent operation.

show log snmp.log | last

Display processing for script errors.

show log snmp.log | match error

Display processing for a particular script.

show log snmp.log | match filename

Example: Minimum Configuration for Enabling Traceoptions for SNMP Scripts

Display the trace output of the SNMP script file sample_snmp.slax in the default SNMP script log file:

content_copy zoom_out_map
[edit]
system {
    scripts {
        snmp {
            file sample_snmp.slax {
                oid .1.3.6.1.4.1.2636.13.61.1.9.1.1;
            }
            traceoptions {
                flag output;
            }
    }
}
content_copy zoom_out_map
[edit]
user@host# commit and-quit
content_copy zoom_out_map
user@host> show snmp mib get .1.3.6.1.4.1.2636.13.61.1.9.1.1.1
juniperMIB.13.61.1.9.1.1.1 = 211
user@host> show log snmp.log | last
Mar  1 11:00:09 snmp script processing begins
Mar  1 11:00:09 running snmp script 'sample_snmp.slax'
Mar  1 11:00:09 opening snmp script '/var/run/scripts/snmp//sample_snmp.slax'
Mar  1 11:00:09 snmp script input
Mar  1 11:00:09 begin dump
<?xml version="1.0" standalone="yes"?>
<snmp-script-input>
  <snmp-action>get</snmp-action>
  <snmp-oid>.1.3.6.1.4.1.2636.13.61.1.9.1.1.1</snmp-oid>
</snmp-script-input>
Mar  1 11:00:09 end dump
Mar  1 11:00:09 reading snmp script 'sample_snmp.slax'
Mar  1 11:00:09 snmp script output
Mar  1 11:00:09 begin dump
<?xml version="1.0"?>
<snmp-script-results>
  <snmp-oid>.1.3.6.1.4.1.2636.13.61.1.9.1.1.1</snmp-oid>
  <snmp-type>Integer32</snmp-type>
  <snmp-value>211</snmp-value>
</snmp-script-results>
Mar  1 11:00:09 end dump
Mar  1 11:00:09 inspecting snmp output 'sample_snmp.slax'
Mar  1 11:00:09 sample_snmp.slax triggered for oid = .1.3.6.1.4.1.2636.13.61.1.9.1.1.1, with type = Integer32, and with value = 211
Mar  1 11:00:09 finished snmp script 'sample_snmp.slax'
Mar  1 11:00:09 snmp script processing ends

Configuring Tracing of SNMP 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 system scripts snmp traceoptions] hierarchy level:

content_copy zoom_out_map
[edit system scripts snmp 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 SNMP Script Log Filename

By default, the name of the file that records trace output is snmp.log. You can specify a different name by including the file statement at the [edit system scripts snmp traceoptions] hierarchy level.

content_copy zoom_out_map
[edit system scripts snmp traceoptions]
file filename;

Configuring the Number and Size of SNMP 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 system scripts snmp traceoptions file filename] hierarchy level:

content_copy zoom_out_map
[edit system scripts snmp 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 SNMP Script Log Files

By default, access to the SNMP 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 system scripts snmp traceoptions file filename] hierarchy level.

content_copy zoom_out_map
[edit system scripts snmp traceoptions file filename]
(world-readable | no-world-readable);

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

Configuring the SNMP Script Trace Operations

By default, the traceoptions events flag is turned on, regardless of the configuration settings, and only important events are logged. This includes errors, warnings, progress messages, and script processing events. You can configure the trace operations to be logged by including the following statements at the [edit system scripts snmp traceoptions] hierarchy level:

content_copy zoom_out_map
[edit system scripts snmp traceoptions]
flag all;
flag events;
flag input;
flag offline;
flag output;
flag rpc;
flag xslt;

Table 2 describes the meaning of the SNMP script tracing flags.

Table 2: SNMP Script Tracing Flags

Flag

Description

Default Setting

all

Trace all operations.

Off

events

Trace important events, including errors, warnings, progress messages, and script processing events.

On

input

Trace SNMP script input data.

Off

offline

Generate data for offline development.

Off

output

Trace SNMP script output data.

Off

rpc

Trace SNMP script RPCs.

Off

xslt

Trace the Extensible Stylesheet Language Transformations (XSLT) library.

Off

footer-navigation