Installing Synthetic Test Engines
  
Installing Synthetic Test Engines
The Synthetic Testing feature monitors devices, applications, and services across dispersed locations and alerts you on the status and availability of the monitored devices, applications, and services. These alerts provide reachability, availability, and response time information for the device, application, or service from multiple locations across the network.
This section includes the following topics:
“Overview of Synthetic Testing"
“Planning a Network of Synthetic Test Engines"
“Building a Network of Synthetic Test Engines"
“Troubleshooting a Synthetic Test Engine"
Related Topic
“Configuring Synthetic Test Profiles"
Overview of Synthetic Testing
Questions that Synthetic Testing Answers
Is the device, application, or service available?
What percentage of the time has the device, application, or service been available?
When was this device, application, or service unavailable, and why?
Is the device, application, or service reachable from different locations on the network?
What are the response times from different locations on the network?
Types of Synthetic Tests
Ping
TCP Port
HTTP
Selenium
DNS
Database
External script
LDAP
Test Results Delivered in SteelCentral NetIM and Downstream Solutions
Status of device, application, or service: up or down
Percent available over time
Response time
Reasons for test failure
Planning a Network of Synthetic Test Engines
The efficient monitoring of devices, applications, and services depends primarily on strategic placement of Test Engines. Your goal is to install Test Engines on hosts that are geographically representative of the enterprise’s users and sites. The physical location of NetIM is less significant.
Figure 23‑1. shows all services and applications being served from the Northeast, plus test engines to represent users in both the Northwest and Southeast. Both test engines run periodic tests of the services that are important to users in their locations. All tests are monitored at a central location.
Monitoring the Enterprise’s Devices and Applications with Synthetic Testing
Building a Network of Synthetic Test Engines
This section includes the following topics:
“Installing a Synthetic Test Engine"
“Verifying that NetIM Recognizes All Test Engines"
“Verifying that NetIM is Listening for Test Engines"
“Troubleshooting a Synthetic Test Engine"
“Uninstalling a Synthetic Test Engine"
“Reconfiguring a Test Engine if NetIM’s IP Address Changes"
Installing a Synthetic Test Engine
You will install a Test Engine on one or more hosts that are as geographically dispersed as the user base. In Figure 23‑1. test engines in the Northwest and Southeast monitor the performance of applications that are served from the Northeast. Test results are collected at a South Central location.
Installing the Test Engine on a Linux or Windows Host
1. Find the test engine installer on NetIM.
For Linux: <InstallDir>/external/TestEngine/TestEngine-linux.zip
For Windows: <InstallDir>/external/TestEngine/TestEngine-windows.zip
2. Copy the.zip file to the Test Engine host(s).
On Linux: Move it to a directory of choice, such as /opt
On Windows: Move it to the top level of the C: or D: drive.
The drive you choose is called <ParentDir> in the remaining steps.
3. Make sure you are operating as a the root or administrator user:
On Linux: su - root
On Windows: Open a command window as the administrator.
4. Change to the directory where the zip file exists, and unzip the file.
On Linux: cd /opt
     ./unzip TestEngine-linux.zip
