Install BI Windows Server
Before you start
Generate configuration files required by the BI installer and make the BI installer and configs downloadable from the APP server over HTTP. For that, replace /opt/workfusion/wf_installer with correct PACKAGE_DIR for your environment, and execute the following commands on the APP server.
$ cd /opt/workfusion/wf_installer
$ ./install.sh generate_conf bi
$ python -m SimpleHTTPServer 9999
note
The 9999 port is used as an example. It can be any free port on the APP server, which is accessible from the BI server(s). The BI Installer is now temporarily downloadable from the APP server over HTTP. You can stop the HTTP server after copying.
Install WorkFusion Analytics Server
To install the Analytics Server:
On the APP server, migrate the databases:
$ cd /opt/workfusion/wf_installer $ ./install.sh migrate biYou can also migrate the databases after the installation. In this case, run the earlier command and restart the Analytics server to apply the changes.
Connect to the BI server via RDP as a Windows Administrator user.
Launch PowerShell ISE as Administrator. Copy the following script and execute it in PowerShell on the BI server(s).
Before the execution, remember to modify the lines in the section between
# FILL IN THE PARAMETERS BELOWand# =========================================according to your configuration. Remember to change variable<bi1_hostname>to<bi2_hostname>, when installing to a second BI server in the high-availability mode.# INSTALL TABLEAU SERVER # FILL IN THE PARAMETERS BELOW $download_from = "<APP server hostname>:9999" # any port on the APP server accessbile from BI $install_dir = "c:\workfusion" # The value of "bi_install_dir" which you've set in config.yml during Linux servers installation. $bi1_hostname = "<bi1_hostname>" $env:lic_key="trial" $env:win_user="username" # The value of "bi_user" which you've set in config.yml during Linux servers installation. $env:win_pass='"password"' # Leave single and double quotes in place. Replace only word password. The value of "bi_pass" which you've set in config.yml during Linux servers installation. $env:TABLEAU_USER="username" # The value of "tableau_admin_user" which you've set in config.yml during Linux servers installation. $env:TABLEAU_PASS="password" # The value of "tableau_admin_pass" which you've set in config.yml during Linux servers installation. # IMPORTANT: do not use spaces in the below variables when separating values (should be comma-separated list, NOT comma-and-space-separated list) $env:TABLEAU_TRUSTED_HOSTS="<bi_lb_hostname>,<app1_hostname>,<app2_hostname>" # Skip <app2_hostname> if there is only one APP server in environment. $env:GATEWAY_PUBLIC_HOST="<bi_lb_hostname>,<bi1_hostname>,<bi2_hostname>" # Skip <bi2_hostname> if there is only one BI server in environment $env:GATEWAY_TRUSTED_IP_ADDRESSES="<bi_lb_ip_address>,<bi_server_ip_address>,<app1_ip_address>,<app2_ip_address>,127.0.0.1" # Skip <app2_hostname> if there is only one APP server in environment $env:GATEWAY_PUBLIC_PORT=443 # Load balancer port $bi_installer = "<installer-name>.zip" #Specify manually. Find the name of the installer in INSTALL_DIR/sources. For example, opt/workfusion/sources/WorkFusionAnalyticsInstaller-10.1.4.1.zip # ========================================= $package_dir = "${install_dir}\WorkFusionAnalyticsServer" Write-Host "Creating package_dir" New-Item -ItemType directory -Path ${package_dir} -Force Write-Host "Downloading BI installer" $wc = New-Object net.webclient $wc.Downloadfile("http://${download_from}/sources/${bi_installer}", "${install_dir}\${bi_installer}") $wc.Downloadfile("http://${download_from}/win_confs/bi_configs/${bi1_hostname}/bi.crt", "${package_dir}\bi.crt") $wc.Downloadfile("http://${download_from}/win_confs/bi_configs/${bi1_hostname}/bi.key", "${package_dir}\bi.key") $wc.Downloadfile("http://${download_from}/win_confs/bi_configs/${bi1_hostname}/ca.crt", "${package_dir}\ca.crt") Write-Host "Unpacking BI installer" Add-Type -assembly "system.io.compression.filesystem" [System.IO.Compression.ZipFile]::ExtractToDirectory("${install_dir}\${bi_installer}", "${install_dir}\WorkFusionAnalyticsInstaller") while(!$(Test-Path -Path "${package_dir}\bi.crt")) { Read-Host -Prompt "bi.crt not found. Confirm that you've placed it to ${package_dir} directory by pressing the Enter key" } while(!$(Test-Path -Path "${package_dir}\bi.key")) { Read-Host -Prompt "bi.key not found. Confirm that you've placed it to ${package_dir} directory by pressing the Enter key" } Read-Host -Prompt "Confirm that you have desired content of ${install_dir}\WorkFusionAnalyticsInstaller\WorkFusionAnalyticsServer\identity_store.json by pressing Enter key" Write-Host "Installing Tableau Server" cd "${install_dir}\WorkFusionAnalyticsInstaller\WorkFusionAnalyticsServer" cmd.exe /c "install_server.bat ${package_dir}"Close PowerShell ISE.
On the BI server, in a browser, go to https://localhost to check that the default page opens.

