Quantcast
Channel: THWACK: Document List - Network Performance Monitor
Viewing all 1956 articles
Browse latest View live

Create A FIFA Twitter Feed In Your Orion Web Console

$
0
0

Create A FIFA Twitter Feed In Your Orion Web Console

 

 

1.png

 

 

1     Edit your page

Click ‘Customize Page’ from the page you intend to add this resource to…

 

2.png

 

 

2     Add the resource

Identify the column of the page you want to add the resource to and click the “+” button.  This will let you search your available resource types to add to the page. (450 pixels is the recommended width for viewing this resource but it will scale to your configured width)

 

3.png

 

 

3     Select the resource

In the Search field, type “Custom HTML”.  When you check the box next to the resource, the resource will add to the “Selected Resources:” column.  After you confirm that the resource is listed as a “Selected Resource”, click the “Add Selected Resources” button at the bottom-right of the frame.

 

4.png

 

 

4     Add the resource to the view

After you have confirmed that the resource is added the desired column, click the “Done” button at the bottom-left of the page.  This will apply the new resource to your view.

 

5.png

 

 

5     Edit the resource on the view

Confirm the resource added to the view the way you expected it to and click the “Edit” button.

 

6.png

 

 

6     Add the code

Create a custom Title. For ours, we used “FIFA World Cup 2014 | Brasil”.

Then add the following Code to the body of the resource and click the “Submit” button…

 

<a class="twitter-timeline" href="https://twitter.com/FIFAWorldCup" data-widget-id="477096557016141825">Tweets by @FIFAWorldCup</a>

    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

 

 

7.png

 

 

 

7     Confirm the Resource

After submitting your changes, you should see a resource with the “@FIFAWorldCup” Twitter feed.

 

8.png

 

 

Create a FIFA Twitter Feed in your Orion Web Console | Loop1 Systems, Inc.

 

 

 

 

 

Jason Henson

Loop1 Systems: SolarWinds Training and Professional Services


Some Things Solarwinds Admins Can't Live Without

$
0
0

Here are some SQL queries as doing weekly Solarwinds Maintenance and creating custom alerts that we as an MSP can't live without. I will most likely update this often but here are some I store in my evernote for now but I will update this frequently when i start looking through everything I use.

 

This first one isn't a SQL query but good for everyone use FoE to know:

 

 

From a command prompt :

cd C:\Program Files\SolarWinds\FoE\r2\bin\


nfpktfltr getstate

 

The failover should be set to Filter and the active should be PassThru


The nfpktfltr has a lot of good options to play with including forcing a set for filter or passthru in emergencies

 

Checking Ghost or Unknown Interfaces


selectInterfaceName,Nodes.CaptionfromInterfaces

 

innerjoinNodesonNodes.NodeID=Interfaces.NodeID

whereInterfaces.Status=0

 

Checking Nodes Not in Groups

 

 

selectCaption fromNodes

 

where

  not Caption in(

   SELECTdistinctFullName

   FROM ContainerMemberSnapshots

   where EntityDisplayName ='Node'

)


Checking Total Number of Elements for Custom Value


 

selectCOUNT(*)fromNodes

 

LEFTjoinVolumesonVolumes.NodeID=Nodes.NodeID

LEFTjoinInterfacesonInterfaces.NodeID=Nodes.NodeID

LEFTJOINAPM_ApplicationonAPM_Application.NodeID=Nodes.NodeID

whereCustom= 'somethinghere'

 

Getting IP list for Weekly Sonar Discovery by polling engine

 

selectIP_Address,Caption from Nodes

 

where

ObjectSubType ='SNMP'

andEngineID =_Engine ID Here_

andStatus<>'9

 

To get a list of your current engines with their ID number just simply run

selectEngineID,ServerName,IP fromEngines

Cleaning up bad hardware alerts manually

 

DECLARE@NodeID int

 

SET@NodeID =_NODE ID HERE_

DELETEFROMAPM_HardwareInfo WHERE NodeID =@NodeID

DELETEFROMAPM_HardwareCategoryStatus WHERE NodeID =@NodeID

DELETEFROMAPM_HardwareItem WHERE NodeID =@NodeID



Alerting Variables for Statistical Data


 

${SQL:selectc.Name from APM_DynamicEvidenceColumnSchema c

 

innerjoinAPM_DynamicEvidence_DetailData d on c.ID =d.ColumnSchemaID andc.ComponentID = ${ComponentID}

wherec.ThresholdWarning < d.NumericData groupby c.ID,c.Name} isinWARNING at

