Last xx Events. Filtered. 10.6; 10.4.2; 9.5.1
Interface created Today Database query
The following query will check the and report which Interfaces where created base on earliest detailed record reported.
The 'daysback' variable will check a specific day minus today. ie; today - 1 = yesterday.
Here is a Query sample output shows Node+interface (fullname) date-searching for & converted to an Int, and firstPolled date & time :
fullname | nodeid | interfaceid | searchdate | searchdateG | firstpolleddt | firstpolled |
cur-3550 - FastEthernet0/2 · test | 141 | 641 | 3/1/2018 | 43158 | 3/1/2018 | 11:31:33.7 |
cur-3550 - Port-channel1 - Po1 | 141 | 642 | 3/1/2018 | 43158 | 3/1/2018 | 11:31:33.7 |
cur-3550 - Port-channel2 · Aggregated ports to Server (LACP) | 141 | 643 | 3/1/2018 | 43158 | 3/1/2018 | 11:31:33.7 |
SUPPORT-15 - vmxnet3 Ethernet Adapter · Ethernet0 | 275 | 644 | 3/1/2018 | 43158 | 3/1/2018 | 11:35:05.9 |
tex-2901.lab.tex - Embedded-Service-Engine0/0 - Em0/0 | 54 | 636 | 3/1/2018 | 43158 | 3/1/2018 | 11:27:12.0 |
-- SQL query
declare @daysback int
set @daysback = 0
select fullname , nodeid, interfaceid ,
convert(date,getdate()-1) as searchdate,
convert( int, cast( convert(date,getdate()) as datetime))-@daysback as searchdateG,
(
SELECT TOP 1 convert(varchar,i.datetime,101) as dt
FROM [dbo].[InterfaceTraffic_Detail] as i
where i3.InterfaceID = i.InterfaceID
and convert( int, cast( convert(date,getdate()) as datetime))-@daysback = (
SELECT top 1 min( convert( int, cast( convert(varchar,i2.datetime,101) as datetime) ) )
FROM [dbo].[InterfaceTraffic_Detail] as i2 where i.interfaceid = i2.InterfaceID
)
group by i.datetime
order by i.datetime
) as firstpolleddt,
(
SELECT TOP 1 i.datetime
FROM [dbo].[InterfaceTraffic_Detail] as i
where i3.InterfaceID = i.InterfaceID
and convert( int, cast( convert(date,getdate()) as datetime))-@daysback = (
SELECT top 1 min( convert( int, cast( convert(varchar,i2.datetime,101) as datetime) ) )
FROM [dbo].[InterfaceTraffic_Detail] as i2 where i.interfaceid = i2.InterfaceID
)
group by i.datetime
order by i.datetime
) as firstpolled
from [dbo].[Interfaces] i3
where
i3.InterfaceID = (
SELECT TOP 1 i.InterfaceID
FROM [dbo].[InterfaceTraffic_Detail] as i
where i3.InterfaceID = i.InterfaceID
and convert( int, cast( convert(date,getdate()) as datetime))-@daysback = (
SELECT top 1 min( convert( int, cast( convert(varchar,i2.datetime,101) as datetime) ) )
FROM [dbo].[InterfaceTraffic_Detail] as i2 where i.interfaceid = i2.InterfaceID
)
group by i.interfaceid
order by i.interfaceid
)
order by fullname
Traffic Report - Previous Month
hrSystemReboot.AlertDefinition
SWQL - Active Alerts Report
linktree.py
pathfix.py
finddiv.py
Node Uptime Report (swql)
Someone asked for a node up report and I came up with this one. The person asked for the ability to search for vendor as well as node name and IP address. And duration in a easy to read format.
SELECT
n.Caption AS [Node Name]
,DetailsUrl AS [_LinkFor_Node Name]
,'/Orion/images/StatusIcons/Small-' + StatusIcon AS [_IconFor_Node Name]
,n.IP_Address as IP_Address
,DetailsUrl AS [_LinkFor_IP_Address]
,'/NetPerfMon/Images/Vendors/' + n.VendorIcon as [_IconFor_IP_Address]
,tostring(tolocal(n.LastBoot)) as LastBoot
,CONCAT(HOURDIFF(tolocal(n.LastBoot),getdate())/24,' Day(s) ',
HOURDIFF(tolocal(n.LastBoot),getdate())-(HOURDIFF(tolocal(n.LastBoot),getdate())/24)*24,'h ',
MINUTEDIFF(tolocal(n.LastBoot),getdate())-(MINUTEDIFF(tolocal(n.LastBoot),getdate())/60)*60,'m') AS Duration
FROM Orion.Nodes n
WHERE n.LastBoot IS NOT NULL
and
(n.caption like '%${SEARCH_STRING}%'
or n.ip_address like '%${SEARCH_STRING}%'
or n.vendor like '%${SEARCH_STRING}%')
ORDER BY MINUTEDIFF(tolocal(n.LastBoot),getdate()) desc
Thanks
Amit
Group status bullseye style charts
Juniper CPU & Memory (rev 4)
CheckPoint Firewalls Universal Device Pollers - v2
Based on the brilliant poller from humejo
Checkpoint Firewalls Universal Device Pollers
I added the following:
fwConnTableLimit
fwNumConn
fwPeakNumConn
Cisco_2960_Fan_Status.UnDP
Monitor Cisco ISE appliance in SolarWinds
So you wanna add your ISE appliance in SolarWInds and monitor it via SNMPv3. Sounds straight forward enough, right? Well, not so much.
Here’s how I got my ISE appliances added to SolarWinds.
First you need to access the CLI of your ISE appliance.
You can view SNMP info in the CLI using this command: sh run | inc snmp
You need to add in your SNMP if it isn’t already enabled.
Go into config mode then run:
snmp-server enable
Next you will need to know your ‘EngineID’. This is the EngineID in SolarWinds.
This can be found by going to your SolarWinds main server.
Open SolarWinds Database Manager
Drill down in the SolarWinds DB and look for “AllEngines”
Execute the query there and it will display your EngineID.
(Or you can run this as a SQL query: SELECT TOP 1000 * FROM [dbo].[AllEngines])
Once you have your EngineID you need to go back to your ISE CLI
Get back in enable mode and run:
snmp-server engineID 0x2
(this assumes your EngineID is ‘2’)
Your EngineID must be put in HEX format.
Next you need to enter in your SNMPv3 creds
snmp-server host [IP ADDRESS OF YOUR SW SERVER] version 3 [SNMPv3 USERNAME] 0x2 plain authpassword privpassword
(You can use hash instead of plain if you wish)
Also:
snmp-server user [SNMPv3 USERNAME] v3 plain authpassword privpassword
(Again, you can use hash instead of plain here)
So now you need to exit out of enable mode and wr mem
You may want to verify your edits by running sh run | inc snmp again
Once you have your creds in your ISE appliance(s), now we have to get them into SolarWinds.
Now, here’s the REAL trick.
Instead of manually ADDING the node into SolarWInds, you need to do a Network Discovery for your nodes.
You can run the discovery on just the IP address or range of IP’s your ISE appliances are on.
To do this, go to: Settings > Network Discovery
Click on ‘Add New Discovery’
Follow the wizard and do a scan on either the individual IP addresses of each node one at a time, or enter the IP subnet the appliances are on.
The discovery should pick up the appliances and add them as managed nodes using SNMPv3
I ran into this issue and had to open a ticket with Cisco TAC. We messed with this for far too long. We kept manually adding the nodes and they would fail to use SNMPv3. Once we did a network discovery, using the exact same creds, it just worked.
I hope this helps someone avoid the headache of getting your ISE appliances monitored by SolarWinds.
Alerting on syslog from Orion web console.
Cisco NCS5501 CPU & Memory
001Network_Cisco_OTV_Inactive.xml
View Dynamic Baselines for All Nodes In NPM
How to create a simple custom view of multiple interfaces' bandwidth utilization
I've used custom views to show clients and my Team many different things that NPM monitors, and those folks really appreciate the service. You can be a rock star in their eyes when you give them something that helps them improve how they and their clients understand their systems and their performance.
Here's how to build a custom View that shows current and recent WAN interface utilization between routers connecting six different data centers. Remember, your new View doesn't have to be of just interfaces on the same switch, or on the same router.
You can build this kind of report for as many interfaces as you'd like, from any switch or router or device interface that's monitored by your NPM. This one shows a single WAN interface on six different routers that connect into the same MPLS cloud:
Here's how to do it:
Create the view:
1. From NPM, go to Settings > Manage Views > Add
2. Customize the new view:
- Name it intuitively
- Select Summary (there are MANY types of views. Read up on them, test some to get a feel for the extreme versatility of NPM)
- Click Submit
3. Edit the View.
- You can change its name if you want.
- I chose not to enable Left Navigation--this will be simple, and won't load a lot of info.
- I added a Custom HTML Resource to Column 1, then cloned it three times. Next I moved one instance into Column 2, and then cloned that one twice. I ended up with three Custom HTML Resources in each column.
- I set the width to 500 px for each
- I set No View Limitation (but you can add one in if you need it)
- Click Done or Preview. Preview lets you see it right away, without assigning it to any Menu Bar. Plus, you can edit those custom HTML fields.
4. Here's the sweet spot to make you rock in the eyes of your boss & peers because it gives you the power to make a really useful view:
- Open a second browser window to your NPM
- Browse to a router node and open it
- Open the interface that faces the WAN
- Look at the URL bar and note the NetObject= section. Example:
- http://your_server_name_here/Orion/Interfaces/InterfaceDetails.aspx?NetObject=I:XXXXX&view=InterfaceDetails
- Copy or write or memorize the NetObject number for use in the next step
5. Edit your new View in Preview, or assign it to a Menu Bar and open it
- Click Edit in the top left Custom HTML window
- Give it an intuitive Title
- Fill in the Subtitle if that helps you better identify the interface or feature you're displaying
- Copy and paste this into the html window:
<img src="/Orion/Netperfmon/Chart.aspx?ChartName=MMAvgBps&Title=&SubTitle=&SubTitle2=&Width=640&Height=0&NetObject=I:XXXX&CustomPollerID=&SampleSize=1H&Period=Last 10 Days&FontSize=1&NetObjectPrefix=I&SubsetColor=&RYSubsetColor=&Printable=true&ShowTrend=True&ResourceID=27" />
- Where I've put in the X's, remove them and enter in the NetObject ID number you wrote down from the previous step
- Click Submit
The new page should open, but this time the top left window won't say Custom HTML, it'll show the bandwidth used by that router's WAN interface for the last 10 days:
Now repeat this for every Custom HTML entry you've made, but change the NodeID info to the Node ID that's shown in the Interface Details page URL for new/different WAN routers and interfaces.
OK, you've made a new View. But your team can't access it easily until you assign your new View to the Menu Bar they use. If you don't know how to do that . . .
Here's how to define a new View to add to a Menu Bar:
- Go to NPM > Settings > Customize Menu Bars
- Edit the Menu Bar you or your team will use to access your new View
- Find your new View in the Available Items column on the left
- Drag it to the right column, drop it in where you want it.
If you can't find your new View, you'll need to discover its URL. Follow this process:
- Open a second browser window and Edit the View by clicking the Preview open
- Copy the URL for the new View when you're previewing it
- Go back to the original browser window from step 3 and click Add
- Type in the Name of your View, paste in the URL address, give it a good Description
- I clicked the option to Open in a New Window. It's your choice.
- Click OK
Now go back to NPM's Home Page, find the new View in the Menu Bar, and click on it.
Voila!
Tweaking and tuning:
If you're not afraid of a little keyboard editing of html, you can easily change the 10 days to show the last 7 days or last 23 hours or last 17 minutes or last pretty-much-anything. Here's how:
Look for "SampleSize" and "Period" in the code you copied & pasted
<img src="/Orion/Netperfmon/Chart.aspx?ChartName=MMAvgBps&Title=&SubTitle=&SubTitle2=&Width=640&Height=0&NetObject=I:XXXX&CustomPollerID=&SampleSize=1H&Period=Last 10 Days&FontSize=1&NetObjectPrefix=I&SubsetColor=&RYSubsetColor=&Printable=true&ShowTrend=True&ResourceID=27" />
Note the SampleSize is 1H, or One Hour.
Node the Period is the Last 10 Days
Edit each window in your view and change the SampleSize and Period to whatever works best for you. Keep in mind that some combinations of SampleSize and Period don't go well together (e.g.: SampleSize=1M and Period=Last 10 Months) because NPM needs to have you be reasonable. If you want a graph showing changes every 1 minute, you have to be polling & collecting the data pretty frequently. Pick a Period that's reasonable for seeing good granularity of 1 minute points, like Last 20 Minutes. If you just see points instead of a line in the chart, you've picked a combination of sample size & period that's too granular for what your NPM has polled. Adjust until you've got something that meets your needs.
Remember to keep the spacing in the html code exactly the same as the example I show above. If you add a space between words, or remove one, you risk breaking the pretty graph output.
Some examples:
Show the Last 3 Hours, in 10-minute increments uses this code:
<img src="/Orion/Netperfmon/Chart.aspx?ChartName=MMAvgBps&Title=&SubTitle=&SubTitle2=&Width=640&Height=0&NetObject=I:XXXX&CustomPollerID=&SampleSize=10M&Period=Last 3 Hours&FontSize=1&NetObjectPrefix=I&SubsetColor=&RYSubsetColor=&Printable=true&ShowTrend=True&ResourceID=27" />
Note how the graph automatically changed "Last 10 Days" to "Last 3 Hours" in the title. Sweet!
Suppose you like the 10 minute samples, but want to show the last 24 hours. Just change "Last 10 Hours" to "Last 24 Hours":
<img src="/Orion/Netperfmon/Chart.aspx?ChartName=MMAvgBps&Title=&SubTitle=&SubTitle2=&Width=640&Height=0&NetObject=I:25091&CustomPollerID=&SampleSize=10M&Period=Last 24 Hours&FontSize=1&NetObjectPrefix=I&SubsetColor=&RYSubsetColor=&Printable=true&ShowTrend=True&ResourceID=27" />
If it looks great, fire off an e-mail to your Team or your Boss and show off the new functionality you've provided to the organization.
If it doesn't look great, spend a little time fixing it up. Look for typos, fix spelling & punctuation--this is your baby, and folks will judge you by your work.
Swift Packets!
Rick Schroeder