cancel
Showing results for 
Search instead for 
Did you mean: 
Create Post
Level 7

Execute script or program on a specific polling engine

Background: We're monitoring some devices in SolarWinds that switch between wired and wireless networks. Since the IP address changes, DNS records update, and SW marks the device down. As a fix, I want to create an alert that will either run a script or a exe to flush DNS on that polling engine that monitors the node that went down after it goes down. I've got two problems:

1. SolarWinds can't run the vbs script to flush DNS because Windows won't allow it. I don't have and cannot get the credentials for the local Admin on the servers. 

2. I can tell Windows to run the DNS flush exe file as administrator and it will work. I can also place the file on each polling engine, but how can I tell SolarWinds to execute the exe file on a particular Polling Engine or on all Polling Engines? We have 8 I believe. This is what I have so far. Is this correct? Is there a better way to accomplish what I want? Thanks. 

trigger.JPG

0 Kudos
4 Replies
Level 7

If I configure the path to the external program as: c:\flushdns.exe and then place that file in that directory on the main polling engines, is that not enough? If nodes in this group go down on the additional polling engines, what is the impact of this alert on them?

0 Kudos
Level 10

Hi @coult45usmc,

For issue 1: It might be related to this: https://support.solarwinds.com/SuccessCenter/s/article/Check-Replace-a-process-level-token-account-p....  I haven't attempted this in my environment yet because I want to see how password changes of the local admin account will impact the running of the Orion services.  Gotta spin up a test environment first.  I'm in the same boat about not knowing the local admin password for the Windows servers (handled by a different team in my organization), so I have to engage them to test/implement.

Aside from that, perhaps someone else will know better.

 

For issue 2: In order to get the execution on all of the polling engines, you will need to create an action for each of those polling engines in the alert.  The information below the network path provides the detail to form the addresses.  A point of note will be that if you're using HA on you main poller, you will need to identify your main pollers (both active and standby) explicitly as the path you're currently displaying will only run on the active main poller.

0 Kudos

I might be thinking about this wrong, but I feel like (for issue 2) what you are suggesting is just going to keep running the dns flush executable on the main polling engine multiple times from different file locations. That section you are talking about seems to be only for the location of the file or program and does not specify where the program is executed. 

0 Kudos

Sorry, I didn't word that clearly enough.

For issue 2: there are 2 methods of addressing the path to the script/command/program you wish to execute.

  1. Method 1: do not define the name of the server that will execute the command. This means that the command will be executed on the active main polling engine.
  2. Method 2: define the name of the server that will execute the command. This is required if you want to execute on a server other than the active main polling engine.

Those are specified here:

methods.png

To illustrate, let's assume an environment of 2 servers for MAIN (HA: active & standby) and 2 servers as an APE (HA: active & standby). That would look like this:

servers.png

If I create an Execute and External Program action with a Network path to external program of: C:\flushdns.exe, it will only be executed on orion1.example.com. If the Orion HA fails-over and the Active/Standby switch, the next time the action is executed it will run only on orion2.example.com.

However, if I create an Execute and External Program action for each one of the servers, with the server name at the beginning of the path, it will be executed on all of the Orion servers. Example:
action 1 Network path to external program = \\orion1.example.com\flushdns.exe
action 2 Network path to external program = \\orion2.example.com\flushdns.exe
action 3 Network path to external program = \\orion3.example.com\flushdns.exe
action 4 Network path to external program = \\orion4.example.com\flushdns.exe

This should cause the action to be executed on all 4 servers.  (I'm not sure if the C: drive needs to be specified or not, have to test it but can't at this time)

0 Kudos