${SQL:selectMAX(d.NumericData)from APM_DynamicEvidenceColumnSchema c

innerjoinAPM_DynamicEvidence_DetailData d onc.ID =d.ColumnSchemaID andc.ComponentID = ${ComponentID}

where c.ThresholdWarning <d.NumericData groupbyc.ID,c.Name }



Alerting URL on HTTP Components that is being pulled

This can be used to get any of the values simply changing the [Key] condition to whatever your looking for. Also make sure you set your component type in your trigger condition to 6 to avoid non-http applications sending this alert off.


${SQL:selectValue fromAPM_ComponentSetting

  where [Key] ='Url'and ComponentID ='${ComponentID}'}

 


That's all I can muster at the moment while trying to get some work done but I will try to update this as often as possible.


Orion NOC View (WORK IN PROGRESS)

Some Things Solarwinds Admins Can't Live Without

$
0
0

Here are some SQL queries as doing weekly Solarwinds Maintenance and creating custom alerts that we as an MSP can't live without. I will most likely update this often but here are some I store in my evernote for now but I will update this frequently when i start looking through everything I use.

 

This first one isn't a SQL query but good for everyone use FoE to know:

 

 

From a command prompt :

cd C:\Program Files\SolarWinds\FoE\r2\bin\


nfpktfltr getstate

 

The failover should be set to Filter and the active should be PassThru


The nfpktfltr has a lot of good options to play with including forcing a set for filter or passthru in emergencies

 

Checking Ghost or Unknown Interfaces


selectInterfaceName,Nodes.CaptionfromInterfaces

 

innerjoinNodesonNodes.NodeID=Interfaces.NodeID

whereInterfaces.Status=0

 

Checking Nodes Not in Groups

 

 

selectCaption fromNodes

 

where

  not Caption in(

   SELECTdistinctFullName

   FROM ContainerMemberSnapshots

   where EntityDisplayName ='Node'

)


Checking Total Number of Elements for Custom Value


 

selectCOUNT(*)fromNodes

 

LEFTjoinVolumesonVolumes.NodeID=Nodes.NodeID

LEFTjoinInterfacesonInterfaces.NodeID=Nodes.NodeID

LEFTJOINAPM_ApplicationonAPM_Application.NodeID=Nodes.NodeID

whereCustom= 'somethinghere'

 

Getting IP list for Weekly Sonar Discovery by polling engine

 

selectIP_Address,Caption from Nodes

 

where

ObjectSubType ='SNMP'

andEngineID =_Engine ID Here_

andStatus<>'9

 

To get a list of your current engines with their ID number just simply run

selectEngineID,ServerName,IP fromEngines

Cleaning up bad hardware alerts manually

 

DECLARE@NodeID int

 

SET@NodeID =_NODE ID HERE_

DELETEFROMAPM_HardwareInfo WHERE NodeID =@NodeID

DELETEFROMAPM_HardwareCategoryStatus WHERE NodeID =@NodeID

DELETEFROMAPM_HardwareItem WHERE NodeID =@NodeID



Alerting Variables for Statistical Data


 

${SQL:selectc.Name from APM_DynamicEvidenceColumnSchema c

 

innerjoinAPM_DynamicEvidence_DetailData d on c.ID =d.ColumnSchemaID andc.ComponentID = ${ComponentID}

wherec.ThresholdWarning < d.NumericData groupby c.ID,c.Name} isinWARNING at

${SQL:selectMAX(d.NumericData)from APM_DynamicEvidenceColumnSchema c

innerjoinAPM_DynamicEvidence_DetailData d onc.ID =d.ColumnSchemaID andc.ComponentID = ${ComponentID}

where c.ThresholdWarning <d.NumericData groupbyc.ID,c.Name }



Alerting URL on HTTP Components that is being pulled

This can be used to get any of the values simply changing the [Key] condition to whatever your looking for. Also make sure you set your component type in your trigger condition to 6 to avoid non-http applications sending this alert off.


${SQL:selectValue fromAPM_ComponentSetting

  where [Key] ='Url'and ComponentID ='${ComponentID}'}

 


That's all I can muster at the moment while trying to get some work done but I will try to update this as often as possible.


Office Average Availability - Last 30 Days

Add “Search for Nodes" element in every Solarwinds Webpages header with ‘hit’ Enter enabled

$
0
0

I have added some codes in “C:\inetpub\SolarWinds\Orion\Controls\PageHeader.ascx” which adds the 'Search for Nodes' element on every SolarWinds webpages in the page header.

 

sw-search.jpg

