Quantcast
Channel: THWACK: All Content - Network Performance Monitor
Viewing all 21870 articles
Browse latest View live

Report for reporting on IFINDEX(es)

$
0
0

Reports are a bit of a black art to me but I'm trying to get into them and understand limitations, capabilities, etc... With that in mind can you treat any responses to my quesry as needing a step by step account of how.. thank you

 

So, as per the title, I need to (if possible) create a report that reports on what the ifindex is for each device and its associated interfaces, etc 0 if this could be run either per device or against every device then that would be fab.

 

So I guess the question first up is:

- can this be done?

- and if so, then how please?


Dashboard for Top 10 Interfaces

$
0
0

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.

  1. Set your time period (I set mine to last 24 hours)
  2. On the left y-Axis, click Add data series, select “Average BPS In”
  3. Once added, click ‘More’, and a button will appear for “Time Column”.  Click that and select ‘datetime’
  4. Again on the left y-Axis, click Add data series, select “Average BPS Out”.
  5. And again, once added, click ‘More’, and select ‘datetime’ for the “Time Column”
  6. For “Units Displayed”, set this to “Bit/s”
  7. Under “Data Grouping”, “Group chart data” by “Interface Name”
  8. 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!

NPM Design question

$
0
0

Hi Guys

I have a "small" design question to ask

Today we have 2 NPM instances one in our corp network and one in our secure enclave, witch is a secluded portion of our network, so it would be possible to be able to cut it of and operate it autonomously in case of an attack.

But our normal procedures do that monitoring both systems simply isn't an option on a day to day basis.

 

So I need to design a system where we can monitor both the the Corp network and the Enclave through a single "pain of glass"

One suggestion is the Enterprise console I understand that this will be able to receive data from several systems, but as I understand this will only give us monitoring capabilities, If we need to dig deeper we have to do it on the relevant system.

Anther suggestion is to place 2 Corp APE's in the Enclave and monitor it all through the Corp system but still retaining the Enclave system, but then I fear that if we ever had to run the Enclave autonomously equipment will not be up to date on the Enclave system.

 

I am not sure how big a problem the last one will be, because the Enclave setup is pretty static.

 

Is there anybody out there that has solved this or have some design recommendations, suggestion or anything?

What are the pro's and con's and is there another solution that I haven't thought about?

 

We have 2 NPM setups, one with unlimited nodes (Corp), and the one in the Enclave has a max of 2000 Nodes i think

If we could do this with one setup That would be sweet

Hope you can help me a little

 

Regards Jens

Consulting Services

$
0
0

Can anyone recommend a company to assist in setting up SolarWinds, but it must be on-site?  I'm in the Chicago area.

Monitoring Nodes With Dynamic IPS

$
0
0

We use Solarwinds to monitor many of the Public Library Branch Equipment in addition to our server environment. I have struggled with an effective way to monitor these devices as they have Dynamic IPs and are constantly being taken off the network for repair.

 

I run a Network Discovery to find any new equipment every day. The discovery finds the nodes and assigns a static IP.

 

In order to modify the nodes, I am running a TSQL Update on the database after the Network Discovery jobs complete. Fortunately the nodes that I want to make Dynamic have a standard naming convention.

 

UPDATE SolarwindsOrionDatabase.dbo.NodesData

SET DNS = SysName,

     DynamicIP = 1

WHERE (

     SysName LIKE '%PUB%'

  OR SysName LIKE '%REF%'

  OR SysName LIKE '%CIR%'

  OR SysName LIKE '%SMM%'

  OR SysName LIKE '%SCO%'

  OR SysName LIKE '%CAT%'

  OR SysName LIKE '%DED%'

  OR SysName LIKE '%SHR%'

  OR SysName LIKE '%PRT%'

  );

Are your Orion server and SQL database server in the same Active Directory domain?

When you installed NPM, did you add Nodes manually or did you run discovery?

$
0
0

We would like to improve user experience and for such reason I'd like to better understand if our users prefers INITIALLY to add nodes manually or run product network discovery in order to import devices to NPM

To SaaS or not to SaaS, that is the question.

$
0
0

Please help us understand your organization's thinking on this topic by selecting how much you agree or disagree with the following statement:

 

"My company would never purchase a SaaS-based monitoring tool to monitor our on-premises IT infrastructure."


Do You use Product Upgrade Advisor website before you upgrade product?

Which Help Desk / Service Desk are you using?

Cisco ASA as a Default gateway?

$
0
0

There has been over 1 million of Cisco ASAs built and deployed around the world in a past years (good job Cisco!). As not supporting SNMP protocol properly, they often complicate our lives when configured to be Default gateways, not allowing products like SolarWinds User Device Tracker to monitor what's behind. Do you use your ASAs as a Default gateways too? If so, what percentage of your network they route?