Install WorkFusion Analytics Desktop
important
If you are installing Analytics Desktop to a local PC, copy the Analytics installer from the Analytics server to your machine before performing the following steps.
To install the Analytics Desktop:
On your server or PC, start the Command Prompt (not PowerShell) and go to the WorkfusionAnalyticsDesktop directory in the unpacked installation package.
Run the installation batch file install_desktop.bat with the specified installation directory:
$ install_desktop.bat INSTALL_DIR # For example: install_desktop.bat C:\workfusion\WorkFusionDesktopClick the WorkFusion Analytics Desktop shortcut to start the application, and then enter the license key.

For more information on Activation options, see Manage the WorkFusion Analytics license.
Install WorkFusion Analytics Filebeat
To install Filebeat, launch the New PowerShell ISE as Administrator. Copy the following script and execute it on the BI server(s) in PowerShell. Before the execution, remember to modify the lines in the section between # TO FILL IN BY CUSTOMER and # ========================================= according to your configuration.
# INSTALL FILEBEAT
# TO FILL IN BY CUSTOMER
$install_dir = "c:\workfusion" # The value of "bi_install_dir" which you've set in config.yml during Linux servers installation.
$int_hostnames = "<INT1 HOSTNAME>:4567" # in HA mode "<INT1 HOSTNAME>:4567,<INT2 HOSTNAME>:4567,<INT3 HOSTNAME>:4567"
$bi_hostname = "<CURRENT BI SERVER HOSTNAME>"
# =========================================
$package_dir = "${install_dir}\WorkFusionAnalyticsServer"
$filebeat_dir = "${install_dir}\filebeat"
if(!$(Test-Path -Path "${install_dir}\WorkFusionAnalyticsInstaller\Filebeat\inputs.d\input-WorkfusionAnalyticsServer.yml")) {
Copy-Item "${install_dir}\WorkFusionAnalyticsInstaller\Filebeat\inputs.d\input-workfusion-analytics-server.yml" -Destination "${install_dir}\WorkFusionAnalyticsInstaller\Filebeat\inputs.d\input-WorkfusionAnalyticsServer.yml"
}
Write-Host "Installing Filebeat"
cd "${install_dir}\WorkFusionAnalyticsInstaller\Filebeat"
cmd.exe /c "install_filebeat.bat ${filebeat_dir} ${package_dir} ${bi_hostname} ${int_hostnames}"
if(!$(Test-Path -Path "${filebeat_dir}\ca.crt")) {
Copy-Item "${package_dir}\ca.crt" -Destination "${filebeat_dir}\ca.crt"
}
while(!$(Test-Path -Path "${filebeat_dir}\ca.crt")) {
Read-Host -Prompt "ca.crt not found. Confirm that you've placed it to ${filebeat_dir} directory by pressing Enter key"
}
Start-Service filebeat
Get-Service filebeat
note
If Filebeat starts with the error "setting ‘filebeat.registry_file’ has been removed", in filebeat.yml, remove the line: registry_file: registry_in.
Install WorkFusion Analytics Metricbeat
To install Metricbeat, launch the New PowerShell ISE as Administrator. Copy the following script and execute it on the BI server(s) in PowerShell. Before the execution, remember to modify the lines in the section between # TO FILL IN BY CUSTOMER and # ========================================= according to your configuration.
# INSTALL METRICBEAT
# TO FILL IN BY CUSTOMER
$install_dir = "c:\workfusion" # The value of "bi_install_dir" which you've set in config.yml during Linux servers installation.
$int_hostnames = "<INT1 HOSTNAME>:4569" # in HA mode "<INT1 HOSTNAME>:4569,<INT2 HOSTNAME>:4569,<INT3 HOSTNAME>:4569"
$bi_hostname = "<CURRENT BI SERVER HOSTNAME>"
# =========================================
$package_dir = "${install_dir}\WorkFusionAnalyticsServer"
$metricbeat_dir = "${install_dir}\metricbeat"
Write-Host "Installing metricbeat"
cd "${install_dir}\WorkFusionAnalyticsInstaller\metricbeat"
cmd.exe /c "install_metricbeat.bat ${metricbeat_dir} ${package_dir} ${bi_hostname} ${int_hostnames}"
if(!$(Test-Path -Path "${metricbeat_dir}\ca.crt")) {
Copy-Item "${package_dir}\ca.crt" -Destination "${metricbeat_dir}\ca.crt"
}
while(!$(Test-Path -Path "${metricbeat_dir}\ca.crt")) {
Read-Host -Prompt "ca.crt not found. Confirm that you've placed it to ${metricbeat_dir} directory by pressing Enter key"
}
Start-Service metricbeat
Get-Service metricbeat
Deploy workbooks to WorkFusion Analytics Server
Prerequisites
- Microsoft Server 2008 R2 or newer is installed.
- WorkFusion Analytics Server 2018.3.2 or newer is installed. The WF Analytics version in the package is 2018.3.9.
- JScript execution from command line (CMD) is allowed on the server.
note
JScript is required to execute workbook publishing scripts. If, by some reason (for example, due to security restrictions), JScript is disabled on the server, you have to enable it temporarily during the installation, and then disable it again, if needed.
Deploy workbooks
To deploy workbooks, launch the New PowerShell ISE as Administrator. Copy the following script and execute it on the BI server(s) in PowerShell. Before the execution, remember to modify the lines in the section between # TO FILL IN BY CUSTOMER and # ========================================= according to your configuration.
# INSTALL WORKBOOKS
# TO FILL IN BY CUSTOMER
$download_from = "<APP server hostname>:9999"
$current_host = "<CURRENT BI SERVER HOSTNAME>"
$current_site = "<SITE NAME>" # The first octet of workfusion_lb_hostname from hosts.yml
# if workfusion_lb_hostname is "example-bi-lb1.workfusion.com", than $current_site = "example-bi-lb1"
$install_dir = "c:\workfusion" # The value of "bi_install_dir" which you've set in config.yml during Linux servers installation.
$workbooks_installer = "WorkFusionAnalyticsWorkbooks-<version>.zip" # Specify manually. Find the name of the installer in INSTALL_DIR/sources. For example, opt/workfusion/sources/WorkFusionAnalyticsWorkbooks-10.1.4.1.zip
# =====================================
$tdeploy_home = "${install_dir}\tdeploy_home"
$workbooks_config = "${tdeploy_home}\deploy\config"
Write-Host "Creating tdeploy_home"
New-Item -ItemType directory -Path $tdeploy_home -Force
Write-Host "Downloading workbooks installer"
$wc = New-Object net.webclient
$wc.Downloadfile("http://${download_from}/sources/${workbooks_installer}", "${install_dir}\${workbooks_installer}")
Write-Host "Unpacking Workbooks installer"
Add-Type -assembly "system.io.compression.filesystem"
[System.IO.Compression.ZipFile]::ExtractToDirectory("${install_dir}\${workbooks_installer}", "${install_dir}\WorkbooksInstaller")
New-Item -ItemType directory -Path "${tdeploy_home}\install\" -Force
Copy-Item "${install_dir}\WorkbooksInstaller\deploy-tools\*" -Destination "${tdeploy_home}\install\" -Recurse
Write-Host "Executing install.cmd"
cd "${tdeploy_home}\install"
cmd.exe /c "install.cmd ${tdeploy_home}"
Write-Host "Executing create_sitefolder.cmd"
cd "${tdeploy_home}\deploy"
cmd.exe /c "create_sitefolder.cmd ${current_site}"
Write-Host "Downloading workbooks configs"
$wc.Downloadfile("http://${download_from}/win_confs/bi_configs/${current_host}/config.${current_site}.cmd", "${workbooks_config}\config.${current_site}.cmd")
$wc.Downloadfile("http://${download_from}/win_confs/bi_configs/${current_host}/import_users.csv", "${workbooks_config}\import_users.csv")
Write-Host "Executing manage_server.cmd"
cd "${tdeploy_home}\deploy"
cmd.exe /c "manage_server.cmd ${current_site}"
Write-Host "Copying dashboards and datasources"
Copy-Item "${install_dir}\WorkbooksInstaller\dashboards\workbook\*" -Destination "${tdeploy_home}\deploy\to_deploy\${current_site}\dashboard\" -Recurse
Copy-Item "${install_dir}\WorkbooksInstaller\dashboards\datasources\*" -Destination "${tdeploy_home}\deploy\to_deploy\${current_site}\datasource\" -Recurse
Write-Host "Executing publish.cmd"
cd "${tdeploy_home}\deploy"
cmd.exe /c "publish.cmd ${current_site}"
Schedule Configuration
A user with the administrator privileges configures a Schedule on WorkFusion Analytics Server. The new Schedule must be added to the Server along with other already existing pre-configured Schedules.
To create a schedule:
In Tableau, in the main menu, click Schedules, and then click New Schedule.