In order to prevent form resubmission message popup when page is refreshed I try to use “onClick” function instead of using the Submit button. The IE and other browsers (Chrome, FF, ..) seem have different way to handle the onClick event, so in IE the “search” will be a button but not submit button,    in other browsers it will be text.

 

Also, you can just type in the search criteria and hit ‘enter’ then the search will execute (search by node name by default)

 

The codes are:

 

<div style="font-family:arial;color:#FFFFFF;font-size:10pt;font-weight:bold;padding-top:3px;">

<form id="MySearchForm" name="MySearchForm" onSubmit="returnfalse;">

Find  <input id="MySearchText" name="MySearchText" type="text" size="10" style="font-size:10pt;"  onkeypress="var searchStr = MySearchText.value; var propertyStr = MySearchProperty.value; if(event.keyCode==13  && searchStr!=''){window.open('/Orion/NetPerfMon/Resources/NodeSearchResults.aspx?'+'Property='+propertyStr+'&SearchText='+searchStr);}"/> By

<select id="MySearchProperty" name="MySearchProperty" size="1" style="width:100px;font-size:10pt;">

<option value="Caption">Node Name</option>

<option value="IP_Address">IP Address</option>

</select>

<![if !IE]>

<a id="mySearchLink" onClick="var searchStr = MySearchText.value; var propertyStr = MySearchProperty.value; if(searchStr==''){alert('Node name or IP must be filled out!');} else {window.open('/Orion/NetPerfMon/Resources/NodeSearchResults.aspx?'+'Property='+propertyStr+'&SearchText='+searchStr);}">

Search</a>

<![endif]>

<!--[if IE]>

<button id="mySearchButton" onClick="var searchStr = MySearchText.value; var propertyStr = MySearchProperty.value; if(searchStr==''){alert('Node name or IP must be filled out!');} else {window.open('/Orion/NetPerfMon/Resources/NodeSearchResults.aspx?'+'Property='+propertyStr+'&SearchText='+searchStr);}">

Search</button>

<![endif]-->

</form>

</div>

 

SW-Search-code.jpg

I have tested the code in IE, FF & Chrome, same results from FF & Chrome, but not IE:

 

Firefox V17 and Chrome V27

when press enter with empty search string, page refreshed only

when press enter with non-empty search string, page refreshed and results opened in a new page

when click “Search” text with empty search string, alert message displayed, not refresh page

when click “Search” text  with non-empty search string, results opened in a new page and not refresh page

 

IE 9,

when press enter with empty search string, alert message and page refreshed

when press enter with non-empty search string, page refreshed and results opened in a new page

when click “Search” button with empty search string, alert message displayed AND  refresh page

when click “Search” button  with non-empty search string, results opened in a new page and refresh page

 

I notice it will take a bit longer to load the webpages when you first to load pages after making the changes, but it will be back to “normal” after a few loads. (Not sure why, may be refresh the caches?)

 

Hope this is useful.

 

PLEASE MAKE BACKUPS BEFORE YOU CHANGE THE FILE.

PLEASE TEST THE CODES BEFORE APPLY TO LIVE SYSTEM.

USE THE CODES AT YOUR OWN RISK AND FEEL FREE TO MODIFY THEM.

 

Thanks

 

update:

================================

add onSubmit="returnfalse;" in <form Tag>, now when press "Enter", page NOT refresh any more in IE and others, also NOT refresh when click Search Button in IE. BUT in IE when press Enter, search result page open twice, not in other browsers. Why? any help? Thanks


update: 23/07/2013

================================

fixed issue above.

seems IE handles "Enter" key press as submit button clicked, to stop this:

added return false; in <input> tag:

<input id="MySearchText" name="MySearchText" type="text" size="10" style="font-size:10pt;"  onkeypress="var searchStr = MySearchText.value; var propertyStr = MySearchProperty.value; if(event.keyCode==13  && searchStr!=''){window.open('/Orion/NetPerfMon/Resources/NodeSearchResults.aspx?'+'Property='+propertyStr+'&SearchText='+searchStr);return false;}"/>


update: 24/07/2013

================================

Found a bug in my code:


when you go to page "Admin -> Settings -> SAM Settings -> Browse for Component Monitor", the radio buttons selection not working, see screenshot below

sw-search-error1.jpg

Cause: my codes conflict with code in that page. To see the source code:


sw-search-error2.jpg


The page uses Java scripts to select radio button. In the script, document.form(0) refer to my search form rather than the original one.


Fix: REMOVE <form></form> Tags from my code.

<form id="MySearchForm" name="MySearchForm" onSubmit="returnfalse;">

</form>