Make ALL Links, In A SWQL Custom Query Resource, Open In New Tabs By Default

$
0
0

This is a super simple, single file, single line, edit.

 

ESTIMATED TIME TO INSTALL/PERFORM MODIFICATION:<1 Minute

 

DIFFICULTY LEVEL:1-Youngling

  1. Youngling(Easiest/Most Basic; no coding experience required, no config wizard required, no system restart required, no system downtime.)
  2. Padawan (Easy/Basic; no coding experience required, possible config wizard required, possible system/services restart required, limited/no downtime.)
  3. Jedi Knight (Moderately Difficult/Advanced; some coding experience required/recommended, config wizard required, possible system/services restart required, limited/short duration downtime.)
  4. Jedi Master (Most Difficult/Advanced; advanced coding experience required, config wizard required, system/services restarts required, 30+ minutes downtime/maintenance window recommended, and other things that I do not even know I would need to know, required...)

 

 

For all of those "tabbers", "shift-clickers", and "middle-button mashers" out there, that know the only way to truly use a tabbed browser, is to open so many tabs that you can even see the tabs anymore... this one is for you... And, of course, by you, I mean us...

 

This simple little modification may have been mentioned elsewhere before, however, I was not fortunate enough to have found it before I figured out how to do it. So, if it has been mentioned before, well, here it is again...

 

This modification will change the default behavior when clicking on a link within a SWQL Custom Query resource. (Any link, formed within the query, using the "_LinkFor_" alias.)

By default, clicking on a link will load the link in the same page/tab as the source was in.

The new behavior, after making this change, when clicking on a link, will load the link destination in a new tab/page, without the need to shift-click, or middle-mouse button click.

 

THINGS TO KNOW:

  • I have countless SWQL Custom Query resources scattered throughout my SolarWinds environment.
  • I cannot stand directly clicking links, having them open in the same page/tab.
  • If I can still see the icons on the tabs of Chrome, then I must be sleeping.
  • I am a very inexperienced, and untrained, amateur (with the exception being all things Star Wars related, which does you absolutely no good here...)
    • Always backup your system/files BEFORE making any changes, and/or test with a demo/dev system before making changes to your production environment.
    • Please don't break your system, then blame it on me.
      • If you break your system, then blame it on me, please know, "I don't give a care...", "I told you so...", and/or "Nanna nanna boo boo, stick your head in doo doo..." will most likely be my response...

 

**WARNING! THE INFORMATION YOU ARE ABOUT TO READ COMES FROM THE MIND OF AN UNTRAINED AMATEUR, AND IS MOST LIKELY FAR, FAR FROM THE BEST PRACTICE**

 

Filename:

CustomQuery.js

 

File Location:

\inetpub\SolarWinds\Orion\NetPerfMon\Resources\Misc\

 

Open the file, and look for the line that has "if (cellInfo.linkColumn) {" (it should be on/around line 160)

The change you will be making will need to be done on the next line, line 161.

 

Change the RED part, of the line below,

            element = $('<a/>').attr('href', rowArray[cellInfo.linkColumn]);

 

To match the GREEN part, of the line below,

            element = $('<a Target="_blank" />').attr('href', rowArray[cellInfo.linkColumn]);

 

Save your file, and you are done!

 

HERE IS HOW THE DEFAULT CODE LOOKS, BEFORE ANY CHANGES:

        var element;        if (cellInfo.linkColumn) {            element = $('<a/>').attr('href', rowArray[cellInfo.linkColumn]);        } else {            element = $('<span/>');        }

 

 

AND HERE IS HOW THE CODE SHOULD LOOK AFTER YOUR CHANGE:

        var element;        if (cellInfo.linkColumn) {            element = $('<a Target="_blank" />').attr('href', rowArray[cellInfo.linkColumn]);        } else {            element = $('<span/>');        }

 

 

Now, you should be able to use the "_LinkFor_" column alias in your SWQL query, on a Custom Query resource, and when you click the link, on the query results, it should, by default, automatically open in a new tab/window.

 

If you have any questions, or comments, please leave them below, and I will do my best to follow up with you.

 

Thank you,

 

-Will

 

--If you are interested in customizing, and/or modifying your SolarWinds environment, CourtesyIT has put together a terrific "Page of Pages" (PoP), "List of Links" (LoL), okay, you get the idea... Please visit his page, How to do various customizations with your Solarwinds, and discover a better way to enhance your SolarWinds environment. Make sure to bookmark, like, and rate his page, as it will help you, as well as others after you.

Viptela device monitoring with NPM 12.1

$
0
0

Hi All,

 

I am looking for a solution for monitoring Viptela devices with NPM 12.1 , I read somewhere saying it can be done the same way as Meraki " with API key" but I still wanted to test by myself.

 

Please let me know your thought on this.

 

with regards,

George

SQL 2017 Developer Edition for NTA 4.4

