Effective December 3, NetApp adopts Microsoft’s Business-to-Customer (B2C) identity management to simplify and provide secure access to NetApp resources.
For accounts that did not pre-register (prior to Dec 3), access to your NetApp data may take up to 1 hour as your legacy NSS ID is synchronized to the new B2C identity.
To learn more, read the FAQ and watch the video.
Need assistance? Complete this form and select “Registration Issue” as the Feedback Category.

Microsoft Virtualization Discussions

SnapMirror log parser

mg
NetApp

Hello,

While looking at a way to automate SnapMirror logs extraction and consolidation, I've found Get-NaSystemLog -SnapMirror in the toolkit.

I've written a script close to the parser available in Tool Chest on support website, feel free to send me your comments.

Script requires PS toolkit, so if not loaded, change path to it accordingly in the script.

NEW VERSION 0.2 with following changes:

- Added "Last" parameter to process only <X> last lines from SnapMirror log

- Fixed transfer hash valid key detection

Enjoy!

Michel

7 REPLIES 7

mcgue

Great script Michel!  I made a few edits to allow the optional reading from a SnapMirror log file as compared to getting the data from a controller.  I have attached it to this reply.

mcgue

I added a few modifications (getting data from yesterday and time/date stamping the results file).  Attached is the results of those changes.

TPHANENDRA

Hi,

I am beginner to PowerShell, Could anyone please tell me what is the Controller input and how I have to run the smsv-parser program.

Regards,

Phani T

mg
NetApp

Hello,

You can get help about the script using "get-help" command against the script:

PS D:\Scripts> get-help .\smsv-parser.ps1  -detailed

NAME

    D:\Scripts\smsv-parser.ps1

SYNOPSIS

    Produce a CSV file from a specified controller snapmirror.log

SYNTAX

    D:\Scripts\smsv-parser.ps1 [-Controller] <String> [[-Out] <String>] [[-Last] <Int32>] [-LastWeek] [<CommonParameters>]

DESCRIPTION

    Produce a CSV file from a specified controller snapmirror.log

PARAMETERS

    -Controller <String>

        Storage controller which to retrieve logs from

    -Out <String>

        Optional output file name. If not specified, output file will be in current folder

        and will be name "smsv-parser_<controller name>.csv

    -Last <Int32>

        Optional number to retrieve <number> last lines from logs

    -LastWeek [<SwitchParameter>]

        Optional switch to retrieve logs of the previous week (Monday to Sunday)

    <CommonParameters>

        This cmdlet supports the common parameters: Verbose, Debug,

        ErrorAction, ErrorVariable, WarningAction, WarningVariable,

        OutBuffer and OutVariable. For more information, type,

        "get-help about_commonparameters".

    -------------------------- EXAMPLE 1 --------------------------

    C:\PS>smsv-parser.ps1 -Controller naluxfas02

     

    -------------------------- EXAMPLE 2 --------------------------

    C:\PS>smsv-parser.ps1 -Controller naluxfas02 -Out file.csv

     

    -------------------------- EXAMPLE 3 --------------------------

    C:\PS>smsv-parser.ps1 -Controller naluxfas02 -Out file.csv -LastWeek

    -------------------------- EXAMPLE 4 --------------------------

    C:\PS>smsv-parser.ps1 -Controller naluxfas02 -Out file.csv -Last 50

vinith

Hello, Its a CMDLET which would let you extract this information.

From your powershell prompt type in below command to get a detailed help regarding this cmdlet

PS C:\Windows\system32> Get-Help Get-NaSystemLog -Detailed

Check out http://www.powershellpro.com/ , it would help you in getting started with powershell.

mcgue

Michel,

Nice work!  Definitely helpful.  I'm wondering if some code could be added to have an option of opening a copy of the snapmirror log from a local drive (well, I'm sure it could be, I'm still cutting my teeth on PS still so I'm challenging myself to figure it out too!).

mg
NetApp

Thanks!

I had a quick look and there's -Path parameter:

Get-NaSystemLog -SnapMirror [-EventType <String[]>] [-StartTime <DateTime>] [-EndTime <DateTime>] [[-Path] <String>] [-Follow] [-Controller <NaController>] [<CommonParameters>]

Unfortunately -Controller parameter is mandatory, meaning it can't parse a local file, but you could possibly copy the file you got to a local Filer, then parse that specific file:

PS C:\temp> Get-NaSystemLog -SnapMirror -Path /vol/vol0/etc/log/snapmirror.mg

TimeStampDT            Type   EventInfo

-----------            ----   ---------

12/1/2012 1:35:02 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root Start

12/1/2012 1:35:02 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data Start

12/1/2012 1:35:04 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root End (124 KB)

12/1/2012 1:35:05 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data End (7948 KB)

12/1/2012 1:50:00 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data Request (Scheduled)

12/1/2012 1:50:00 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root Request (Scheduled)

12/1/2012 1:50:03 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data Start

12/1/2012 1:50:03 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root Start

12/1/2012 1:50:04 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root End (104 KB)

12/1/2012 1:50:05 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data End (8300 KB)

12/1/2012 2:05:00 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root Request (Scheduled)

12/1/2012 2:05:00 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data Request (Scheduled)

12/1/2012 2:05:02 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root Start

12/1/2012 2:05:03 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data Start

12/1/2012 2:05:04 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root End (256 KB)

12/1/2012 2:05:05 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data End (8188 KB)

12/1/2012 2:20:00 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data Request (Scheduled)

12/1/2012 2:20:00 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root Request (Scheduled)

12/1/2012 2:20:02 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root Start

12/1/2012 2:20:02 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data Start

12/1/2012 2:20:03 AM   dst    naluxfas01:naluxvfvm01_root naluxfas02:naluxvfvm01_root End (96 KB)

12/1/2012 2:20:05 AM   dst    naluxfas01:naluxvfvm01_data naluxfas02:naluxvfvm01_data End (8304 KB)

Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner
Public