update: 02/08/2013

================================

I uploaded modified  PageHeader.ascx (NPM version 10.4). Please test. Thanks



TrippLite UPS Systems

Add “Search for Nodes" element in every Solarwinds Webpages header with ‘hit’ Enter enabled

$
0
0

I have added some codes in “C:\inetpub\SolarWinds\Orion\Controls\PageHeader.ascx” which adds the 'Search for Nodes' element on every SolarWinds webpages in the page header.

 

sw-search.jpg

In order to prevent form resubmission message popup when page is refreshed I try to use “onClick” function instead of using the Submit button. The IE and other browsers (Chrome, FF, ..) seem have different way to handle the onClick event, so in IE the “search” will be a button but not submit button,    in other browsers it will be text.

 

Also, you can just type in the search criteria and hit ‘enter’ then the search will execute (search by node name by default)

 

The codes are:

 

<div style="font-family:arial;color:#FFFFFF;font-size:10pt;font-weight:bold;padding-top:3px;">

<form id="MySearchForm" name="MySearchForm" onSubmit="returnfalse;">

Find  <input id="MySearchText" name="MySearchText" type="text" size="10" style="font-size:10pt;"  onkeypress="var searchStr = MySearchText.value; var propertyStr = MySearchProperty.value; if(event.keyCode==13  && searchStr!=''){window.open('/Orion/NetPerfMon/Resources/NodeSearchResults.aspx?'+'Property='+propertyStr+'&SearchText='+searchStr);}"/> By

<select id="MySearchProperty" name="MySearchProperty" size="1" style="width:100px;font-size:10pt;">

<option value="Caption">Node Name</option>

<option value="IP_Address">IP Address</option>

</select>

<![if !IE]>

<a id="mySearchLink" onClick="var searchStr = MySearchText.value; var propertyStr = MySearchProperty.value; if(searchStr==''){alert('Node name or IP must be filled out!');} else {window.open('/Orion/NetPerfMon/Resources/NodeSearchResults.aspx?'+'Property='+propertyStr+'&SearchText='+searchStr);}">

Search</a>

<![endif]>

<!--[if IE]>

<button id="mySearchButton" onClick="var searchStr = MySearchText.value; var propertyStr = MySearchProperty.value; if(searchStr==''){alert('Node name or IP must be filled out!');} else {window.open('/Orion/NetPerfMon/Resources/NodeSearchResults.aspx?'+'Property='+propertyStr+'&SearchText='+searchStr);}">

Search</button>

<![endif]-->

</form>

</div>

 

SW-Search-code.jpg

I have tested the code in IE, FF & Chrome, same results from FF & Chrome, but not IE:

 

Firefox V17 and Chrome V27

when press enter with empty search string, page refreshed only

when press enter with non-empty search string, page refreshed and results opened in a new page

when click “Search” text with empty search string, alert message displayed, not refresh page

when click “Search” text  with non-empty search string, results opened in a new page and not refresh page

 

IE 9,

when press enter with empty search string, alert message and page refreshed

when press enter with non-empty search string, page refreshed and results opened in a new page

when click “Search” button with empty search string, alert message displayed AND  refresh page

when click “Search” button  with non-empty search string, results opened in a new page and refresh page

 

I notice it will take a bit longer to load the webpages when you first to load pages after making the changes, but it will be back to “normal” after a few loads. (Not sure why, may be refresh the caches?)

 

Hope this is useful.

 

PLEASE MAKE BACKUPS BEFORE YOU CHANGE THE FILE.

PLEASE TEST THE CODES BEFORE APPLY TO LIVE SYSTEM.

USE THE CODES AT YOUR OWN RISK AND FEEL FREE TO MODIFY THEM.

 

Thanks

 

update:

================================

add onSubmit="returnfalse;" in <form Tag>, now when press "Enter", page NOT refresh any more in IE and others, also NOT refresh when click Search Button in IE. BUT in IE when press Enter, search result page open twice, not in other browsers. Why? any help? Thanks


update: 23/07/2013

================================

fixed issue above.

seems IE handles "Enter" key press as submit button clicked, to stop this:

added return false; in <input> tag:

<input id="MySearchText" name="MySearchText" type="text" size="10" style="font-size:10pt;"  onkeypress="var searchStr = MySearchText.value; var propertyStr = MySearchProperty.value; if(event.keyCode==13  && searchStr!=''){window.open('/Orion/NetPerfMon/Resources/NodeSearchResults.aspx?'+'Property='+propertyStr+'&SearchText='+searchStr);return false;}"/>


update: 24/07/2013

================================

