1 2 3 4 Previous Next

Geek Speak

81 Posts authored by: Bronx

SAM offers a detailed view of your SQL databases' performance without the use of agents or templates by using the AppInsight for SQL embedded application. AppInsight for SQL provides a level of detail and expert knowledge far beyond what a SQL template can provide, allowing you to monitor virtually every aspect of your SQL instances and databases.


Like any unassigned application in SAM, AppInsight for SQL is considered a template until it is applied. Therefore, it is a member of the Application Monitor Templates collection. Once applied to a node, AppInsight for SQL is considered an application. Like any SAM application, AppInsight for SQL is comprised of multiple component monitors, also known as performance counters.

Make Sure You're Ready for it!


AppInsight for SQL Requirements and Permissions

AppInsight for SQL data is collected at the same default five minute polling interval as traditional application templates. Following are the requirements and permissions needed for AppInsight for SQL:

AppInsight for SQL Requirements

AppInsight for SQL supports the following versions of Microsoft SQL Server:


Microsoft SQL Server 2008

Without SP




Microsoft SQL Server 2008R2

Without SP



Microsoft SQL Server 2012

Without SP


AppInsight for SQL Permissions

The minimum SQL permissions required to use AppInsight for SQL are as follows:

  • Must be a member of the db_datareader role on the msdb system database.
  • View any definition.
  • Connect permission to Master database.
  • Execute permission on the Xp_readerrorlog
  • Connect permission to the Msdb
  • Must be member of db_datareader role in the Msdb
  • Connect permission to all databases.


Note: AppInsight for SQL supports both the SNMP and WMI protocols and uses SQL to gather information about the application. Additional information is available for nodes managed via WMI.


The following script will configure permissions:

USE master



EXEC sp_adduser @loginame = 'AppInsightUser' ,@name_in_db = 'AppInsightUser'

GRANT EXECUTE ON xp_readerrorlog TO AppInsightUser

USE msdb

EXEC sp_adduser @loginame = 'AppInsightUser' ,@name_in_db = 'AppInsightUser'

EXEC sp_addrolemember N'db_datareader', N'AppInsightUser'

EXECUTE sp_MSforeachdb 'USE [?]; EXEC sp_adduser @loginame  = ''AppInsightUser'', @name_in_db = ''AppInsightUser'''

Learn it!


Expert Knowledge!

Every SQL counter, both in SAM and the Admin Guide, will contain expert knowledge. This will allow you to resolve issues quicker than ever!

For example:


Lazy Writes/

The lazy writer is a system process that flushes out buffers that contain changes that must be written back to disk before the buffer can be reused for a different page and makes them available to user processes.

This counter tracks how many times per second that the Lazy Writer process is moving dirty pages from the buffer to disk in order to free up buffer space. The Lazy Writer eliminates the need to perform frequent checkpoints in order to create available buffers.

Generally speaking, this should not be a high value, say more than 20 per second. Ideally, it should be close to zero. If it is zero, this indicates that your SQL Server's buffer cache is large and your SQL Server does not need to free up dirty pages.

Possible problems:
If the returned value is high, this can indicate that your SQL Server's buffer cache is small and that your SQL Server needs to free up dirty pages.

Check your SQL server and verify its memory is being used efficiently. Applications other than SQL may be using a great deal of memory. Try and recover memory by closing unnecessary applications. Installing additional memory may also help.

You will find this type of information on the Component Details page for every AppInsight for SQL performance counter!

The following illustration explains the Template and Application relationship.


Here you can see that if you change something at the template level, the applications based on that template will be affected. Conversely, if you change something on the application level, only the individual application will be affected. This inheritance relationship is beneficial if you need to make a great deal of changes quickly. For example, rather than change one item on 100 applications that are based on a single template (which requires 100 changes), you can more easily change the one item on the template. That one change in the template will trickle down to all 100 applications that are based on the template.




Now you know the secret that makes SAM so powerful and flexible!