On Windows: Use Windows Explorer to navigate to TestEngine-windows.zip, right-click it, and unzip it.
This process creates <ParentDir>\Riverbed\TE\3.0.0, such as:
On Linux: /opt/Riverbed/TE/3.0.0
On Windows: C:\Riverbed\TE\3.0.0
5. Change to the Riverbed directory. (Do not unzip any file in this directory.)
6. On the command line, run the test engine installer.
On Linux: ./install.sh
On Windows: install.bat
If an older test engine is found, the new test engine adopts the old engine’s settings. In that case, go to step 16
7. Enter the full-qualified domain name of NetIM [localhost]:
Example: NetIMHost-1.ourCompany.com
8. Enter the port number of your NetIM machine [3162]: Enter
If you specified a different TCP port through which NetIM communicates with test engines during installation, enter that value here.
9. Enter location of the keystore for HTTP Testing [<InstallDir>\TestEngine].
If you specified a non-default location for your keystore during installation, enter that path here.
10. Enter new keystore password for HTTP Testing [changeit].
If you expect to perform a Synthetic “HTTP Test” that uses the keystore, enter a stronger password. The default password is changeit.
11. Verify that Firefox is located at <location>. Enter its absolute path.
The path to Firefox is likely to be C:\Program Files (x86)\Mozilla Firefox\firefox.exe (or usr/bin/firefox)
12. If Chrome is installed, enter the absolute path to chrome.exe. If Chrome is not installed, press Enter.
If you expect to perform Synthetic “HTTP Tests” with the Chrome browser, enter its path, such as C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
13. Enter an identifying name for this Test Engine [defaultName]: NorthEngine
The default is the name of the local host. Ideally, use a descriptive name such as the geographic location of the Test Engine.
14. (On Linux Only)
Please enter the user name to which the ownership of the Test Engine files will be set: myUserName
This user will be the owner of the NetIM Test Engine installation directory. This user must also be a member of the given group. Do not use ‘root’.
15. (On Linux Only)
Please enter the group name to which the ownership of the Test Engine files will be set: myGroupName
Use any group of which the given user is a member.
16. Press any key to continue.
The command prompt re-appears. Installation is complete.
17. Verify that the test engine is running:
On Windows: TE.bat /svc_cmd status TE
For more information, see “About TE.env and TE.bat".
18. Go to “Verifying that NetIM Recognizes All Test Engines"
Verifying that NetIM Recognizes All Test Engines
To verify that NetIM recognizes all installed Test Engines by their assigned names, perform the following procedure.
Verifying that NetIM Recognizes All Test Engines
1. Log in to SteelCentral NetIM.
2. Navigate to MORE > Synthetic Tests.
The Synthetic Tests screen appears, as show in the following screen:
3. Click on the icon at the top of the page.
A list of the installed test engines appears, as shown in the following screen with status:
4. If necessary, try the following initial troubleshooting steps:
If the list of Synthetic Test Sources is empty, see “Verifying that NetIM is Listening for Test Engines".
If a specific engine does not appear in the list, or is listed as “Not Connected”, wait one minute and look again.
If any engine still fails to appear in the list, verify that the engine is running on its host.
On the host, click Start > Administrative Tools > Services (or run services.msc).
Look for the service Riverbed NetIM Test Engine. If the service is not Started, right-click the service name, click Start, and go to step 3
For additional troubleshooting steps, see “Troubleshooting a Synthetic Test Engine".
Verifying that NetIM is Listening for Test Engines
This is a sub-procedure of “Verifying that NetIM Recognizes All Test Engines".
Verifying the Engine-to-NetIM Communication Path
NetIM and its Test Engines communicate by HTTP.
1. Open a browser on the Test Engine’s host.
2. Navigate to NetIM’s web service at http://<ip_address>:<port_number>/st, such as http://10.46.250.107:3162/st or http://NetIMHost-1:3162/st
3. If you see the following message, go back to “Verifying that NetIM Recognizes All Test Engines":
Server is listening for TestEngine connections.
Mon Apr 20 11:57:09 EDT 2015
If you do not see such a message, “Contact Technical Support".
Troubleshooting a Synthetic Test Engine
If NetIM fails to communicate with specific Test Engines, Riverbed Technical Support may ask you to perform the following procedure.
Troubleshooting Test Engine Communication with NetIM
1. Log in to SteelCentral NetIM.
2. Navigate to MORE > Synthetic Tests.
The Synthetic Tests screen appears, as show in the following screen:
3. Click on the icon at the top of the page.
A list of the installed test engines appears, as shown in the following screen with status:
4. On the Synthetic Test Sources page, note the list of Test Engines that are registered to NetIM. Those with green status icons are communicating with this host. If a Test Engine is not listed, or if it has a red status icon and is listed as Not Connected, follow these steps to verify that the Test Engine is up and running and pointing to NetIM.
Make sure that all test engines have unique Computer Names. If you have installed Test Engines on multiple machines that have the same Computer Name, only one will be recognized by NetIM. If necessary, you can change a host’s Computer Name in the System group of the Windows Control Panel. Changing the Computer Name requires a system restart to take effect.
Connect to the Test Engine host that is missing or listed as “Not Connected” on the Synthetic Testing Sources tab.
Navigate to <TestEngineHome>\TestEngine\active_agent\conf\ and open active_agent.cfg in a text editor.
Verify that the PRIMARY_HUB_IP is the IP of NetIM core. If the IP is incorrect, re-run the configureTestEngine.bat file and enter the correct IP address of NetIM core when prompted.
Restart the Riverbed Test Engine Windows service.
5. On NetIM, refresh the Synthetic Test Sources page and see whether the Test Engine is now available. If not available, continue.
6. If the Test Engine host fails to appear on the Synthetic Test Sources page, log in to the Test Engine’s host, and try to connect back to NetIM using Ping and Telnet. Ping the IP of NetIM, and telnet to port 2162 (or port 2163 for SSL). If you cannot connect to NetIM using ping and telnet, there may be a network communication or firewall issue.
Telnet may not be enabled on every machine.
7. If you can ping and telnet from the Test Engine host to NetIM core, log in to NetIM core and attempt to ping and telnet to the Test Engine host on port 2165 (or port 2163 for SSL). If you can ping and telnet from NetIM core to the Test Engine host, but the Test Engine still does not appear on the Synthetic Test Sources tab, continue to the next step.
8. Log in to the NetIM UI as admin.
9. In the browser, change the URL to http://<NetIM IP addresss>:8543 /vnes/TestDeployedStatus.htm. This page displays the status of both the configured tests and test sources.
The default ports are 9190 and 8543 for HTTP and HTTPS, respectively. NetIM is configured to use HTTPS by default.
10. At the bottom of the Deployed Test Status page, click the Debug On button. This causes log files to be created on NetIM core in the <install dir>/og/synTest/ directory, which contains all the communications between NetIM and its Test Engines. Riverbed support will be able to diagnose problems using these log files.
Uninstalling a Synthetic Test Engine
Should you decide you no longer need the Test Engine on a particular system, uninstall it using the procedure that follows.
Uninstalling the Test Engine from a Windows or Linux Host
1. Log in to the host where the Test Engine is installed, directly or remotely.
2. Open a command window. (On Windows 10, be sure to open it using Run as administrator.)
3. Navigate to the <Parent_Dir>\Riverbed\TestEngine directory.
4. Stop and remove the Riverbed Test Engine service:
On Linux:
su - root
cd <Parent_Dir>\Riverbed\TestEngine
te.sh -R /svc_cmd remove TE
On Windows:
te.bat /svc_cmd remove TE
For more information, see “About TE.env and TE.bat".
5. Remove the Riverbed directory:
On Linux:
su - root
cd /home/xyz
rm -rf Riverbed
On Windows:
cd ..\..
del Riverbed
6. Log in to NetIM, choose MORE > Synthetic Testing, and select the Synthetic Test Sources tab. If the name of the source that you just uninstalled is listed, highlight the name and click I want to… Remove this source.
About TE.env and TE.bat
<parent_Dir>\Riverbed\TestEngine\te.env contains environment variables for the test engine.
<Parent_Dir>\Riverbed\TestEngine\te.bat (or te.sh) is a utility for maintenance of the test engine.
If /ks_dir or /ks_pass is omitted from any command that allows it, corresponding values from te.env are used. default values of those variables are used.
te.bat /svc_cmd [install|remove|start|stop|restart|console|status] TE
acts on the “Riverbed NetIM Test Engine service”.
The ‘install’ action is utilized by the install.bat (or install.sh) script and is not usually used manually, but is useful if test engine files are present but the service is not.
The ‘console’ action starts the test engine as an application rather than a service, for development purposes only. Do not use.
te.bat /ks_cmd verify /ks_dir <dir> /ks_pass <password> KEYSTORE
verifies that a keystore exists at <dir> with password <password>. There can be multiple keystores in different directories. The active keystore is the one in the directory named by the KEYSTORE_DIR variable in te.env. typically c:\Riverbed\TestEngine\te_keystore.jks
te.bat /ks_cmd empty /ks_dir <dir> /ks_pass <password> KEYSTORE
empties the keystore named in te.env, or the keystore at <dir>
te.bat /ks_cmd import /ks_dir <dir> /ks_pass <password> KEYSTORE
runs a script to import a certificate into the keystore named in te.env or at <dir>. For details on the script, see “Preparing a Client Certificate for an “HTTP Test”" in the chapter “".
te.bat /ks_cmd create /ks_dir <dir> /ks_pass <password> KEYSTORE
creates an empty keystore at <dir> with password <password>
te.bat /ks_cmd change_password /ks_dir <dir> /ks_pass <password> /ks_old_pass <old_password> KEYSTORE
changes the password of the keystore at named in te.env or at <dir>
te.bat SET_ENV
activates all variables as set in te.env. Use this if you have modified variables with a text editor.
te.bat /env_var <variable> SET_ENV_VAR
activates one <variable> as set in te.env. Use this if you have modified <variable> with a text editor.
Reconfiguring a Test Engine if NetIM’s IP Address Changes
If test engines are installed with the NetIM hostname rather than the IP address, those test engines will resolve the NetIM IP address even if it changes.
But if test engines are installed with the NetIM IP address, and the host’s IP address is not static and it changes, every test engine loses its link to NetIM. In that case, perform the following procedure on the host of every test engine.
Resetting the IP address of NetIM in a Test Engine’s Configuration File
1. Navigate to the installation directory such as C:\Riverbed\TestEngine
2. Stop the test engine service:
te.bat /svc_cmd stop te
3. Use any editor to modify te.env
4. Change the HUB_IP value to the new IP address of NetIM, or to the new hostname of NetIM, such as:
HUB_IP NetSensorServ-2.ourCompany.com
5. Save and close the te.env file.
6. Activate the newly set parameter:
te.bat /env_var HUB_IP SET_ENV_VAR
7. Restart the test engine service:
te.bat /svc_cmd start te