Found a bug in my code:


when you go to page "Admin -> Settings -> SAM Settings -> Browse for Component Monitor", the radio buttons selection not working, see screenshot below

sw-search-error1.jpg

Cause: my codes conflict with code in that page. To see the source code:


sw-search-error2.jpg


The page uses Java scripts to select radio button. In the script, document.form(0) refer to my search form rather than the original one.


Fix: REMOVE <form></form> Tags from my code.

<form id="MySearchForm" name="MySearchForm" onSubmit="returnfalse;">

</form>


update: 02/08/2013

================================

I uploaded modified  PageHeader.ascx (NPM version 10.4). Please test. Thanks




Google Maps in Orion NPM - How to Video

$
0
0

I've made some changes to the original Google Maps that I introduced about this time last year. This version provides a status icon on the map for each unique latitude and longitude value in the database. I'm leaving the old one up as it is better for environments where a large number of sites exist, and would simply be too cluttered with a status icon at each site.

 

Prerequisites:

1) Obtain Google API Key for Maps v3

2) Create and populate Custom Properties:

  • Country
  • City
  • Latitude
  • Longitude

 

Installation:

Copy files to the c:\inetpub\SolarWinds\Orion\GoogleMap\

Update your connection string and API key

Create a view in NPM using the Custom HTML resource, configure iFrame

 

See the movie (how to install the mod):

Solarwinds Google Maps Integration - Loop1 Systems - YouTube

 

Read the book (asp files, readme, notes on GitHub):

https://gist.github.com/BarefootAtomic/a396a12541ff97a2ce1f

 

map.png

 

 

Enjoy!

 

Andrew LaGrone
Loop1 Systems, Inc

Palo Alto Percent Session Table Utilization

Current Down Nodes and Interfaces with Duration

My basic Palo Alto UnDP

APC SmartUPS Universal Device Pollers

QoE Protocols_SAM Template_Aug 2014.xlsx

Guide: Add the ability to see historical client count data for Cisco Wireless Controllers


Google Maps in Orion NPM - How to Video

$
0
0

I've made some changes to the original Google Maps that I introduced about this time last year. This version provides a status icon on the map for each unique latitude and longitude value in the database. I'm leaving the old one up as it is better for environments where a large number of sites exist, and would simply be too cluttered with a status icon at each site.

 

Prerequisites:

1) Obtain Google API Key for Maps v3

2) Create and populate Custom Properties:

  • Country
  • City
  • Latitude
  • Longitude

 

Installation:

Copy files to the c:\inetpub\SolarWinds\Orion\GoogleMap\

Update your connection string and API key

Create a view in NPM using the Custom HTML resource, configure iFrame

 

See the movie (how to install the mod):

Solarwinds Google Maps Integration - Loop1 Systems - YouTube

 

Read the book (asp files, readme, notes on GitHub):

https://gist.github.com/BarefootAtomic/a396a12541ff97a2ce1f

 

map.png

 

 

Enjoy!

 

Andrew LaGrone
Loop1 Systems, Inc

APC Battery Replacement Alert

Execute commands via NPM alerts and log the output from your SSH devices. More specifically, how to check the connection counts on your Cisco ASA.

$
0
0

A co-worker and I came up with a hacky way of logging output from a device after an NPM alert has been triggered. For example if your Cisco ASA's connections are spiking and causing problems on your network, and every time you connect to it to drop some commands everything is back to normal. Here's how you grab output from the ASA while the event is happening:

 

1. Simply create your alert in NPM, and for your trigger action use "Execute Program". (hint: OID 1.3.6.1.4.1.9.9.147.1.2.2.2.1.5.40 - row 6)

 

2. Your target program should be a batch file that launches Plink, a variant of PuTTY.

Here's my script: C:\plink.exe -ssh -l USERNAME -pw PASSWORD -m "C:\ciscoscript.txt" DEVICE_IP > C:\ASAconnectionsOutput.txt


3. The "ciscoscript.txt" is simply a file containing the commands you want to run. If your command requires lots of output, on the next line you can include a bunch of spaces so the command cycles through it all.

For example:

en

password

show local-host connection embryonic 500 | in host|count/limit

[insert spaces here]

 

show local-host connection tcp 500 | in host|count/limit

[insert spaces here]

 

show local-host connection udp 500 | in host|count/limit

[insert spaces here]

 

exit

 

Taa-daa! You've now got a way to instantly grab output from an SSH device based on any NPM alert!

Websense WCG.UnDP

Linux Disk IOPS

Viewing all 1956 articles
Browse latest View live


Latest Images

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