- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
Show module script
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-29-2020 07:23 AM
Hello,
I'm trying to write script to check 7k and 6k modules, by using "show module" command. The status could be more than one (other, unknown, faulty, errdisable, power-deny and power-bad). on the trigger-variables can I use OR to check the status?
Trigger-Variables:
$number int
$status /\w+other/ OR /\w+unknown/ OR /\w+faulty/ OR /\w+errdisable/ OR /\w+power-deny/ OR /\w+power-bad/ string
Thank you,
Re: Show module script
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-29-2020 01:22 PM
I haven't tested OR on Trigger Variables. However, I doubt if it will work.
Since you already have the output of 'show module' handy, you can use the Regular expression Test tool within NetMRI to check if the template matches the output.
To access the test too, Login to Web UI and on a new Tab, navigate to this link
Your-NetMRI-URL/netmri/ccs/tx/regex_test/index.tdf
This should directly open the test tool on the Tab
Re: Show module script
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-30-2020 05:54 PM
I'm uncertain how you expect to actually match on this but you can accomplish the logical OR like this:
$status /(\w+other|\w+unknown|\w+faulty|\w+errdisable|\w+power-deny|\w+power-bad)/ string
Just realize that $status will end up including whatever "\w+" matches before the actual status. If you want to end up with $status containing just the status string, then you'll probably be better off including the "\w+", or whatever uniquely preceeds the status, in the Template.
Re: Show module script
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2020 07:28 AM
Thanks all for replying. I found the solution.
Script-Filter:
$Vendor eq "Cisco" and
$Model in ["N7Kc7010", "WS-C6509-E", "N77c7710"]
#########################################################################
Action:
show module | begin Online | end Module-Type
Action-Description:
Execute the "show module"show module | begin Online | end Module-Type" command and process the output
Action-Commands:
SET: $matchFound = "no"
terminal length 0
show module | begin Online | end Module-Type
Output-Triggers:
Process Output
########################################################################
Trigger:
Process Output
Trigger-Variables:
$modNum int
$state /\w+/
Trigger-Template:
[[$modNum]] [[$state]]
Trigger-Commands: { $state ne "Pass" }
SET: $matchFound = "yes"
Trigger-Commands: { $state eq "Pass" }
SET: $matchFound = "no"
Output-Triggers:
Bad Module
#################################################
Issue:
Bad Module
Issue-ID:
BadModule
Issue-Severity:
error
Issue-Description:
If the above matched the criteria, display an error with affected switch info
Issue-Filter:
$matchFound eq "yes"
Issue-Details:
Host $IPAddress
Name $name
Module_Num $modNum
State $state
## End of Script ##################################################################
Note: Create the Custom Issues first.
## Custom Issues #########################################
Issue ID: BadModule
Name: Bad Module
Component: Devices
Penalty: Stability
Detail Columns:
Host,string
Name,string
Module_Num,string
State,string