Remember when you turned on your computer for the first time and it was fast? (Even that wasn't fast enough for me.) Over time, most computers slow down. The reasons are usually software related in some way, shape, or form. The good news is you can get that speed back, and probably more!

Tips to keep your rig moving at warp speed:

  • If possible, turn the page file off. What's the page file? When a computer runs out of available memory (RAM) by default it uses free hard drive space to act as extra RAM. This is known as the page file, or swap file. Typical RAM is strictly electronic and involves no moving parts. Having the page file enabled slows your computer down because of the time involved with RAM reading from and writing to the hard drive. Needless to say, this also wastes hard drive space. I began disabling the page file back in ye olden days when 512MB came with my machine. Haven't had a problem since. With 16GB of RAM today, I feel pretty safe without the page file slowing things down.
  • Add RAM.  More RAM = More gooder (sic). RAM memory gives more breathing room to your programs, allowing them to operate more freely, and thus, faster.
  • Uninstall useless programs. Useless programs can start unnecessary processes and services in the background, wasting valuable resources. Tell them to hit the bricks!
  • Clear your Startup folder. Many programs like to start with Windows. They sometimes hide in the Startup folder in the Start menu. If you don't need anything starting with Windows, delete it.
  • Kill unnecessary services and processes. Once you've removed your useless programs and cleared your Startup folder, you still may have unnecessary processes and services running. I cannot tell you which ones you should terminate, but I will tell you how to do it:
    1. From the Start menu, type msconfig
    2. Navigate to both the Services and Startup tabs. For safety, you may want to check the Hide all Microsoft services box, as shown below:
    3. From these tabs, determine which processes and services you can uncheck. By doing so, you are telling Windows not to run these programs once you reboot, thereby using fewer resources.
  • Optimize your internet connection. By default, your internet connection settings are not maximized. To make life easy, a free program called TCP Optimizer was created to achieve just this. There are many settings you can tinker with, or you can just use the program's recommendations. A great deal of good documentation is on their website for those of you who enjoy this type of stuff.
  • Get rid of the viruses and spyware. An obvious realization to be sure. I prefer Spybot - Search and Destroy and CCleaner.
  • Ensure your Antivirus solution has a small footprint. There are several AV programs out there that are resource hogs. I've removed them from my computers for just that reason. I prefer something that is lightweight as far as resources go. Do a little investigation and see which one is right for you. I prefer AVG and Avast. They're free, have a small footprint, and can be set as to not interfere with your surfing.
  • Defragment you hard drive and registry. Over time, data can become fragmented, meaning that the way data are arranged on your hard drive is not optimal for reading and writing by said hard drive. Defragmenting will ensure everything is where it should be and that hard drive reading and writing is optimal. Windows does come with a basic hard drive defragmenter, but has nothing for the registry. Personally, I prefer the free defragmenting program from Auslogics over the Windows version.
  • Clean your registry. You'd be surprised how many junk registry entries your computer has. Last time I checked, I had over 3,000, all useless junk. Again, Auslogics offers a great free tool for just this purpose.
  • Update everything. Windows, and most other vendors, offer regular updates to their software. Getting the latest and greatest just may help speed things up.
  • Reboot once in a while. If you're like me, you keep your computer on 24/7. To a computer, a reboot once in a while is like you or me stepping out of the shower and putting on brand new clothes. It just feels nice and fresh.
  • Grab an internal Solid State Drive. Read about the benefits here.

You want more speed.

The aforementioned tips were designed to add a bit more pep to your computer. In fact, I use them all the time. Now you're thinking, "What more can I do? I still want more speed."


The next logical step would be to speed up your individual programs. Being a writer, you would think I would suggest reading the manuals for all of your software. (Actually that's a good idea.) I would also suggest navigating to the Settings or Preferences menu of your software and visiting each option provided. Usually, there are settings available to help make the software run more efficiently, or at least suit your needs. Take Server & Application Monitor (SAM) for instance. SAM is a great program with many settings and a large database attached. Here are some SAM optimization tips:

Let's get SolarWinds SAM up to speed.

Use these tips to help keep SAM happy:

  • Make sure to regularly re-index tables.
  • Try not to have the polling interval set to below 300 seconds on non-critical monitors.
  • Avoid using RAID 5 for your SQL Server. RAID 10 is recommended.
  • Make sure nightly database maintenance runs.
  • Do not increase the retention settings beyond what your server is capable of handling.

Hopefully you'll incorporate as many of these tips as possible. Remember, if we wanted slow computers, we'd all still be running a 386. Yikes!


Posted by Bronx Jun 24, 2013

Are you champing at the bit while waiting for SAM 6.0 to be released? I don't blame you. I am too and for a different reason. Suffice to say, this release will be a beast! It is the musical equivalent of Liszt's Hungarian Rhapsody No. 2. What does this mean for you? Well, I can't give away all the secrets, but I liken the new features and views they provide to the cockpit of the space shuttle. Ridiculous!

So, what can I tell you? Not much; however, you can get a sneak peak of some of the new features here.

Real Time Event Viewer

In SAM 5.0, we introduced the the Real Time Process Explorer. In 5.5 we took it a step further with the Service Control Manager. Now, in SAM 6.OMG, we are offering the Real Time Event Viewer - and it's just where you'd expect to find it!


Here's a better view, just to tease you a little more:


This, my friends, is cool. But it pales in comparison to the other really, really, really cool features I can't mention! Why do you think I'm calling it SAM 6.OMG? Because it's bigger, better, and cooler than anything else we've ever done - and we're all working ourselves to the breaking point, but we love it!

The following example will terminate all instances of notepad.exe on an alert status of Down using PowerShell:

  1. In the Trigger Action of the Advanced Alert, add a new action type of Execute an external program.
  2. In the program to execute, type in "PowerShell" and the rest of the command line arguments, or the path to your PowerShell script.

Following is an example that terminates all running instances of notepad.exe.
Note: You will need to enable impersonation through your PowerShell script or run the Advanced Alert Manager under a user account with elevated privileges.


Build your own Widget

Posted by Bronx May 13, 2013

For those of you who have read my posts, you'll know that I love to tinker and share my "tinkerings" with you. To date, we have the following toys:

Today's lesson will be simple: "Build a Generic Widget" To do this, you will need to have VB.net installed. If you have not installed it already (shame on you) then follow lessons 1 and 2, found here. Once you have that set up, come back here and we will build a simple widget...in this case a real-time stock ticker.


This is simple to create because I cheated (cheating is allowed if it's for yourself). I could have (and have done so before) had the ticker read and parse RSS feeds to produce the same result, but why? My cheat is simple. The above ticker is comprised of two elements, a web browser, and a picture. That's it! Here's how I did it:


First, I added a web browser from the toolbox. Next, I re-sized it and offset it off of the form (essentially cropping everything except the stock price on that web page). I've highlighted the web browser going beyond the bounds of the form.


Below the web browser control is a Picture box control. At this point, I set the URL property of the web browser to "https://www.google.com/finance?client=ig&q=NYSE:SWI" which is SolarWinds real-time stock price. I then set the picture box control to a chart of SolarWinds' stock price. So the code looks like this (Note the code for both subs is the same. We're putting the same code in the Form_Load event so we don't have to wait ten seconds to retrieve the data as dictated by the timer):


Public Class Form1

Dim market$

    Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load

        On Error Resume Next

        market$ = "http://chart.finance.yahoo.com/t?s=SWI&lang=en-US&region=US&width=300&height=180"

        dow.Image = New System.Drawing.Bitmap(New IO.MemoryStream(New System.Net.WebClient().DownloadData(market$)))

        dow.SizeMode = PictureBoxSizeMode.StretchImage

End Sub

Private Sub timDow_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timDow.Tick

        On Error Resume Next

        market$ = "http://chart.finance.yahoo.com/t?s=SWI&lang=en-US&region=US&width=300&height=180"

        dow.Image = New System.Drawing.Bitmap(New IO.MemoryStream(New System.Net.WebClient().DownloadData(market$)))

        dow.SizeMode = PictureBoxSizeMode.StretchImage

    End Sub

End Class


Steps to create this:

  1. Add a web browser to the Form
  2. Set the SuppressScriptErrors property to True and the ShowScrollbars property to False.for the web browser.
  3. Set the web browser URL property to "https://www.google.com/finance?client=ig&q=NYSE:SWI"
  4. Add a picture box to the form positioned below the web browser and name it, "Dow"
  5. Add a timer to the form and call it, "timdow"
  6. Set the timer to be Enabled
  7. Set the timer's interval property to 10000 (10 seconds)
  8. Tighten the form to make it small
  9. Set the form property, Topmost to True.
  10. Set the Text property of the form to what you want the caption to read.
  11. Paste the code above in your project and you're done! Just run and/or build it.


You will have to play around with the positioning and sizing to get everything just right. Now imagine what you can build if you change the web addresses to something else, or if you added more picture boxes. You can do anything!


Posted by Bronx May 8, 2013

In this posting, aLTeReGo points out what we're working on for the next release of SAM. One of the major improvements he mentions is SQL database monitoring. Once this release is out in the wild, I'm sure all of you DBAs and Sysadmins will be very happy; however, this is today. Today this new feature is not quite finished being cooked. In the meantime, I'll share a tip, courtesy of fellow thwackian, rhrland2021.


Say you're using SAM to monitor your SQL server(s), and say like many shops you may have multiple instances of sqlservr.exe. You want to monitor them individually, so you can see which instances/DBs might be chewing CPU at inopportune times. In this example, I have four instances I want to monitor - call them DB1, DB2, DB3, and DB4. By using command-line filtering when setting up the application monitor, I can instruct SAM to monitor specific instances. When viewing Task Manager on the SQL server, we see that each of the separate instance executables use a switch to specify instance - something like -sDB1 is found at the end of that invoked instance. I enter that switch into the command-line filter of my SAM template, I get a nice, accurate list of the specific instances and their respective memory and CPU use. Easy! Bigger shops in crazy I/O environments can use this as a first stop when examining basic SQL health.


Here's a sample snip that shows me how these procs are doing:


Monitoring Hardware HealthMonitoring Hardware HealthMonitoring Hardware HealthCreating AlertsApplications DefinedGlossary of TermsComponent Monitor LibraryTroubleshootingSAM Template LibraryManaging the Web ConsoleHow Does SAM Work?Creating and Viewing ReportsCreating and Viewing ReportsManaging Groups and DependenciesThreshold TypesThreshold TypesThreshold TypesSAMManaging SolarWinds SAM Polling EnginesManaging SolarWinds SAM Polling EnginesManaging SolarWinds SAM Polling EnginesManaging SolarWinds SAM Polling EnginesManaging the SolarWinds SAM DatabaseAll Applications TreeManaging the Display of Group StatusThe AdministratorNetwork Sonar DiscoveryApplication DiscoveryComponent Monitor WizardAcknowledging Advanced Alerts in the Web ConsoleDial Paging or SMS Servicehttp://www.solarwinds.com/NetPerfMon/SolarWinds/wwhelp/wwhimpl/common/html/wwhelp.htm#context=SolarWinds&file=OrionAPMAGUsingPredefinedOrionAPMReports.htmAcknowledging Advanced Alerts in the Web ConsoleBossAcknowledging Advanced Alerts in the Web Console

Ever want to dip your toes into the code pool but were just too intimidated? Here's your chance. The code below is fairly simple. All it really does, when placed within the body of a Windows Script Monitor, is tell you the number of days until your SSL Certificate will expire. Read through the code. Everything after the apostrophe (') is a user comment that explains that section of the code. Hopefully, this will give you a little more confidence when editing scripts.

BTW: SAM has an SSL Expiration Date Monitor which can be found here. The following example demonstrates a typical use case scenario using a Windows Script Monitor utilizing VB script.

Warning: The code below is user-submitted. Use at your own risk. SolarWinds is not responsible for the impact this code may have on your system. Exercise caution when executing any code with which you are not familiar.

Note: This is merely a demonstration of how you can use VB script with the Windows Script Monitor.

In order to calculate the number of days until an SSL certificate expires, a vbscript can be implemented with the Windows Script Monitor. This script relies on OpenSSL being installed on your SolarWinds server to check for the expiration date. The script below accepts one argument in the form of a URL, with the socket number, and returns the statistic in the number of days remaining until expiration. Before using this script you need to install OpenSSL, which is freely available on the internet. Ensure the path given below has the OpenSSL plug-in installed or change the path as per your OpenSSL plug-in. For each instance of the monitor, change the text file that the monitor writes to, (e.g.: cer1.txt, cer2.txt), otherwise the monitors may return a value of, "Unknown."


Installation: You will need to pass the argument site name plus the port number.

Example: www.google.co.uk:443


Simply copy and paste the code below into your Windows Script Monitor.


Option Explicit

Dim oShell
Dim ArgObj
Dim Fh
Dim Line
Dim Expiry
Dim DaysLeft
Dim ExpDate
Dim oExec
Dim cert
Dim tstream
Dim i
Dim str
Dim PluginPath
Dim CertFilePath
Dim char
Dim XString

Const ForReading = 1

CertFilePath = "C:\TMP\cert99.txt"
PluginPath = "C:\Program Files\Solarwinds\Common\OpenSSL\bin\"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set tstream = FSO.createtextfile(CertFilePath, True)

ArgObj = wscript.Arguments(0)

Set oShell = wscript.CreateObject("WScript.Shell")

'Calling funtion to retieve the host
Set oExec = oShell.exec(PluginPath & "openssl.exe s_client -connect " & ArgObj)

'Write the certificate into a text file
Do Until oExec.StdOut.AtEndOfStream
    char = oExec.StdOut.Read(1)
    tstream.Write (char)

    If Len(XString) < 20 Then
XString = XString & char
    ElseIf XString = "END CERTIFICATE-----" Then

Exit Do

XString = Mid(XString, 2, 19)
XString = XString & char
    End If



'Read SSL certificate for start date and end date
Set oExec = oShell.exec(PluginPath & "openssl.exe x509 -noout -in " & CertFilePath & " -dates")

'Return start date and end date of the certificate
Line = oExec.StdOut.Readall

'Get the expiration date of the certificate
Expiry = (Mid(Line, Len(Line) - 24, 24))
ExpDate = ConvertDate(Expiry)

'Calculating number of days
DaysLeft = DateDiff("d", Now(), ExpDate)

'Display the number of days remaining until expiration
wscript.echo "Statistic: " & DaysLeft
wscript.echo "Message: Number of days remaning of expiry for SSL certificate are " & DaysLeft

'Object Closing code
Set oShell = Nothing
Set oExec = Nothing

'This function converts the date into the required format
Function ConvertDate(DateStr)

Dim Components
Dim Month
Dim Day
Dim Year

Components = Split(DateStr)

Select Case Components(0)
    Case "Jan", "January"
    Month = 1

    Case "Feb", "February"
    Month = 2

    Case "Mar", "March"
    Month = 3

    Case "Apr", "April"
    Month = 4

    Case "May"
    Month = 5

    Case "Jun", "June"
    Month = 6

    Case "Jul", "July"
    Month = 7

    Case "Aug", "August"
    Month = 8

    Case "Sep", "Sept", "September"
    Month = 9

    Case "Oct", "October"
    Month = 10

    Case "Nov", "November"
    Month = 11

    Case "Dec", "December"
    Month = 12

Case Else

    Month = 1

End Select

    Day = Components(1)
    Year = Components(3)

If UBound(Components) = 5 Then
    Day = Components(2)
    Year = Components(4)
    Day = Components(1)
    Year = Components(3)
End If

ConvertDate = CDate(Day & "/" & Month & "/" & Year)

End Function

SAM monitors hardware by polling nodes and utilizing the Hardware Monitoring Agent software provided by the hardware manufacturer. SAM can monitor hardware from VMware hosts, HP ProLiant, Dell PowerEdge, and the IBM X-Series using this software. Hardware monitoring is achieved by polling via SNMP or WMI, depending upon the node. For SNMP and WMI nodes, hardware monitoring must be enabled manually through SAM's web console.

If you run a scheduled Network Sonar Discovery of your existing servers, SAM will automatically collect any servers that support hardware health information the next time the discovery runs.
Note: Only SAM administrators can enable hardware health monitoring.


Hardware Prerequisite Checklist

If the following conditions cannot be met, the Hardware Health resources will not be displayed. To monitor hardware in SAM, the following must be true:

  • The monitored node must be HP Proliant, Dell PoweEdge, IBM X-Series, HP C7000, HP C3000, or Dell M1000e.
  • The node must be monitored using one of the following protocols:
    • SNMP
    • WMI
    • ICMP nodes are allowed for VMWare when the Poll for VMware option is selected.
  • The Hardware Monitoring Agent software, (provided by the vendor), is installed on the remote server. This applies for both SNMP and WMI.
  • For VMware, the minimum requirements are as follows: ESX server version 3.5, 4.0, 4.1, ESXi version 5.0, vCenter version 4.0, 4.1, 5.0.


The following systems have been verified to work properly with SAM's hardware monitoring features.
Other systems may work as well.

  • Dell PowerEdge M610, R210, R610, R710, R900, 1950, 2850, 2950, 2970, 6850
  • HP ProLiant DL320 G4, DL360 G3, DL360 G4, DL380 G4, DL380 G6, ML570 G3
  • IBM IBM System x3550, System x3550 M2, System x3550 M3, System x3650, System x3650 M2, System x3650 M3, x3850, eServer 306m
  • HP C7000, HP C3000
  • Dell M1000e.


Note: IBM's ServeRAID Manager software must be installed on IBM X-Series servers for storage hardware health information to be displayed in SolarWinds SAM. HP’s WBEM providers are required for HP servers polled via WMI.


Hardware Troubleshooting Flowchart


Troubleshooting an SNMP Node

The most common issue customers face is that hardware information is not available via SNMP because the Hardware Monitoring Agent software was installed before SNMP was installed. This means MIBs were never installed and/or configured correctly. The easiest solution is to uninstall and then re-install the Hardware Monitoring Agent software after installing SNMP on the server. If this is not the case, follow the troubleshooting steps as outlined below:


  1. Verify the node was successfully added using SNMP.



   2. Verify the Hardware Monitoring Agent software is installed on the remote server and running.

   3. Determine if SNMP responds for the proper OID. Below are the correct OIDS for each vendor:


For HP:

For Dell:

For IBM:


  • To determine if the remote server responds to the correct OID, you can use the MIB browser from SolarWinds Engineer’s Toolset, which can be downloaded from http://www.solarwinds.com/downloads/. Additionally, you can use other applications capable of making SNMP requests.

If you do not have a tool for checking OIDs on the remote server, you can create an SNMP walk by using the SNMPWalk.exe installed with SAM, normally located at C:\Program Files (x86)\SolarWinds\Orion\SnmpWalk.exe. SNMPWalk.exe will be used in this demonstration.


Using SNMPWalk.exe:


  1. Start SNMPWalk.exe  and type in the IP address of the remote server and the community string for SNMP.
  2. Click Scan.
  3. After completing the scan, save the SNMP walk in a text file.
  4. Open the text file and manually search for the OIDs.
  5. If the Remote Server does not respond on this OID, the Hardware Monitoring Agent software may not be properly configured. Check to see if the Hardware Monitoring Agent software has imported the correct MIBs as outlined in the following table.



Troubleshooting a WMI Node

The following conditions must be met before you can proceed troubleshooting WMI nodes:

  • The node has successfully been added via WMI.
  • WMI is working properly on the remote server.
  • The Hardware Monitoring Agent software is installed on the remote server and running.


Using Wbemtest.exe to troubleshoot WMI:

  1. Open wbemtest.exe, usually located at C:\Windows\System32\wbem\wbemtest.exe.
  2. Connect from the problematic node (either the SAM server or the additional poller server) to the remote server using wbemtest.exe.
  3. Click Connect.
  4. In the Namespace field enter:

For IBM and HP enter: \\RemoteServerIpAddress\root
For Dell enter: \\RemoteServerIpAddress\root\cimv2


   5. Enter Administrator credentials

   6. Click Connect.

   7. Once connected, click Query… from the main screen. The Query dialog appears.

   8. Enter: select * from __Namespace


Replace Namespace with the following:

  • For HP nodes, replace Namespace with HPQ
  • For Dell nodes replace Namespace with Dell
  • For IBM nodes replace Namespace with IBMSD

  9.   If the proper Namespace is found, connect to this Namespace.

  • \\RemoteServerIpAddress\root\IBMSD for IBM.
  • \\RemoteServerIpAddress\root\HPQ for HP.
  • \\RemoteServerIpAddress\root\cimv2\Dell for Dell.


   10. Run a Query for specific information.

        Select Manufacturer, Model, Serial Number from CIM Chassis

  • If the test was not successful, re-install the platform or Hardware Monitoring on the remote server with the latest release.


Troubleshooting a VMWare Node


VMWare nodes can be polled for Hardware information either through the vCenter or directly by using the CIM protocol. Polling through the vCenter uses VMWare's native API interface. Polling the ESX server directly uses the CIM protocol to get Hardware information.

To determine if a node is polled through the vCenter or directly:


  1. From the web console, navigate to Settings > Virtualization Settings
  2. Listed will be table of all the currently polled VMWare nodes. This table contains the Polling Through column. Note: This column may be hidden. If the column is hidden, unhide it by clicking the dropdown menu of an adjacent column and check the Polling Through option:
  3. Use the illustration below to determine how your VMWare is being polled.



Posted by Bronx Apr 8, 2013

I would love nothing better than to explain the virtues of Lever 2000 (Original), or discuss the 1970's sitcom, but alas, this rant will be about the computer version of SOAP.


What is SOAP?

From Wikipedia, "SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks. It relies on Extensible Markup Language (XML) for its message format, and usually relies on other Application Layer protocols, most notably Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission."


In English

SOAP is something used so that multiple computers can talk to one another and exchange information.


What are SOAP's characteristics?

From Wikipedia, "SOAP can form the foundation layer of a web services protocol stack, providing a basic messaging framework upon which web services can be built. This XML based protocol consists of three parts: an envelope, which defines what is in the message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing procedure calls and responses. SOAP has three major characteristics: Extensibility (security and WS-routing are among the extensions under development), Neutrality (SOAP can be used over any transport protocol such as HTTP, SMTP, TCP, or JMS) and Independence (SOAP allows for any programming model). As an example of how SOAP procedures can be used, a SOAP message could be sent to a web site that has web services enabled, such as a real-estate price database, with the parameters needed for a search. The site would then return an XML-formatted document with the resulting data, e.g., prices, location, features. With the data being returned in a standardized machine-parsable format, it can then be integrated directly into a third-party web site or application."

In English

SOAP is like an HTML-based communication system that delivers and receives messages/instructions.


SOAP Example

From Wikipedia:

POST /InStock HTTP/1.1

Host: www.example.org

Content-Type: application/soap+xml; charset=utf-8

Content-Length: 299

SOAPAction: "http://www.w3.org/2003/05/soap-envelope"


<?xml version="1.0"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">




  <m:GetStockPrice xmlns:m="http://www.example.org/stock">





In English

The following header of the example gives instructions on where to go and how to get there:

POST /InStock HTTP/1.1 - What are we doing and how are we going to get somewhere? (POSTing using HTTP).

Host: www.example.org - Where we're going. (www.example.org).

Content-Type: application/soap+xml; charset=utf-8 - What format will the content be in? (XML).

Content-Length: 299 - How large is the content? 299.

SOAPAction: "http://www.w3.org/2003/05/soap-envelope" - The action SOAP is based on. http://www.w3.org/2003/05/soap-envelope


The body. Essentially, this XML snippet is going to a website that provides stock prices and is getting the price of IBM, as shown between the BODY tags.

<?xml version="1.0"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">




  <m:GetStockPrice xmlns:m="http://www.example.org/stock">





Comments Needed!

Posted by Bronx Apr 2, 2013

If you've been a SolarWinds customer, even for a short time, then you've no doubt realized that we move at breakneck speed while continuing to evolve. Our Help system is no exception to this fast paced evolution. Currently, the InfoDev team, including myself, is exploring various new methods of providing documentation to you, the user. (It's not as boring as it sounds.)


Help with Help

My little team down here in the dungeon has come up with some interesting ideas to make life easier for you. Although I cannot promise anything, some improvements may include the following:

  • A more responsive Help system
  • Graphics that better illustrate where things are
  • Videos that demonstrate key tasks
  • A place for users to provide visible feedback on each Help page so they in turn can help other users
  • A "How To..." section that demonstrates real world examples of how to actually do something useful

That last bullet point is where you come in. To keep the pace running smoothly in eighth gear, I have some questions for you. The following are example questions. Feel free to answer any or all of them. Go off-roading and answer your own questions if you like! The bottom line is, we're looking for "How To..." questions and answers. Below are just some examples, but add to the list if you can.


Customizing SAM:

  • How have you customized SAM to make your job easier?
    • Creating a Custom View that works for you. What makes your approach efficient/unique?
    • Custom scripts – how you’ve implemented them and why. How does your custom script simplify your life? What does it do?
    • Do you use SAM to trigger third-party apps? If so, which ones and why? How does this help in your environment?
    • Do you use Groups? If so, how are objects grouped in your environment and why?
    • What other SW products do you integrate SAM with and how do you use them together?


The more questions we get with answers, the more valuable the next version of Help will be. And, if it's alright with you, we'll stick'm in the Admin Guides. (You'll be famous! - in a geeky sorta way.)

In the world of software development, the developers and user interface designers are the ones who get all the praise when a new or improved product sets sail. The technical writers are almost always left behind on the dock, silently watching their ship sail without them. The sad truth is that you'll never hear a user say, "Wow, this new manual is great and chock full of useful information! Long live the technical writers!" (Although I must admit, it did happen to me only once.)


Who are we?

We are grammatical surgeons, verbal marksmen, and technological gymnasts. We flout the laws of fashion, consider personal grooming optional, and, for our own amusement, we dangle participles. (See what I did there?) We are philosophically spotless in our own minds (and as you may have guessed, a little weird).


Most people in the world would consider themselves lucky if they had only one passion in life. Technical writers have at least two: writing, and technology. If you're an expert in these two disciplines, you my friend, can be a technical writer! (But would you want to be?) We are the people who sit in a dark corner, illuminated only by the glow of our four computer monitors, tirelessly researching and typing away so you, the user, will have no need to call to the other unsung heroes of the software development world, Technical Support. This li'l cartoon helped me verify my occupation as being worthwhile:


What do we do?

  • We create the help files for all of our software
  • We contemplate every word of every sentence
  • We simplify the complex
  • We add the informative language used in interface messages (as opposed to the comical ones I would prefer )
  • We create documents separate from the help files designed to educate the user. Take a look here for my SAM contributions
  • We create knowledge base articles for quick fixes
  • We provide interactive help here on thwack
  • We write these blog articles


Why are we unsung heroes?

Well, I think we're kind of like the news. You never turn on ye old TV and expect to hear good news all the time. Bad or unexpected news is much more dramatic. That said, if we as technical writers miss something, that misstep is pointed out posthaste by the user. So by default, we're "unsung," as it were. Really, look at all the praise we don't get around the world. Sadly, an absence of complaints is our praise. No one notices you when people aren't complaining, and I suspect that's true for most of the working world (although this guy really likes us)!

I guess we've just been sung.

If you've been running SAM with additional pollers, you're no doubt aware that you had a choice between the Poller-Bound option, or the Local-Only option.


SAM 5.5 Removed the Local-Only Option - (Yes, this option is no more, but fear not.)

Normally, an administrator would use the Local-Only mode to control which ports are open between SAM and the managed nodes (a security feature of sorts).  Selecting this option also allowed you to more evenly balance the load of the additional pollers. The Poller-Bound option meant SAM would need to be installed on every polling engine.

What Does this Mean for You?

Nothing if you don't use additional pollers, or have been using the Poller-Bound option all along. However, if you are in the minority and want to preserve the effect of local polling provided by earlier versions of SAM, you will need to migrate all nodes with applications assigned to them to the primary SAM server. (We made it easy for you.) Simply follow the instructions in this article and run the attached report. (I know, sometimes change sucks, but we're here to help.)

For those of who have been reading my articles, you'll recognize that I like options, and hate tedious work. Automating tedious work will be the subject of today's rant.


To Automate or not to Automate? That is the Question.

Recently, the team of technical writers here at SolarWinds was given the directive to start submitting daily reports, as opposed to weekly. As you could well imagine, I grumbled. After huffing and puffing to myself for a few moments, I began the task of automating this banal task. The automation was fairly simple. I wrote a script that scans various folders and calendars within Outlook, in addition to some work folders on my dev box. The script searches for any file or task that matches the current date. I then had the script take all of that collected information and neatly order it into a pre-addressed email that was to be automatically sent to the higher-ups every day at 4:30 pm. Voila! Tedious work be gone!


Slow Down.

I thought I was clever by creating this script, then I thought again. Having an email automatically sent out on a daily basis to your boss without having reviewed it first seemed...let's just say, stupid. Suffice to say, 95% of my tedium has been defenestrated. (That's a $5 word you should look up .) I now have my report generated and sent only when I press the button and after having reviewed it first.


Automation is not a Substitute for Responsibility.

We all remember the movie, WarGames. In the opening scene, everything war related was automated up until the point nuclear warheads came into play. It was at this last stage that the human element was introduced to "turn the key." The plot focused on the removal of this human element and the potential consequences. (Think sending an unread, automatic email to your boss is bad? Sheesh!)


The Point

Yes, tedious work sucks. We know that. Automation is great. We know that too. The real point is (drum roll)...balance. "Lesson not just karate only, lesson for whole life. Whole life have a balance, everything be better. Understand?" - Mr. Miyagi (The Karate Kid).


SolarWinds and Balance

We have many products here that automate mundane tasks, and they can do almost anything. Let's take a look at SAM, for example. Once up and running, SAM can monitor your hardware, your applications, your logs, and so on. SAM also allows you to be alerted when something goes awry, and take action if this is your wish. The key here is that you are in control, not the machine. SAM has a wide array of features that help you automate your sysadmin world, not control it. Take a look at what it can do, with just a little help from you:



For the complete list click here.

Filter Blog

By date: By tag:

SolarWinds uses cookies on its websites to make your online experience easier and better. By using our website, you consent to our use of cookies. For more information on cookies, see our cookie policy.