Aiimi Insight Engine Installation (Windows)

This section presents a guide for setting up a simple single node Aiimi Insight Engine instance on Windows 2016 or later.

If you are designing and installing a production environment, then you will be installing individual agents and components on specific nodes. Further guidance on this can be provided on request.

Prerequisites

  • Notepad++ (or your text editor of choice)

  • Latest Java Development Kit and Java Runtime Environment - you can use something from https://adoptopenjdk.net if you wish. If you are installing Elastic on the same machine, use the one in the Elastic install folder.

  • Search on Windows for 'Turn Windows Features On/Off' and enable Internet Information Services (IIS) in that dialog (used for managing websites and apis).

  • .NET SDK (v6.0)

  • .NET Core and Hosting bundle (.NET installs used to run InsightMaker agents and middleware as well as host web components) (v6.0)

Downloads

  • Download NSSM to run the Tika Agent as a service.

  • Obtain your Aiimi Insight Engine distribution (contact Aiimi Sales)

  • Obtain the Aiimi Aiimi Insight Engine Tika distribution

  • Obtain your AIE licence from Aiimi

Installation

Once you have obtained your Aiimi Insight Engine distribution open the ZIP file and extract it to C:\InsightMaker

You can of course use any drive you like, but we recommend installing to the root of a drive (just so it follows this guide).

First Steps:

  1. Copy the folders from the distribution to C:\InsightMaker

  2. Open an administrator Powershell window and run the following commands to stop Windows silently blocking files:

    • gci c:\InsightMaker\Plugins\*.dll | Unblock-File

    • gci c:\InsightMaker\Scripts\*.ps1 | Unblock-File

The following configuration steps will need to be repeated for each of the following (with any steps specific to one noted as such):

  • Content Agent

  • Enrichment Agent

  • Job Agent

  • Migration Agent

  • OCR Agent

  • Security Agent

  • Source Agent

  • Apps\Admin\api

  • Apps\DataScience\api

  • Apps\OData\api

  • Apps\Search\api

  • Utils\InsightMaker.IndexUtils

Additionally, all filepaths must use double backslashes.

