Configuration
This section describes the configuration of the Pilot Data Server including the following topics:
Connection to Viz Pilot Database
The Pilot Data Server requires a connection to a Viz Pilot database with a schema of 5.7 or later. You also need a Pilot Data Server for each database instance, meaning you cannot share a Pilot Data Server. Configure using a full connection string with hostname and SID.
Set up the Pilot Data Server user account
The Pilot Data Server service can be run from two different user accounts, depending on where it will access files.
Note: By default, the Pilot Data Server service will run under the LocalSystem Account.
If the Pilot Data Server is used without any Object Store storage, or if the Object Store storage is on the same computer as the Pilot Data Server, then set up as follows:
-
Run the Pilot Data Server service under the default LocalSystem Account.
Alternatively, if the Pilot Data Server requires access to remote files, and the computers are in a domain, then set up as follows: -
Create a new Domain User Account. This needs to have:
-
Administrator access to the computer that runs the Pilot Data Server,
-
Share access on the computer that hosts the Object Store files,
-
File system access to the actual files in the share.
-
-
Change the service configuration to run the service as the Domain User.
-
Set a complex password for this user, and set it to never expire. If the password expires, the service needs to be reconfigured to run with the new password.
-
Run the Pilot Data Server service under the new Domain User Account.
Note: The scenario where the Pilot Data Server requires access to remote files, but the computers are not in a domain, is not supported.
Configuring the Pilot Data Server port
The default Pilot Data Server port is 8177. To change it do the following:
-
On the Pilot Data Server machine, open the configuration file in a text editor:
%ProgramFiles%\vizrt\Data Server\PilotScriptRunnerHostService.exe.config
-
Add or replace the following <settings> tag:
<applicationSettings>
<DataServer.Properties.Settings>
<setting name=
"Port"
serializeAs=
"String"
>
<value>
8177
</value>
</setting>
...
Configuring the STOMP port
The default STOMP (Change Notifications API) port is 9876. To change it, do the following:
-
On the Pilot Data Server machine, open the configuration file in a text editor:
%ProgramFiles%\vizrt\Data Server\PilotScriptRunnerHostService.exe.config
-
Change the following:
<setting name=
"ChangeServerPort"
serializeAs=
"String"
>
<value>
9876
</value>
</setting>
with:
<setting name=
"ChangeServerPort"
serializeAs=
"String"
>
<value>
7373
</value>
</setting>
The port 7373 is used as an example value only.
Note:
Follow this link to go to the STOMP Protocol Specification.
Configuring the Script Runner
Update Services are mechanisms that allow template data to be updated right before going on air, e.g. stock values, player statistics etc. Viz Pilot’s update service is called Script Runner.
Note: Customers can write Visual Basic scripts to modify the data, and these will run on the Script Runner. Or the customer can create their own external update service. For more information see External Update Service in the Media Sequencer Manual bundled with the software.
The Script Runner will use port 1981 by default. To change this, do the following:
-
On the Pilot Data Server machine, open the configuration file in a text editor:
-
%ProgramFiles%\vizrt\Data Server\PilotScriptRunnerHostService.exe.config
-
-
Change the port by modifying the following line:
<add baseAddress=
"http://localhost:1981"
/>
-
Save the file.
-
Restart the service Vizrt Script Runner from the Windows Services window.
Configuring the Pilot Data Server for HTTPS
If HTTPS is configured, all endpoints of the Pilot Data Server can be accessed using the HTTPS protocol. To enable it, do the following:
1. Open the configuration file in a text editor as an administrator:
-
c:\Program Files\vizrt\Pilot Data Server\PilotAppServerHostService.exe.config
2. Replace the following:
<setting name="SecurePort" serializeAs="String">
<value/>
</setting>
with:
<setting name="SecurePort" serializeAs="String">
<value>7373</value>
</setting>
-
The port 7373 is here used as an example value only. The port number can be any number from 1024 to 49151. Choose a number that is not already in use.
3. A certificate that is mapped to the port number you provided is required on the PDS host machine. To install a certificate:
-
Create a self-signed certificate using the IIS Manager.
-
Next, install the certificate into Trusted Root Certification Authorities in the Certificate Manager, which is accessed through certmgr.msc.
-
You should then copy the Thumbprint of the certificate, which can be found by opening it and checking under "Details", for later use.
-
You then need your Application ID, which can be found by entering this command in the command prompt:
{{netsh http show sslcert}}
-
Next, enter the following commands with your information in a command prompt with Administrator Privileges:
netsh http add urlacl url=https://+:(YOUR PORT NUMBER)/ user=Everyone
C:\> netsh http add sslcert ipport=0.0.0.0:(YOUR PORT NUMBER) certhash=(YOUR CERTIFICATE'S THUMBPRINT) appid={(YOUR APPLICATION ID)}
4. In Pilot Edge you must set the "pilot" URL parameter to use the new pathway to the PDS. The parameter must include the entire URL of the HTTPS pathway, such as "https://bgo-eddie-vm:7373/".
Search providers and the Preview Server must also be in HTTPS environments in order for calls to them to work.
Modify the Pilot Data Server database settings
-
Run the installer, and select the Change option.
-
Update the database connection information:
-
Connect string, Username and Password.
-
-
Click Close.
-
Restart the service Vizrt Pilot Data Server from the Windows Services window.
IMPORTANT! If database settings are changed in the configuration files manually, any subsequent changes done through the installer will overwrite the manual changes. It is strongly recommended that users do not manually change anything related to the database in the configuration file.
Redundancy and Failover for Pilot Data Server
Pilot Data Server has been designed without built-in redundancy, but it does, however, support being used with off-the-shelf third-party HTTP load balancers. As the name suggests, a load balancer's main function is to distribute requests among multiple servers. Multiple servers provide redundancy, and most load balancers come with an option to only route requests to servers that respond, which provides failover.
Both Barracuda Load Balancer ADC and HAProxy have successfully been used in front of Pilot Data Server.
Load balancer quick setup
These instructions show how to quickly set up a HAProxy load balancer.
Prerequisites
-
Two (or more) hosts running Pilot Data Server, connected to the same database. They will have host names pds1.example and pds2.example for the purpose of these instructions. Static IP addresses may be used instead.
-
A Linux host that we will turn into a load balancer. It will have the host name proxy.example for the purpose of these instructions. This is the host that will be used in the installation steps below.
Installation steps
-
On the Linux host, install HAProxy with the command sudo apt-get install haproxy.
-
Edit /etc/haproxy/haproxy.cfg (for example with sudo nano /etc/haproxy/haproxy.cfg) and append the following lines:
frontend http-in
bind :
8177
default_backend servers
backend servers
server server1 pds1.example:
8177
check
server server2 pds2.example:
8177
check
listen stats
bind :
80
mode http
stats enable
stats uri /
-
Restart HAProxy with the command sudo service haproxy reload.
Notes
After following the steps above, it should be possible to use proxy.example:8177 in place for pds1.example:8177 and pds2.example:8177. Check whether the setup works by opening http://proxy.example:8177/ in a browser. The Pilot Data Server index page should load.
The above configuration also provides a monitoring page at http://proxy.example/ that shows which Pilot Data Server hosts are responding. This will not tell you whether the Pilot Data Server is working correctly, as hosts will still respond when they cannot reach the database, for instance.