$
0
0

Currently we are using NTA 4.2.3 , can we use sql 2017 developer edition for NTA 4.4 ?

Chinese localization of Web UI all be done!

$
0
0

With my continuous efforts, I finally almost finished the Chinese localization of web UI. Look like this:

This localization works is more human readable than machine translation. In other words, this task takes me a lot of time and headwork.

Of course, there are still some minor problems. I think i can fix them in the near future.

 

Since the official simplified Chinese localization is always un-released, I have to do it myself...


Triggered Alert History - Last 30 Days

SQL filter for interface custom properties.

$
0
0

Hi All,

 

Any one help me to apply filter for interface custom property in below mention SQL report.

 

 

 

        DECLARE @StartDate DateTime

        DECLARE @EndDate DateTime

 

 

        SET @StartDate = ${FromTime}

        SET @EndDate = ${ToTime}

 

 

        SELECT Interfaces.InterfaceId,

        Nodes.NodeID,

        Nodes.Caption AS NodeName,

        Interfaces.Caption AS Interface_Caption,

        Maxbps_In90,

        Maxbps_Out90,

        Maxbps_In95,

        Maxbps_Out95,

        Maxbps_In99,

        Maxbps_Out99

        FROM Nodes

        INNER JOIN Interfaces ON Nodes.NodeID = Interfaces.NodeID

        INNER JOIN (

        SELECT InterfaceID,

        dbo.GetInBpsPercentile(InterfaceID, @StartDate, @EndDate,90) AS Maxbps_In90,

        dbo.GetOutBpsPercentile(InterfaceID, @StartDate, @EndDate,90) AS Maxbps_Out90,

        dbo.GetInBpsPercentile(InterfaceID, @StartDate, @EndDate,95) AS Maxbps_In95,

        dbo.GetOutBpsPercentile(InterfaceID, @StartDate, @EndDate,95) AS Maxbps_Out95,

        dbo.GetInBpsPercentile(InterfaceID, @StartDate, @EndDate,99) AS Maxbps_In99,

        dbo.GetOutBpsPercentile(InterfaceID, @StartDate, @EndDate,99) AS Maxbps_Out99

        FROM InterfaceTraffic

        WHERE InterfaceTraffic.DateTime >= @StartDate AND InterfaceTraffic.DateTime <= @EndDate

        GROUP BY InterfaceID

        ) TrafficStat

        ON Interfaces.InterfaceID = TrafficStat.InterfaceID

     

 

 

 

 

If i run this in web-base am getting the output if i run the same in report writer am not getting the out getting error. May i know the reason for this.

Dependency aware Alert examples

$
0
0

Hi guys,

 

Could anyone please share screenshots of their trigger condition for an alert that is suited to mute Down alerts on Child objects that are down?

I have a dependency where a router is the parent and a group is the child. I only wish to receive alerts when the router is down and suppress the hundreds of alerts I would get when the group members are down. Any help greatly appreciated.

NPM Design question

$
0
0

Hi Guys

I have a "small" design question to ask

Today we have 2 NPM instances one in our corp network and one in our secure enclave, witch is a secluded portion of our network, so it would be possible to be able to cut it of and operate it autonomously in case of an attack.

But our normal procedures do that monitoring both systems simply isn't an option on a day to day basis.

 

So I need to design a system where we can monitor both the the Corp network and the Enclave through a single "pain of glass"

One suggestion is the Enterprise console I understand that this will be able to receive data from several systems, but as I understand this will only give us monitoring capabilities, If we need to dig deeper we have to do it on the relevant system.

Anther suggestion is to place 2 Corp APE's in the Enclave and monitor it all through the Corp system but still retaining the Enclave system, but then I fear that if we ever had to run the Enclave autonomously equipment will not be up to date on the Enclave system.

 

I am not sure how big a problem the last one will be, because the Enclave setup is pretty static.

 

Is there anybody out there that has solved this or have some design recommendations, suggestion or anything?

What are the pro's and con's and is there another solution that I haven't thought about?

 

We have 2 NPM setups, one with unlimited nodes (Corp), and the one in the Enclave has a max of 2000 Nodes i think

If we could do this with one setup That would be sweet

Hope you can help me a little

 

Regards Jens

NPM 12.2: Interface's Chinese description displayed in "????"

$
0
0

I have some H3C and Huawei network devices, which support interface's Chinese description in device's configuration.

 

When i added these devices into NPM 12.2, these Chinese descriptions can not display correctly, all the Chinese texts displayed in "??".

 

And then i tried to manually modify these interfaces' captions from database, it doesn't work!  It can only modify these interfaces' captions one by one through web ui.

 

In NPM 10.0, i can simply modify these interfaces' captions into Chinese text from database.

 

 

Anyone have a good solution for this problem?

Viewing all 21870 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>