-
Notifications
You must be signed in to change notification settings - Fork 12
Installation – Manual Setup
Installing the solution by hand — the fallback for when the installer application can't be used. This page is long and detailed; prefer the installer-driven install where possible.
Before you start: complete the Prerequisites and create the two app registrations. This page assumes those are done. See the Configuration reference for what every app setting and connection string means.
These are the steps to install the Microsoft 365 Advanced Analytics Engine solution, from start to finish, done without the installer application if for some reason it’s not available to use.
This manual guide is organised into three stages - follow them in order:
- Azure resources - create the Storage, Application Insights, App Service, SQL, Redis, Service Bus and (optional) Cognitive Services resources.
- Deploy the binaries - publish the web-jobs and website through Kudu ZIP deployment over HTTPS, then set the App Service connection strings and app settings.
- Web tracking & final config - deploy the AITracker script and SPFx extension to SharePoint, set the runtime app reply URLs, and configure filtered URLs.
When all three stages are done, verify the deployment.
Key configuration data to collect & store during this setup process:
-
Application Insights connection string (
AppInsightsConnectionString) – the importer's main Application Insights setting. The instance's instrumentation key is also needed, for the AITracker client script (AITracker.js) and the legacy web-job logging settings. -
Connection strings – for configuring the "connection strings" part of the app service:
- Azure storage account connection-string: used for storing web-job runtime data in App Services (names: "AzureWebJobsDashboard" and "AzureWebJobsStorage").
- SQL Server connection string ("SPOInsightsEntities") – used for the SQL Server database.
- Redis connection string.
- Service-bus connection string.
-
Microsoft 365/Azure AD runtime app registration – used to grant access to activity data:
- Client ID – ID of app registration.
- Client secret – secret generated for app registration.
- Tenant GUID – Azure AD GUID of Microsoft 365 tenant.
Here are all the configuration settings used which need to be configured in the app-service once created.
App settings:
| Name | Example | Required? |
|---|---|---|
| AppInsightsApiKey | h01yi....fa | Yes |
| AppInsightsAppId | 4da38010-2f83-40e2-0000-f0d96d292529 | Yes |
| AppInsightsConnectionString | InstrumentationKey=XXXXXX-0XXXX-4792-9713-3a06b75dc987;IngestionEndpoint=https://northeurope-2.in.applicationinsights.azure.com/;LiveEndpoint=https://northeurope.livediagnostics.monitor.azure.com/;ApplicationId=XXXXXX | Yes |
| ClientID | 550bf80f-c279-47a5-0000-d9546493a882 | Yes |
| ClientSecret | veM..h | Yes |
| CognitiveEndpoint | westeurope | No |
| CognitiveKey | b06f6f....8 | No |
| ImportJobSettings | Calls=True;GraphUsersMetadata=True;GraphUsageReports=True;GraphTeams=True;ActivityLog=True;WebTraffic=False | Yes |
| TenantGUID | 4bcb41fb-fd0a-4fb3-0000-578912d2d4ed | Yes |
| WebAppURL | https://contosoofficeanalytics.azurewebsites.net/ | Yes |
| KeyVaultURL | https://sfbanalyticsdev.vault.azure.net/ | Yes |
Connection strings:
| Name | Example | Type |
|---|---|---|
| AzureWebJobsDashboard | -same as storage - | Custom |
| AzureWebJobsStorage | -same as storage - | Custom |
| Redis | contoso.redis.cache.windows.net:6380,password=...=,ssl=True,abortConnect=False | Custom |
| ServiceBus | Endpoint=sb://contoso.servicebus.windows.net/;SharedAccessKeyName=ListenAndSendPolicy;SharedAccessKey=...;EntityPath=graphcalls | Custom |
| SPOInsightsEntities | data source=metlifeanalyticsdemosvr.database.windows.net,1433;initial catalog=o365analytics;persist security info=True;user id=sqladmin;password=...;MultipleActiveResultSets=True;Connection Timeout=120 | SQLAzure |
| Storage | DefaultEndpointsProtocol=https;AccountName=contoso;AccountKey=...;EndpointSuffix=core.windows.net | Custom |
All the connection strings are required.
- Home
- What data is collected
- The web portal
- Licence activity
- Copilot data & stats
- Architecture & costs
- App registrations setup
- Install with the installer
- Manual installation
- Private endpoints (optional)
- Certificate authentication (optional)
- Enable CSP for AITracker
- Verify the deployment
- Legacy SPO web setup