Network topology automation

Default basic automation

StifleR automatically ‘learns’ about networks as the StifleR clients connect and report data to the server. The server builds up a list of subnets with a default bandwidth limit set for each new one that is discovered. This information is stored in the StifleR database file which is stored in the StifleR Server program data folder.

<add key="AutoAddLocations" value="1"/>

Manual configuration

To manually 'pre-configure' the StifleR network infrastructure you can load all of your network information into StifleR prior to deploying any clients. This can be achieved via automation through PowerShell/WMI scripting, etc.

Intelligent automation of location and subnet configuration

As mentioned above, in the default process, when a StifleR client reports in from a subnet that does not exist, a new subnet is automatically created with default parameters applied.

There is however a much more intelligent method that uses PowerShell scripting to generate and then modify settings for these newly discovered locations. This feature is enabled within the StifleR.Service.exe.config file using the following parameters:

NOTE: The default setting for each of these options is disabled (0). Changing this to a value of “1” enables the feature. Location in this context is not referring to a StifleR Enterprise “Location” but rather discovered subnets.

NOTE: Sample Generate and Modify scripts can be found in the installation folder.

Generate new location with PowerShell

  • Enable key

<add key="GenerateNewLocationsWithPowerShell" value="0"/>

  • Default path to the script for PS Generation of sites

 <add key="PowerShellExtensionLocationCreateScriptPath" value="%PROGRAMDATA%\2Pint Software\StifleR\Server\GenerateLocation.ps1"/>

This first option is the most commonly used, as it allows you to set a default ‘template’ for a new subnet according to your preferences. For instance, the overall default Target Bandwidth for a new location may be 1024Mb/s, and you may want to set this to be higher (or lower).

PowerShell can generate any parameter for a new subnet and logic can be used to determine different settings depending on the incoming criteria (subnet, IP address range, physical location, computer name etc)

If the GenerateNewLocationsWithPowerShell setting is enabled, the script identified in the PowerShellExtensionLocationCreateScriptPath is executed as soon as a Client reports in a new subnet.

A basic script is as follows:

Once this data is returned you can then write some new data back to the new subnet.

The new subnet must have a unique GUID.

$locationId = [guid]::NewGuid()

Once there is a way to identify the subnet, the configuration options can be edited. In the following snippet we set TargetBandwidth to 4096 and set up the Delivery Optimization policy so that the clients in that subnet will only peer within that subnet.

Finally, we write the new subnet – job done!

return $Location

Locations

Once subnets are known to StifleR, local subnets can be grouped together in parent/child relationships to form Locations. These Locations can then be used to control bandwidth usage for the multiple subnets or VLANs as a single administrative unit. As part of StifleR infrastructure planning, gather as much information as possible regarding your geographic locations and associated WAN/LAN configurations, speed, etc., and then group subnets into StifleR Locations as required. Please feel free to contact 2Pint Software for recommendations in this regard. This process can be automated as above.

Last updated