I can create a report for existing neighbors, but how do I make one that will show how many neighbor down events happen in a 7 day period? I would like to run it on a group of routers if possible.
Need to create Event report for Neighbor down
How long each interface or node was down.
MS ACCESS QUERY FOR SSL CERTIFICATE EXPIRATION
NPM: 12.2
For those of you who want to know node SSL Certificate expiration dates in your environment, this is how I found SSL Certificate expiration dates for nodes using Microsoft Access. This assumes you have set up SSL Certificate Application/Component monitoring already on nodes of your choice. The table names and columns should be the same across SQL server, MS Acess SQL, and SWQL. To use it in the different areas, you will just need to modify the syntax.
In this example, I am querying a query of network nodes.
SELECT NetworkNodes.NodeID, NetworkNodes.IP_Address, NetworkNodes.Caption, NetworkNodes.StatusDescription, NetworkNodes.Vendor, NetworkNodes.MachineType, NetworkNodes.IOSImage, NetworkNodes.IOSVersion, NetworkNodes.ComponentName, NetworkNodes.ComponentStatus, NetworkNodes.[Days Remaining], NetworkNodes.[Expiration Date], NetworkNodes.StatusOrErrorDescription, NetworkNodes.ComponentMessage, NetworkNodes.UnManaged, NetworkNodes.UnManageFrom, NetworkNodes.UnManageUntil
FROM NetworkNodes
WHERE (((NetworkNodes.ComponentName) Like "*SSL*"))
ORDER BY NetworkNodes.ComponentStatus, NetworkNodes.[Days Remaining];
Node Downtime with Duration and Minimum Length Filtering
**REQUIRES ORION PLATFORM 2018.2 OR ABOVE**
I had assembled this based on a much older SQL report, and then updated it to SWQL, then added some more intelligence to it so you can filter it based on the duration of the outage, search by the device names, and it has a method of letting you know when nodes have been down so long they aged out of the events table.
Based on popular requests I figured it was time to put it out here to make it easier for the Thwackers to find and use. This is intended to be used inside the Custom Query Resource
select n.caption as [Device] -- shows the current status icon , '/Orion/images/StatusIcons/Small-' + n.StatusIcon AS [_IconFor_Device] -- makes a clickable link to the node details , n.DetailsUrl as [_linkfor_Device] -- shows the timestamp of the down event, if there is no timestamp then is says the event was greater than the number of days in your event retention settings , isnull(tostring(t2.[Down Event]),concat('Greater than ',(SELECT CurrentValue FROM Orion.Settings where settingid='SWNetPerfMon-Settings-Retain Events'),' days ago')) as [Down Event] -- shows the timestamp of the up event, unless the object is still down , isnull(tostring(t2.[Up Event]),'Still Down') as [Up Event] -- figures out the minutes between the down and up events, if the object is still down it counts from the down event to now, displays 99999 if we cannot accurately determine the original downtime, and , isnull(MINUTEDIFF(t2.[Down Event], isnull(t2.[Up Event],GETUTCDATE())),99999) as Minutes from orion.nodes n left join (SELECT -- Device nodeid used for our join StartTime.Nodes.NodeID -- Down Event time stamp in local time zone ,ToLocal(StartTime.EventTime) AS [Down Event] -- Up Event time stamp in local time zone ,(SELECT TOP 1 ToLocal(EventTime) AS [EventTime] FROM Orion.Events AS [EndTime] -- picks the first up event that is newer than the down event for this node WHERE EndTime.EventTime >= StartTime.EventTime -- EventType 5 is a node up AND EndTime.EventType = 5 AND EndTime.NetObjectID = StartTime.NetObjectID AND EventTime IS NOT NULL ORDER BY EndTime.EventTime ) AS [Up Event] -- This is the table we are querying FROM Orion.Events StartTime -- EventType 1 is a node down WHERE StartTime.EventType = 1 ) t2 on n.NodeID = t2.nodeid -- this is how I catch nodes that are down but have aged out of the events table where (n.status = 2 or t2.nodeid is not null) -- If you want to filter the results to only show outages of a minimum duration uncomment the below line --and MINUTEDIFF(isnull(t2.[Down Event],(GETUTCDATE()-30)), isnull(t2.[Up Event],GETUTCDATE())) > 60 -- if you want to use this query in a search box of the Custom Query resource uncomment the below line --and n.Caption like '%${SEARCH_STRING}%' order by t2.[down event] desc
Loop1 Systems: SolarWinds Training and Professional Services
- LinkedIN: Loop1 Systems
- Facebook: Loop1 Systems
- Twitter: @Loop1Systems
PDF to Excel Format Conversion is not working?
Hi ,
We are using HA in Solarwinds. Two Main Poller Servers with one VIP and One Load Ba-lancer IP. We have applied SSL cert on load Balancer IP so its working fine. But when I am scheduling a report then its taking Main Poller IP instead of Load Balancer IP and thus Excel Reports are not able to retrieve since Certificate is not from Trusted Host its Self Signed Certificate.
Do Any One know what is the best practice for SSL certs when you are using HA.
NPM Groups do not have Maps subview
I saw in a Youtube video on Solarwinds page (SolarWinds Lab Bits: Orion Maps - YouTube ) that groups can have a Map subview. I have groups that were created prior to 12.3, and I created a new test group after the upgrade, and none of the groups have a Map subview. Has anyone else seen this? I have a case open but wanted to see if anyone has seen this.
Meraki SDWAN Link Status Monitoring
Just recently, a client of mine sent me a challenge to improve their monitoring for their new Meraki SDWAN deployment around Australia.
They had 152 sites, and each site had a private link, an Internet link, and backup 4G link, and a VPN tunnel which ran over the Internet link, and failover to the 4G link if there were issues.
Currently they only had a view to determine if a site was experiencing an issue which would be easily visible to users, i.e. The Internet and private links both failed, causing a failover to 4G.
They wanted a more granular view than that, a view which would show them all of their sites in one window, with an indicator image for MPLS, Internet, 4G, and VPN, so they could see whenever they had any issues on any of their links.
After trawling through the Thwack forums and Google searches, I realized quite quickly that I was going to have to design a solution myself.
We decided to simply utilize NPM to monitor each of the links, with the client being able to get static addresses for each of the connections (including the 4G link!).
So that allowed us to get all the data we needed into Orion so we knew what was going on around their network. Now I just needed to work out how to display that the way they wanted.
I'll add in at this point that I'm not a developer or DBA or anything in the application space. My focus is Network Engineering, so what I put together, detailed below, is based off a lot of googling and trial and error.
I first off needed a way to easily identify what node belonged to which site, and which link it was (i.e. MPLS, Internet, 4G, or VPN).
I went over to my pet favorite for this and created 3 new Custom Properties, ClientEnvironment, ClientSiteID & ClientLinkID.
This allowed me to record the extra data I needed for each of the nodes so I could identify them in queries.
Now I needed to create the view.
I found a limitation with the built in resources for views pretty quickly. I could get the status data for each node pretty easily, and sorting them by the ClientSiteID and ClientLinkID fields allowed me to group them all together, but this wasn't what my client wanted.
This resulted in 4 rows per site, one for each link. My client wanted a single row for each site with 5 columns, one for the site name, and one for each of the link types.
This seems like a silly point to push, only wanting one row per site instead of 4, but when you think about it, they have 152 sites with 4 links each. That's 608 links to monitor!
Looking at 152 rows instead 608 rows to see the status of all your sites does sound a lot more practical.
Researching methods to manipulate the returned data with SWQL found me a bit stuck as I couldn't work out a way to make a returned value into a column.
I'd just like to clarify here that this doesn't mean there isn't a way to do this, I just couldn't find one. If anybody does know how to do this, please reply with some details as I'd love to know!
I moved outside of SolarWinds and opened up Microsoft SQL Server Management Studio on our SQL server to try and find a way to achieve this with SQL, and with a bit of persistence and way too many Chrome tabs opened, I came up with this.
SELECT ROW_NUMBER() OVER (ORDER BY ClientSiteID) AS RowNum, * FROM ( SELECT C.ClientSiteID, C.ClientLinkID, '<img src="/Orion/images/StatusIcons/small-' + N.StatusLED + '">' AS Status FROM NodesCustomProperties AS C LEFT JOIN NodesData AS N ON C.NodeID=N.NodeID WHERE C.ClientEnvironment='Network - Meraki WAN' ) AS SDWANSourceData PIVOT( MAX(Status) FOR ClientLinkID IN([MPLS], [Internet], [4G], [VPN]) ) AS LinkStatus
That's what I was after. A simple view that would give me a row per site, and the status of each link.
Because I had 152 sites to list, I needed to enhance it a little bit to include a row number for each site. This way I could have multiple columns of results, and limit which row numbers were in each.
I wanted to add in a hyperlink to each of the nodes on to its respective status indicators, and that idea sounded easy enough now I was at this point.
I've never regretted my words so quickly in my life!.
I found the best solution to this was to write another version of the above query, but for this one to return the NodeID instead of StatusLED column.
Then I could join those two datasources together, so I now had 9 columns per row, the Site Name, Status Icon for each link, and URL to the Node for each link.
SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY Site1) AS RowNum, * FROM ( SELECT C.ClientSiteID AS Site1, C.ClientLinkID, '<img src="/Orion/images/StatusIcons/small-' + N.StatusLED + '">' AS Status FROM NodesCustomProperties AS C LEFT JOIN NodesData AS N ON C.NodeID=N.NodeID WHERE C.ClientEnvironment='Network - Meraki WAN' ) AS SDWANSourceData PIVOT( MAX(Status) FOR ClientLinkID IN([MPLS], [Internet], [4G], [VPN]) ) AS LinkStatus AS Status LEFT JOIN ( SELECT Site2, '/Orion/NetPerfMon/NodeDetails.aspx?NetObject=N%3a' + CONVERT(varchar, [MPLS]) AS [MPLSLink], '/Orion/NetPerfMon/NodeDetails.aspx?NetObject=N%3a' + CONVERT(varchar, [Internet]) AS [InternetLink], '/Orion/NetPerfMon/NodeDetails.aspx?NetObject=N%3a' + CONVERT(varchar, [4G]) AS [4GLink], '/Orion/NetPerfMon/NodeDetails.aspx?NetObject=N%3a' + CONVERT(varchar, [VPN]) AS [VPNLink] FROM ( SELECT C.ClientSiteID AS Site2, N.NodeID AS NodeID, C.ClientLinkID FROM NodesCustomProperties AS C LEFT JOIN NodesData AS N ON C.NodeID=N.NodeID WHERE C.ClientEnvironment='Network - Meraki WAN' ) AS SDWANSourceData PIVOT( MAX(NodeID) FOR ClientLinkID IN([MPLS], [Internet], [4G], [VPN]) ) AS LinkURL ) AS Link ON Status.Site1 = Link.Site2
Looking good now, but I wanted to merge the Node URL and Node Status values together.
Luckily, this query was primed for that, and all I had to do is add in a few lines into the very top SELECT statement to merge them together in HTML.
SELECT RowNum, Site1 AS Site, '<a href="' + [MPLSLink] + '">' + [MPLS] + '</a>' AS [MPLS], '<a href="' + [InternetLink] + '">' + [Internet] + '</a>' AS [Internet], '<a href="' + [4GLink] + '">' + [4G] + '</a>' AS [4G], '<a href="' + [VPNLink] + '">' + [VPN] + '</a>' AS [VPN] FROM ( SELECT ROW_NUMBER() OVER (ORDER BY Site1) AS RowNum, * FROM ( SELECT C.ClientSiteID AS Site1, C.ClientLinkID, '<img src="/Orion/images/StatusIcons/small-' + N.StatusLED + '">' AS Status FROM NodesCustomProperties AS C LEFT JOIN NodesData AS N ON C.NodeID=N.NodeID WHERE C.ClientEnvironment='Network - Meraki WAN' ) AS SDWANSourceData PIVOT( MAX(Status) FOR ClientLinkID IN([MPLS], [Internet], [4G], [VPN]) ) AS LinkStatus AS Status LEFT JOIN ( SELECT Site2, '/Orion/NetPerfMon/NodeDetails.aspx?NetObject=N%3a' + CONVERT(varchar, [MPLS]) AS [MPLSLink], '/Orion/NetPerfMon/NodeDetails.aspx?NetObject=N%3a' + CONVERT(varchar, [Internet]) AS [InternetLink], '/Orion/NetPerfMon/NodeDetails.aspx?NetObject=N%3a' + CONVERT(varchar, [4G]) AS [4GLink], '/Orion/NetPerfMon/NodeDetails.aspx?NetObject=N%3a' + CONVERT(varchar, [VPN]) AS [VPNLink] FROM ( SELECT C.ClientSiteID AS Site2, N.NodeID AS NodeID, C.ClientLinkID FROM NodesCustomProperties AS C LEFT JOIN NodesData AS N ON C.NodeID=N.NodeID WHERE C.ClientEnvironment='Network - Meraki WAN' ) AS SDWANSourceData PIVOT( MAX(NodeID) FOR ClientLinkID IN([MPLS], [Internet], [4G], [VPN]) ) AS LinkURL ) AS Link ON Status.Site1 = Link.Site2 WHERE RowNum BETWEEN 1 AND 40
Now I had the SQL query I needed to get this data, and on line 38 of the query, I also have the ability to limit which row numbers are returned.
All that was left is to get this data into Orion, and a huge shout out to Dean, one of the SolarWinds Principal Sales Engineers for helping me with this.
I had a bit of trouble working out how to get this data from this SQL query into SolarWinds to display it in a view, until Dean pointed me in the direction of Custom Table resources.
With a Custom Table, I could create my own datasource with the Advanced Database Query option.
From there, I could tell SolarWinds that I was using the SQL Query Type, and throw in the query I had worked out.
Perfect! I hid the RowNum column from the overall view, set Site to be Left Aligned, and then most importantly set the MPLS, Internet, 4G, and VPN columns to all be Center Aligned and Allow HTML tags.
With a bit of custom column changes, I ended up with the view below using some of the clients test data. (Site Names blurred out for privacy reasons)
All that was left was to create 4 more columns, copy this resource into each one, and modify each of the queries to only list the row numbers I wanted (I went for 4 columns of 40 rows).
This was exactly what the client was after, and the management overhead of this view is incredibly small.
In order to get a node to appear on this list, we simply needed to define the SiteID, and the LinkID. The query would then add it to the list.
The things we need to be careful about are:
- Making sure the ClientEnvironment for each of the links is defined as 'Network - Meraki WAN';
- Making sure the SiteID for each of the links at the same site all match;
- Making sure the LinkID is defined as 'MPLS', 'Internet', '4G', or 'VPN'. If these aren't defined correctly, they won't show on the list;
- Making sure we don't have any duplicate LinkID's for a specific SiteID.
As long as we keep to those rules, adding to and managing this view will be seamless and simple.
This was the deepest I've gone so far with customizing SolarWinds Orion, which is why I wanted to share my experience and findings.
I'm very keen to find out however if there is an easier way to achieve this, so please let me know what could be done differently if you know.
I hope some of you get some value out of this for your own environments.
Monitoring Cisco router NAT translations
Does SolarWinds supports monitoring of cisco router NAT translation?
If yes, are there any special configuration on the router aside from the snmp?
What We're Working on for NPM (Updated June 1st, 2018)
NPM 12.3 has shipped and we're hard at work building the next release. Here's what we're working on, in no particularly order.
- Cisco ACI Monitoring
- Remote Collector - New, agent based collector for distributed environments and hybrid deployments
- Next Generation Orion Mapping - First version delivered in NPM 12.3 via Orion Platform 2018.2. Working on the next version.
- Centralized Upgrades
- Website & Database Performance Improvements
- Windows Device Guard Support
- SAML Authentication Support
- Replace syslog/trap with the functionality from our new Log Manager product
Scheduled Reports Failing with Required SSL Settings and to Require Client Certificates
Hello All,
Has anyone experienced/resolved scheduled reports failing to export .pdf via 'email' or 'save to disk' while SSL settings are set to 'Require SSL' and require client certificates?
It works when I set the client certificates to 'Ignore' or 'Accept'. We are mandated by our company to require client certificates.
Current Environment:
- Currently running Orion Platform 2015.1.3, NPM 11.5.3 on Windows Server 2012, IIS 8.5
- SSO SmartCard Authentication required
Goal:
For scheduled reports to export .pdf and send them out via 'Email' or 'Save To Disk', with SSL Settings set to 'Require' and require client certificates (Company Requirement):
Issue/Problem:
When we run the scheduled report via Email, it would send the message WITHOUT the .pdf attachment.
When we run the scheduled report via 'Save to Disk' it would fail (see following screenshot):
Currently IIS 8.5 is set with the following:
I did some experimenting and set the SSL Settings > Client certificates to 'Ignore' and re-ran the test. This time it was successful:
NOC View Help
Hi Guys!
I was asked by a broadcasting company to suggest a NOC view for their Solarwinds as they feel that they haven't fully utilized their Solarwinds enough. Currently they just have a NOC view of their network thru Network Atlas. They have almost all the modules they need for a perfect appstack view, but i figured since they're focusing on network (routers, switches), Appstack wouldnt be the view that they want to see. Their line graphs are currently deployed thru prtg, telling me they cannot understand perfstack that well, when they view the graph, the intervals are too small to notice. Personally, if I'm monitoring the network, a network diagram on NOC view is enough. but i want to know what you guys think will help them make a better view on their network through solarwinds dashboard. Also, their network atlas is having a problem. some routers and switches dont link up so they have to manually set the link. I was wondering what the problem is too.. I hope you guys can help me with this. I really want them to be able to utilize their solarwinds to the full extent.
Solarwinds Performance is Horrible after 12.3 upgrade
I am wondering why the discussion Solarwinds is now horribly unstable. is locked? For an ongoing issue that we also are experiencing, why would thwack moderators choose to lock the discussion and prevent other customers from weighing in, and asking questions? I am attempting to apply the work around in the post, but I wanted to open another thread since the other one is locked. Hopefuly other customers that have upgraded to 12.3 can communicate on thwack. I found that the memory of the Cortex service was using 24-29GB of the 32GB available on the server of my primary poller, and it causes the web console and polling to not function. I'll reply back to this thread after I apply the proposed work-around on the other thread linked above.
OUR ENVIRONMENT: Primay Poller (HA Primary), 18 Additional Pollers (9 Active / 9 HA), 2 AWS, Physical SQL Server with 32 cores, 148 GB Memory, Raid 10 LUNs on 3 Par with SSD.
Network Elements
TOTAL COUNT | 81350 |
NODES | 5264 |
INTERFACES | 51321 |
VOLUMES | 24765 |
Is there a way to use the output of a SWQL query in a Hyperlink?
I can add a node's IP address to a custom HTML link by using ${ipaddress} in the HTML, is there a way to get a group of IP addresses based off a custom property as part of a HTML link?
For example, I am wanting to have a URL that will have all the IP addresses for every node at the Site custom property...
${N=SWQL;M=SELECT TOP 10 N.IPaddress FROM Orion.NodesCustomProperties NC JOIN Orion.Nodes N on N.nodeid=NC.NodeID WHERE NC.Site like '${NC.Site}' }
Performance Analysis - Filter for buisness hours
So we are trying to baseline/trend a server with PerfStack, however as I'm looking at my graphs, the Average Memory and CPU are base-lining off hours, (I'm trying to do a 6 month trend), which skews my report to management to be able add more resources to my server. Is there a way to get more granular with showing only 7am-5pm business hours for the past 6 months?
Thanks,
MSFADMIN
Tell Us Your Unknown Devices v2.0
Those that have been part of the Thwack Community a while may be familiar with the long running Tell us your "Unknown" devices! thread which had been active since 2007. That thread had become too unwieldy, and most of the user submissions had been implemented many years ago. I recently reviewed each and every posting in that thread, verified what had been implemented in-product, and which ones had not so they could be included in a forthcoming release. With that done, it was time to lock that thread for good and start anew. This time, providing a bit more guidance along the way to ensure everyone is successful in providing the necessary information required to properly identify these devices.
What is an 'Unknown' Device anyway?
Orion does its best to automatically identify and classify nodes as they're added to Orion. There are however, new device types and models released all the time. It's entirely possible you might be managing a device right now that Orion is unable to properly identify. You can find these easily by going to [Settings - Manage Nodes], changing the 'Group by:' option to 'Machine Type' and clicking on the 'Unknown' category. It's also helpful to add the 'Polling Method' column to the layout, as this thread pertains exclusively to SNMP managed nodes.
Any SNMP managed nodes listed under the 'Unknown' Machine Type category are prime candidates for submission to this thread. All that's required is that you provide the devices SNMP System Object Identifier (SysObjectID), as well as the Make & Model of the device associated with that SysObjectID.
is an excellent example of the perfect submission.
What Exactly is a SysObjectID?
I have yet to find a clearer definition for what the SysObjectID (System Object Identifier) is then the following excerpt which can typically be found written in virtually every vendor's MIB file verbatim.
Object Name: sysObjectID Object ID: 1.3.6.1.2.1.1.2.0 Object Syntax: OBJECT IDENTIFIER Object Access: read-only Object Status: mandatory Object Description: The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining `what kind of box' is being managed. For example, if vendor `Flintstones, Inc.' was assigned the subtree 1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
Essentially, it's a string of numbers in dotted notation that is (hopefully) unique to at least the manufacturer, and in most cases, to the specific make and model of the device being monitored. It's how we identify for example, that the device vendor is 'Cisco' and the model is a 'Nexus C7018'. All System Object ID's begin with '1.3.6.1.4.1' followed by a number which uniquely identifies the manufacturer. The numbers which then follow typically identify the specific model of the device.
Where Can I Locate the SysObjectID?
If the device is already managed as a Node in Orion then you can locate the SysObjectID in the 'Node Details' resource as shown below, when viewing the node in the Orion web interface.
Node Details | NET-SNMP |
---|---|
Alternatively, you can use NET-SNMP to query the following SNMP OID to return the unique SysObjectID.
1.3.6.1.2.1.1.2.0
Below is an example of the 'snmpget' command line arguments which will return you the SysObjectID for the device.
snmpget -v2c -On -c public 10.199.5.103 1.3.6.1.2.1.1.2.0
The example above is executed against a device with the IP address of '10.199.5.103' using SNMPv2c, with the community string 'public'. Below is a screenshot of the resulting output from that command. The string of numbers and periods highlighted in yellow below is this device's unique SysObjectID. |
My Device Incorrectly Appears Listed as 'NET-SNMP'
Linux hosts, virtual appliances, and even some network equipment built on Linux, FreeBSD, etc. are often identified as 'NET-SNMP'. This is because the SNMP Daemon running on those hosts is, you guessed it, NET-SNMP. Unfortunately, these vendors for some reason, have chosen not to implement their own unique SysObjectID, and instead kept the default SysObjectID '1.3.6.1.4.1.8072.3.2.10' which is designated for NET-SNMP. If you have a device such as this, fret not. There are a few options available to you if you'd like these devices to be properly identified by their appropriate vendor's make & model within Orion.
Install The Orion Linux Agent
The easiest solution would be to install the
on the device which is reporting itself to be 'NET-SNMP'. The Linux Agent does not rely upon SNMP to identify the machine type or vendor. Instead, the Agent will report the Vendor as 'Linux' and the 'Machine Type' as the Linux distribution running on the device as depicted in the screenshots below.
Red Hat | Citrix XenServer |
---|---|
Modify NET-SNMP Configuration
Another approach is to customize NET-SNMP and Orion to properly reflect the Vendor and Machine Type. Simply following the steps outlined by adatole's post entitled No More Net-SNMP Nodes. This method uses a script osname.sh which is executed when a particular OID is is queried. Next, you would create a custom Device Poller to query that newly created OID and populate the Machine Type value in Orion for that device.
If you find it more fun to follow along, you can watch adatole walk you through the entire process in the following video.
Can't I Just Upload My Vendor's MIB File Here And You figure it Out?
While it would be nice if that's how it worked, unfortunately many (or most) vendors don't include this information within their MIB files. MIB files include a listing of all possible OIDs which could be polled across a wide variety of different devices (typically an entire product family), but it doesn't include the values which are returned by the devices (Enums notwithstanding). For that reason we need users, such as yourself, to post the SysObjectID's in this thread, along with the device vendor and model information so it can be included in our database.
If you'd still like your device's MIB file included in the Orion MIB database, for use with Network Performance Monitor's Universal Device Poller, or the Orion Platform's SNMP Trap Receiver, simply follow the steps outlined in KB article at the link below. The latest version of the MIB database, containing your submissions, can always be downloaded from within the Customer Portal.
Monitoring partner sites that have overlapping IPs
Hi all,
I am looking at monitoring all partner sites on one solarwinds deployment.
Trouble is they have overlapping IPs.
Is it possible to monitor multiple partner sites that have overlapping IPs.
Would additional pollers at each site provide this functionality.
Thanks
many nodes, same IP / shared monitoring
Hi all,
Suppose I'm monitoring two client's network devices. In there LAN, they are using same IP range. If two devices one from each client's LAN having same IP (10.2.2.3). Then how can we add them in solarwinds ? While adding second device with same IP, solarwinds shows error.
And what can be the different option we can opt.
Custom Dashboard For Reboot pending
I want to create a dashboard like this.
the only thing that i want to add is a filter that only shows systems that have the SAM template Windows Update Monitoring.
And the only systems that needs to be in the dashboard are the systems That have available critical updates or if a Reboot is required.
How would my query look?
How to get similar alert details in single email summary
Hello,
In my test environment I have one wireless controller (many clients with different IP's in it). we configured an alert to monitor RSSI (signal)strength. Getting many alerts and emails with respect to configured alerts. So my requirement is to get one single mail with all the alerts details. please let me know your inputs in configuring this.
Thanks,
Raaga
Dashboard for Top 10 Interfaces
Hey All! Now, you’re probably looking at the title of this and thinking “yeah, that’s easy enough, just create a custom chart and get the top 10 already”. Well, this one is going to be a bit different. What if, instead, you want to see the top 10 interfaces, but the interfaces are in separate charts? Perfstack seems the obvious choice, but perfstack only gives you a static list, not a top 10 list. That’s where things get a bit tricky.
But fear not! With the power of SQL, this can be accomplished:
Here I’ve gone and created a view in Orion that contains the top 10 interfaces across the entire environment. Each one of these resources is a custom chart that is based on a custom SQL query. Each query is exactly the same, except there is an offset number that is changed for the first, second, etc. interface. Below are the steps in creating:
Step 1 - Create a new view (Optional, but recommended):
Go to Settings --> All Settings, and click on Manage Views. Click on Add, then create a Summary View called “Top 10 Interfaces”
Step 2 – Add the new view to a menu bar (Optional, but recommended):
Go to Settings --> All Settings, and click on “Customize Menu Bars”. Click on the menu bar you want to add the view to (I used Network_TabMenu), and select Edit.
From the list of available views on the left, find the “Top 10 Interfaces” you created, and drag that to the right.
Now you have the new view under My Dashboards --> Network --> Top 10 Interfaces
Step 3 – Create the widgets:
Click on the view we just created in steps 1 and 2, and on the left side of our blank canvas, click on Customize Page:
Then go to “Add Widgets” in the upper right:
Search for the “Custom Chart” Widget, then drag and drop that widget 10 times to the main part of the screen (5 in each column):
Click “Done Adding Widgets when finished”
Step 4 – Make the charts:
This is the meaty part. On the first chart, click on “Configure this resource” or “edit” (both will take you to the same page):
For “Title”, call this “Interface #1”
Subtitle we can leave blank
Then for datasource, click "Select Datasource", and change the selection method to “Advanced Database Query (SQL, SWQL)”, then change the query type to SQL:
Now for the query, copy and paste the following:
SELECT
(no.caption + ' - ' + interf.interfacename) as [Node Name],
interf.interfacename as [Interface Name],
it.datetime,
it.in_averagebps as [Average BPS In],
it.out_averagebps as [Average BPS Out]
FROM [dbo].[InterfaceTraffic] it
inner join Interfaces interf
on it.interfaceid=interf.interfaceid
inner join nodes no
on it.nodeid=no.nodeid
where it.interfaceID=(
SELECT
it.interfaceid
FROM [dbo].[InterfaceTraffic] it
where it.datetime >= DATEADD(day, -1, GETDATE()) and it.in_averagebps IS NOT NULL and it.out_averagebps IS NOT NULL
group by it.interfaceid
order by(avg(it.in_averagebps)+avg (it.out_averagebps)) desc
OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY)
So, quick explanation as to what this query does. The first part, up to the “where” statement, pulls the interface traffic information. The magic happens in the where clause. The where clause takes the last 24 hours of performance information, per interface, and averages it out and sorts the top interfaces.
The important piece to this is the LAST line;
OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY)
What this line does is return just one line, but offset the rows X number of lines. So, for this chart, we take the top result. For the next chart, we will take an offset of 1, so our query is now:
OFFSET 1 ROWS FETCH NEXT 1 ROWS ONLY)
This query will give us the chart for the 2nd interface in the top ten, and so on.
Step 4 – The rest of the chart setup:
Now that our data source is set for the first chart, you can now set the rest of the options.
- Set your time period (I set mine to last 24 hours)
- On the left y-Axis, click Add data series, select “Average BPS In”
- Once added, click ‘More’, and a button will appear for “Time Column”. Click that and select ‘datetime’
- Again on the left y-Axis, click Add data series, select “Average BPS Out”.
- And again, once added, click ‘More’, and select ‘datetime’ for the “Time Column”
- For “Units Displayed”, set this to “Bit/s”
- Under “Data Grouping”, “Group chart data” by “Interface Name”
- And for “Legend Shows”, select “Node Name”
And that’s it! Hit submit.
Step 5 – Rinse and Repeat:
Repeat steps 3 and 4 for the other ten charts, and make sure you:
Change the offset number for each chart (Interface #2 has an offset of 1, Interface #3 has an offset of 2, etc.)
Change the name of the Charts for Interface 2, 3, etc.
That should do it! From this point, if you want to change the query to include a custom property, or maybe do volumes or cpu performance, you can. The real part of this is the where clause where you look up your information ahead of time, then offset/fetch. Let me know in the comments if you have any questions!