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

Example: Configuring an Event Policy to Upload Files

date_range 29-Nov-23

This example configures event policy actions that upload relevant files to a specified location for analysis.

Requirements

Before you begin:

Overview

When an event policy action generates output files, you can archive the files for later analysis. Similarly, you might want to archive system files, including system log files, core files, and configuration files, from the time an event occurs. You can configure an event policy to upload existing system files or to upload the output files generated from an invoked event-script or command at the time an event occurs. This section outlines the configuration required for uploading each of these output files using an event policy.

When you configure an event policy to upload files, the device uploads the relevant files to the location referenced in the destination statement configured for that event policy action. You must specify a destination name that is configured at the [edit event-options destinations] hierarchy level.

In this example, policy1 consists of the following statements, where e1 is the triggering event. The example then configures the event policy to upload a log file and the committed configuration file as well as the output files generated from the execute-commands and event-script actions.

content_copy zoom_out_map
[edit event-options policy policy1]
events e1;
then {
    execute-commands {
        commands {
            "show interfaces brief ge-*";
        }
    }
    event-script event-script1;
}

Configuration

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them in a text file, remove any line breaks, change any details necessary to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level:

content_copy zoom_out_map
set event-options policy policy1 then upload filename /var/log/messages destination mgmt-archives transfer-delay 4
set event-options policy policy1 then upload filename /var/log/messages destination mgmt-archives retry-count 5 retry-interval 4
set event-options policy policy1 then upload filename /var/log/messages destination mgmt-archives user-name admin
set event-options policy policy1 then upload filename /var/log/messages destination mgmt-server
set event-options policy policy1 then upload filename committed destination mgmt-archives
set event-options policy policy1 then execute-commands output-filename ge-interfaces
set event-options policy policy1 then execute-commands destination mgmt-archives transfer-delay 5
set event-options policy policy1 then execute-commands destination mgmt-archives retry-count 5 retry-interval 4
set event-options policy policy1 then event-script event-script1 output-filename policy1-script-output
set event-options policy policy1 then event-script event-script1 destination mgmt-archives transfer-delay 5
set event-options policy policy1 then event-script event-script1 destination mgmt-archives retry-count 5 retry-interval 4

Uploading System Files

Step-by-Step Procedure

Configure the event policy policy1 to upload the system file /var/log/messages to the archive sites mgmt-archives and mgmt-server. Additionally, upload the committed configuration to the archive site mgmt-archives. The destination archive sites should already be configured at the [edit event-options destinations] hierarchy level

  1. Configure the upload statement, and include the file to archive and the destination archive site.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set upload filename /var/log/messages destination mgmt-archives
    bsmith@R1# set upload filename /var/log/messages destination mgmt-server
    
  2. To upload the committed configuration file, specify the filename value as committed.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set upload filename committed destination mgmt-archives
    
  3. (Optional) Configure the transfer delay associated with each file and destination.

    The following command configures a 4-second transfer delay when the /var/log/messages file is uploaded to the mgmt-archives destination. If you also configure a transfer delay for the destination, the total delay is the sum of the two delays.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set upload filename /var/log/messages destination mgmt-archives transfer-delay 4
    
  4. (Optional) Configure the retry count and retry interval associated with each file and destination.

    In this example, if the /var/log/messages file fails to upload to the mgmt-archives site, the system attempts the upload up to 5 more times and waits 4 seconds in between each attempt.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set upload filename /var/log/messages destination mgmt-archives retry-count 5 retry-interval 4
    
  5. (Optional) Configure the username for the file's upload operation. The system uploads the file using the privileges of the specified user.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set upload filename /var/log/messages destination mgmt-archives user-name admin
    
  6. Commit the configuration.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# commit
    

Uploading Command Output Files

Step-by-Step Procedure

When the event policy invokes the execute-commands action, the command output can be written to a file. Configure the event policy policy1 to write command output to a file and upload the generated file to the destination mgmt-archives, which is already configured at the [edit event-options destinations] hierarchy level.

  1. Define a descriptive string that will be included in the filename of the output file.

    content_copy zoom_out_map
    [edit event-options policy policy1 then] 
    bsmith@R1# set execute-commands output-filename ge-interfaces
    
  2. Configure the destination statement to upload the generated file to the specified archive site.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set execute-commands destination mgmt-archives
    
  3. (Optional) Configure the transfer delay for the upload operation, which in this example is 5 seconds.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set execute-commands destination mgmt-archives transfer-delay 5
    
  4. (Optional) Configure the retry count and retry interval for the upload operation.

    In this example, if the upload operation fails, the system attempts the upload up to 5 more times and waits 4 seconds in between each attempt.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set execute-commands destination mgmt-archives retry-count 5 retry-interval 4
    
  5. Commit the configuration.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# commit
    

Uploading Event Script Output Files

Step-by-Step Procedure

When the event policy invokes an event script, the script output can be written to a file. Configure the event policy policy1 to write event-script output to a file and upload the generated file to the destination mgmt-archives, which is already configured at the [edit event-options destinations] hierarchy level. In this example, the event policy invokes an event script named event-script1.

  1. Define a descriptive string that will be included in the filename of the output file.

    content_copy zoom_out_map
    [edit event-options policy policy1 then] 
    bsmith@R1# set event-script event-script1 output-filename policy1-script-output
    
  2. Configure the destination statement to upload the generated file to the desired archive site.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set event-script event-script1 destination mgmt-archives
    
  3. (Optional) Configure the transfer delay for the upload operation, which in this example is 5 seconds.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set event-script event-script1 destination mgmt-archives transfer-delay 5
    
  4. (Optional) Configure the retry count and retry interval for the upload operation.

    In this example, if the upload fails, the system attempts the upload up to 5 more times and waits 4 seconds in between each attempt.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# set event-script event-script1 destination mgmt-archives retry-count 5 retry-interval 4
    
  5. Commit the configuration.

    content_copy zoom_out_map
    [edit event-options policy policy1 then]
    bsmith@R1# commit
    

Results

content_copy zoom_out_map
[edit event-options policy policy1 then]
upload filename /var/log/messages destination mgmt-archives {
    user-name admin;
    transfer-delay 4;
    retry-count 5 retry-interval 4;
}
upload filename /var/log/messages destination mgmt-server
upload filename committed destination mgmt-archives;
execute-commands {
    commands {
        "show interfaces brief ge-*";
    }
    output-filename ge-interfaces;
    destination mgmt-archives {
        transfer-delay 5;
        retry-count 5 retry-interval 4;
    }
}
event-script event-script1 {
    output-filename policy1-script-output;
    destination mgmt-archives {
        transfer-delay 5;
        retry-count 5 retry-interval 4;
    }
}

Verification

Verifying the Upload

Purpose

When the configured event triggers the event policy, the system uploads the generated output files and the specified system files to the URL defined in the mgmt-archives destination. On the destination server, verify that all files have been uploaded.

Action

On the destination server, verify that all uploaded files are present.

content_copy zoom_out_map
% ls
R1_20111209_213452_ge-interfaces
R1_20111209_213409_juniper.conf.gz
R1_20111209_212941_messages
R1_20111209_212619_policy1-script-output

Meaning

Note that the filename format for each file includes the device name, the filename, and the date and time stamp.

If all of the uploaded files are present, the event policy and upload actions are working correctly. If none of the files are uploaded, verify that the destination is configured and that the archive site URL and any required password is entered correctly. For information about configuring destinations, see Example: Define Destinations for File Archiving by Event Policies. If a portion of the files are missing, configure a longer transfer delay and increase the retry count and retry interval for those files.

footer-navigation