Specify the following options:
- Name.
- Execution: serial. Select this option for the correct data update.
- Frequency: minimum of 15 minutes.

Assign a Schedule to a Workbook and Data sources:
Go to Content → Workbooks, select the AA_ETL_Scheduler Workbook, click More (...) to expand the options, and then click Refresh Extracts.
Go to Content → Data sources, select a required datasource, click More (...) to expand the options, and then click Refresh Extracts. The Schedule must be assigned to the AA_ETL_Scheduler Workbook and all wb_* Data sources.
The Schedule must be assigned to the AA_ETL_Scheduler and all wb_* Data sources.

Go to the Schedule a Refresh tab, select the required refresh time, and click Schedule Refreshes.

A Schedule is now created for the selected Workbook.
Specify the Workbooks refresh order. The priority for the ETL workbook must be changed to prevent the data gap. For that:
Go to Tasks → Extract Refreshes, select the AA_ETL_Scheduler workbook, and then click More (...) → Change Priority.

Set priority to 10 and click Change Priority.

The ETL workbook will be refreshed first.
Enable WorkFusion Analytics Dashboard in Control Tower
To enable BI Analytics Server on WorkFusion platform:
Install the Analytics server, as described earlier.
Deploy workbooks to the Analytics server, as described earlier.
Enable WorkFusion Analytics server on WorkFusion platform:
On the APP Server, check and configure the Vault secure properties file. The file must already be configured before the installation.
<!-- Set DNS name of BI server --> tableau.dashboard.host=https://bi.example.com <!-- Set login and password for connection to BI server --> tableau.dashboard.username=tableau_user tableau.dashboard.password=tableau_passProperty Name Example Value Description Required for tableau.dashboard.hosthttps://bi.example.com WorkFusion Analytics Server website URL for Dashboard WorkFusion Analytics Dashboard tableau.dashboard.usernametableau_user WorkFusion Analytics Server website username for Dashboard (was used in import_users.csv) WorkFusion Analytics Dashboard tableau.dashboard.passwordtableau_pass WorkFusion Analytics Server website password for Dashboard (was used in import_users.csv) WorkFusion Analytics Dashboard On the APP Server, restart the Workfusion service:
sudo su - wfuser; wfmanager restart workfusionWait for about one minute and check that there are no errors in the Control Tower's application logs:
sudo su - <wf_user>; tailf -n 50 /opt/workfusion/workfusion/logs/workfusion.out.log
Stop standby Tableau server (for HA setup only)
On the second Tableau server run the following commands in Powershell as Administrator:
cd <bi_dir>\packages\bin.20183.19.0714.2346
.\tsm login -u .\<bi_user> -p <bi_pass>
.\tsm stop
Stopping service...
Job id is '4', timeout is 30 minutes.
Service stopped successfully.
Check the installation
To check the installation:
In a browser, open URL https://host-workfusion-lb1.example-wf101.com to go to the APP instance. The following menu appears:

In the main menu, go to the Analytics group to check that the dashboard is displayed.