Some values need to be encrypted to ensure security. .\InsightMaker.SettingsUtility encryptstring <value>

  1. Open appsettings.default.json in Notepad++ and ensure that:

    • the Plugins path points to the plugins folder (most likely C:\InsightMaker\Plugins)

    • the elastic certificate path points to the elastic-stack-ca.p12 file created when you installed Elasticsearch and that the correct password is set.

      • The password must be encrypted.

    • the elasticsearch credentials are set to the elastic login created previously.

      • The password must be encrypted.

    • the prefix is set to the correct value and consistent across all components (In a dev environment this might be 'dev', on your PC, it could be your initials etc.)

    • add your Aiimi Insight Engine licence - both of these keys need to be added to the root of the json:

      • "licenseKey": "your key"

      • "licenseSig": "your sig"

    • The system secret must be set to a unique value for this system.

      • The secret must be encrypted.

    • (Agents only): the remoteApi remoteAddress is set to 'https://localhost' (this is the default) and certificate path points to the 'elastic-certificates.p12' file created earlier, with the correct password set

    • (Apps\Search\api only): the remoteApi remoteAddress field is set to 'http://localhost/api/' (this is the default)

    • (Apps/*): The jwtConfiguration.key must be at least 32 characters.

      • The Key must be encrypted.

  2. Open log4net.default.config:

    • Modify file paths to wherever you’d like log files to output. Don’t put in InsightMaker folder.

  3. Remove the '.default' from each of the following file names:

    • 'appsettings.default.json'

    • 'log4net.default.config'

    • (APIs and Apps\Search\help only): 'web.default.config'

Once you have configured each agent and the APIs, perform the following steps:

  1. Edit the web.config file in the Admin API and Search API folder to make sure that the modules setting is modules="AspNetCoreModuleV2"

  2. Edit the Apps/Search/api/appsettings.json file and configure the icons folder:

    1. "advanced": { "agentPersistentDataFolder": "C:\InsightMaker\_Temp\Icons" }

    2. Add a default.png to the above folder.

  3. In Utils\InsightMaker.IndexUtilities, run the following from an admin command prompt (these commands configure the default elastic mappings for InsightMaker indices and create some useful default entities etc.):

  • .\InsightMaker.IndexUtilities.exe map

  • .\InsightMaker.IndexUtilities.exe initialise -fmsci

  • .\InsightMaker.IndexUtilities.exe initialise --collection-types;

  • .\InsightMaker.IndexUtilities.exe initialise --theme;

  • .\InsightMaker.IndexUtilities.exe upgrade --generate-entity-groups;

Install Services

Using a Powershell promot, run the following:

sc.exe create InsightMakerContentAgent binPath= c:\InsightMaker\ContentAgent\InsightMaker.ContentAgent.exe DisplayName= "InsightMaker Content Agent" start= auto
sc.exe create InsightMakerEnrichmentAgent binPath= c:\InsightMaker\EnrichmentAgent\InsightMaker.EnrichmentAgent.exe DisplayName= "InsightMaker Enrichment Agent" start= auto
sc.exe create InsightMakerJobAgent binPath= c:\InsightMaker\JobAgent\InsightMaker.JobAgent.exe DisplayName= "InsightMaker Job Agent" start= auto
sc.exe create InsightMakerMigrationAgent binPath= c:\InsightMaker\MigrationAgent\InsightMaker.MigrationAgent.exe DisplayName= "InsightMaker Migration Agent" start= auto
sc.exe create InsightMakerOcrAgent binPath= c:\InsightMaker\OcrAgent\InsightMaker.OcrAgent.exe DisplayName= "InsightMaker Ocr Agent" start= auto
sc.exe create InsightMakerSecurityAgent binPath= c:\InsightMaker\SecurityAgent\InsightMaker.SecurityAgent.exe DisplayName= "InsightMaker Security Agent" start= auto
sc.exe create InsightMakerSourceAgent binPath= c:\InsightMaker\SourceAgent\InsightMaker.SourceAgent.exe DisplayName= "InsightMaker Source Agent" start= auto

sc.exe description InsightMakerContentAgent "InsightMaker Content Agent"
sc.exe description InsightMakerEnrichmentAgent "InsightMaker Enrichment Agent"
sc.exe description InsightMakerJobAgent "InsightMaker Job Agent"
sc.exe description InsightMakerMigrationAgent "InsightMaker Migration Agent"
sc.exe description InsightMakerOcrAgent "InsightMaker Ocr Agent"
sc.exe description InsightMakerSecurityAgent "InsightMaker Security Agent"
sc.exe description InsightMakerSourceAgent "InsightMaker Source Agent"

In services list, ensure each of the agents are have their startup type set to automatic or automatic(delayed startup) and are running.

Configuring IIS

Initially: Ensure that '.NET Core and HostingBundle' has been installed, otherwise middleware will not be able to run in IIS.

  • Ensure the account that IIS runs under has read access to your Elasticsearch certificates

  • Open Internet Information Services (IIS)

  • Open dropdowns in the left window and select Default Website

  • On the right hand side, open 'Bindings' and add a new binding

  • If you want to use SSL (production platform for example):

    • Set type to https and use the default fields (port 443)

    • Set SSL certificate

  • Open basic settings on the right and set the physical path to the 'app' folder within the Search directory

  • Right click Default Website and add a new application and call this alias 'api' and set the physical path to the 'api' folder within the Search directory

  • Right click Default Website and add a new application and call this alias 'admin' and add the path to the 'app' folder of the Admin directory

  • Right click 'admin' and add one more website and call this alias 'api' and point it to the api folder in the Admin directory

This sets up the default website on the server and can be accessed using 'localhost' in the navigation bar in any browser, and the other apps using their alias (for example admin is accessed using localhost/admin).

If you only see a blank screen it's possible that IIS didn't set itself up correctly, first try restarting IIS and, if that doesn't resolve the issue, follow the steps at the start of the guide to disable and re-enable IIS. Ensure that most of the 'Common Http Features' section gets enabled inside IIS.

Installing Odata API (optional)

  1. Navigate to C:/Insightmaker/Apps/OData.

  2. Open appsettings.default.json in a source code editor like NotePad++.

  3. Check the details are correct:

    • The Plugins path points to the plugins folder. Likely C:\InsightMaker\Plugins

    • The elastic certificate path points to the elastic-stack-ca.p12 file. This was created when you installed Elasticsearch.

    • The correct password is set.

    • The Elasticsearch credentials are set to the elastic login you created.

    • The prefix is set to the correct value and consistent across all components.

  4. Add your two Aiimi Insight Engine licences to the root of the json:

    • "licenseKey": "your key"

    • "licenseSig": "your sig"

  5. Check the remoteAddress is set to ‘http://localhost/analytics/‘.

  6. Save this file, do not change the name or location.

  7. Within C:/Insightmaker/Apps/OData open log4net.default.config.

  8. Change the file paths to where you’d like log files to save.

    • This can not be the in InsightMaker folder.

  9. Save this file, do not change the name or location.

  10. Remove the '.default' from each of the following file names:

    • 'appsettings.default.json'

    • 'log4net.default.config'

    • 'web.default.config'

  11. Open the web.config file.

    • Check the module is modules="AspNetCoreModuleV2".

  12. Open Internet Information Services (IIS)

  13. Open the dropdown on the left and Right click on default website.

  14. Click add new application, call the alias “analytics”.

  15. Set the physical path to the ‘API’ folder in InsightMaker/Apps/OData.

    • You should be able to view the OData metadata document using localhost/analytics/odata/$metadata.

Tika

  1. Unzip the Tika distribution

  2. Create a directory to store IM utilities, outside of the InsightMaker directory to avoid adding any complication to upgrades (eg. C:\Utils)

  3. Move tika.jar and run-tika.bat to this folder

  4. Modify run-tika.bat to include the correct path to tika (note - if your Elasticsearch is stored to a folder with spaces in it, then the Java home path will need to be encased in quotation marks)

  5. Run nssm install from an admin command prompt

  6. Point the path field to run-tika.bat and set up service/display names

  7. Note: if you want to run Tika without installing then from a command prompt navigate to the folder where you have placed Tika, then run .\run-tika.bat serve. This will allow you to identify any issues which are less obvious if you just go straight for the install (Ctrl + C to close down once tested)

By default Tika will listen on post 9998.

Accessing Control Hub

Navigate to http://localhost/admin and login with your elastic credentials (elastic:changeme by default).

Assuming you can login correctly, then you should see your agents on the configuration page. They will all be empty. To get started, please see the Quick Start Guide in the Administration Guide.

Last updated