Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This architecture plan allows secure communication between your SharePoint Online to CardioLog Analytics tracking app that is located in Azure, to the CardioLog Analytics onprem server that is located in your private network.

This solution consists of Azure App Service with Hybrid Connection.

The Hybrid Connection feature of Azure App Service supports making calls to an endpoint in your private network. Hybrid connections are defined against specific host and port combinations, and don’t require you to expose an internet-accessible endpoint or configure a VPN.

For more information, please see Azure App Service Hybrid Connections


Table of Contents


 

System Requirements

Prerequisites - Azure

Prerequisites – CardioLog Analytics

  • Access to the internet from all end users’ workstations, make sure that the azurewebsites.net domain is not blocked by the browsers.
  • Making outbound calls from CardioLog Analytics server to Azure over port 443.

Pricing

References

Architecture DRAFT

Image Removed

 

Configuration Steps

Step 1 – Create Azure App Service to host the CardioLogAgent web application

  1. Browse to the Azure Portal
  2. Under Web > select App Services
  3. Click Create
  4. Under Create Web App:
    1. Under Project Details > Fill out the Subscription and Resource Group
    2. Under Instance Details:
      1. Name: This will be subdomain of .azurewebsites.net. For example, mycompany-cardiologagent.azurewebsites.net
      2. Publish: Code
      3. Runtime stack: ASP.NET V3.5
      4. Operating System: Windows
      5. Region: select region of your choice. Prefer the closest to your end users.
    3. Under App Service Plan > Windows Plan > select or create app service plan
    4. Click Review + Create and compete the web app creation.
  5. Go Once the creation has been completed > go to the created app service > Configuration > General settings > Set “Always on” to On > Save

 

Step 2 – Deploy CardioLogAgent resources into the created App Service

  1. In the CardioLog installation folder > go to open CardioLogAgent folder > select all the files and folders, right click and zip the contentthem into a zip archive. The resulted .zip file must not include the top level CardioLogAgent folder but only the files and folders.
  2. In Azure, go to the App Service main screen > App Service Editor > Drag and drop the zip file into the WWWRoot folder
  3. Right click the zip file > Extract All

 

Step 3 – Configure CardioLogAgent App Service

In Azure, go to the App Service main screen > App Service Editor > webopen Web.config and update the following keys:

<add key="EventCollectorPath" value="http://[CardioLog server name]:[CardioLog port, default is 29999]/EventCollector/monitor.aspx"/>
<add key="CardioLogRoot" value="http://[CardioLog server name]:[CardioLog port, default is 29999]"/>
<add key="overwriteConnectedUser" value="true" />
<add key="UseSPAuth" value="true" />
<add key="CardioLogAgentRoot" value="[app service URL]" />

Note: The app service URL can be found in the App Service > Overview > URL

 Remove the following from <httpRuntime> tag if exists: requestValidationMode="2.0"

Step 4 – Configure the hybrid connection endpoint

  1. In Azure, go to the App Service main screen > Settings > Networking Under > Hybrid Connections > Configure your hybrid connection endpoints
  2. Add hybrid connection > Create new hybrid connection:
    1. Name: name of your choice, for example: cardiologagent-hybrid-connection
    2. Endpoint Host: [CardioLog server name]
    3. Endpoint port: [CardioLog port, default is 29999]
    4. Service bus namespace > Create new:
      1. Location: select the same location as the App Service
      2. Name: name of your choice, for example: cardiologagent-service-bus

The steps are detailed here

Step 5 – Configure the Hybrid Connection Manager (HCM) client application

  1. In Azure, go to the App Service main screen > Settings > Networking > under Hybrid Connections > Configure your hybrid connection endpoints
  2. Download the HCM
  3. Install the HCM on the CardioLog Analytics onprem server
  4. Run the HCM and connect it to the endpoint
  5. Make sure the endpoint status is CONNECTED
  6. Test the endpoint:
    1. App Service main screen > Console
    2. Type: tcpping [CardioLog server name]:[CardioLog port, default is 29999]

The steps are detailed here

In case the status is NOT CONNECTED, try to restart the HCM or the HCM windows service.
For additional steps see Troubleshooting

 

Step 6 – Configure the JavaScript tracking code

Upon reaching the configuration step - Running the Configuration Wizard, change the tracking code as follows:

sourceDomain: '[app service URL without https prefix]/js/modern',
eventListenerDomain: '[app service URL without https prefix]',
modules: ['survey-and-message-bar'], 
statisticsPath: '[app service URL]/ReportDispatcher.aspx'