Configure Insights in ArcGIS Enterprise

Insights in ArcGIS Enterprise

As the Insights in ArcGIS Enterprise administrator, you can add an application configuration file to specify a variety of options. The configuration file must be called insights.json and should be placed in the following location on the ArcGIS Server: ArcGIS Server install directory\framework\etc\insights.json. Available options are described below.

Administrative settings

The following properties are used to define options.

PropertyDescription

max_feature_copy_limit

Controls the maximum size of a remote feature layer that can be copied to the relational data store or a database. If the number of records in the dataset exceeds this value, operations requiring data to be copied will return an error. Acceptable values are integers; the default is 250,000. This is an Integer property value and does not require quotation marks.

Note:

This limit applies to remote feature layers that are accessed through a proxy, layers accessed from an ArcGIS Enterprise deployment that does not have Insights installed, and layers whose hosting portal cannot be determined.

If the limit is exceeded, the following error message will be displayed: The dataset contains too many records. Try reducing the size of your dataset. You can reduce the size of your dataset using an attribute filter or spatial filter.

Example: "max_feature_copy_limit": 250000

database_timeout

Controls the length of time in seconds that an operation using data from a database connection will run before timing out. If the length of time to run an operation exceeds this value, the operation will return an error. Acceptable values are integers; the default is 120 seconds. This is an Integer property value and does not require quotation marks.

Example: "database_timeout": 120

Note:

Operations performed with SAP HANA databases do not have time-out limits. The database_timeout property will not be applied to SAP HANA.

task_timeout_secs

Controls the length of time in seconds that a scheduling task can run before timing out. If the length of time to run the scheduled update exceeds this value, the operation will return an error. Acceptable values are integers; the default is 1,800 seconds (30 minutes). This is an Integer property value and does not require quotation marks.

Example: "task_timeout_secs": 1800

allow_running_tasks_without_sandboxing

Note:

This setting is for Linux deployments only.

Controls whether scheduling tasks are run with sandboxing. Acceptable values are true or false; the default value is false. This is a Boolean property and does not require quotation marks.

Example: "allow_running_tasks_without_sandboxing": false

max_concurrent_task_runners

Controls the number of scheduling tasks that can be run at the same time. If the number of tasks scheduled to run exceeds the maximum, tasks will be queued until another task completes. Acceptable values are integers; the default is 4. This is an Integer property value and does not require quotation marks.

Example: "max_concurrent_task_runners": 4

enforce_database_connection_sharing_permission

Controls whether a database connection must be shared when a report referencing data from the connection is shared. Acceptable values are true or false; the default value is true. This is a Boolean property and does not require quotation marks.

If the property is set to true, you will be required to share the database connection at the same level as reports that use its data (for example, if the report is shared with the public, the database must also be shared with the public). If the property is set to false, the database connection will not need to be shared. However, the users with access to the report will also have access to the tables seen on the page.

Example: "enforce_database_connection_sharing_permission":true

Change settings

Complete the following steps to configure the settings for Insights in ArcGIS Enterprise:

  1. Create a file named insights.json.
  2. Add the settings you want to configure to a single object in the .json file.
  3. Copy the insights.json file to \framework\etc\.
  4. Restart ArcGIS Server.
  5. If your Insights in ArcGIS Enterprise implementation includes more than one ArcGIS Server, repeat steps 3 and 4 for each ArcGIS Server in your site.

    The settings should be identical on all servers.

Note:

Ensure that the insights.json file contains valid JSON. The settings will not take effect if the file is not formatted correctly.

If you want to restore the default administrative settings, you can do so by deleting insights.json and restarting ArcGIS Server. Be sure to repeat these actions on each ArcGIS Server in your site.

Example

Contents of the insights.json file when configuring enrich_max_features, locate_geocode_max_features, buffer_network_max_features, max_feature_copy_limit:

{  
"enrich_max_features": 10000,  
"locate_geocode_max_features": 10000,  
"buffer_network_max_features": 1000,
"max_feature_copy_limit": 500000 
}

Use sandboxing

Note:

Sandboxing settings are used in Linux deployments only.

Scheduled updates for published reports require you to run JavaScript code, which is done with a special build of the Chromium browser. Chromium has a security feature called sandboxing, which acts as extra security in case the code the browser is running is able to bypass any of its own security restrictions. It works by isolating the process from the rest of the system with either the namespace sandbox or setuid sandbox.

The namespace sandbox requires asking the kernel to perform an unprivileged user namespace clone. If the kernel flag is supported on your system, check with your administrator about enabling this feature using the following:

sudo sysctl -w kernel.unprivileged_userns_clone=1

If the namespace sandbox is not supported, you can set up the setuid sandbox instead.

The actions performed by the setuid sandbox require root privileges. Therefore, it must be configured so that anyone can run it as root.

  1. Locate the chrome-sandbox file in your ArcGIS Server installation at the following path: framework/runtime/insights/linux/
  2. Change the owner to root using the following command: sudo chown root chrome-sandbox.
  3. Allow anyone to run the chrome-sandbox as the owner (root) using the following command: sudo chmod 4755 chrome-sandbox.

As a last resort, if your scheduled updates fail because there is no working sandbox, this security feature can be disabled with the Insights setting allow_running_tasks_without_sandboxing. If a sandbox is working, this setting will be ignored. Otherwise, the tasks will run without a system level sandbox.

Esri User Experience Improvement program

The Esri User Experience Improvement program collects usage information from users and uses the data to make improvements to the software.

Administrators can opt-out of the program during the install process. If the Insights in ArcGIS Enterprise installation process is complete, the settings can be configured to discontinue participation in the program.

Configure the settings for Windows

If you are installing Insights in ArcGIS Enterprise on Windows, you can uncheck Click here to participate in the Esri User Experience Improvement program in the install wizard to opt-out.

The settings for the Esri User Experience Improvement program can be configured using the settings file (<portal_install_dir>/apps/insights/settings.json). To opt-out of the program, change the setting from eueiEnabled: "true" to eueiEnabled: "false".

Configure the settings for Linux

If you are installing Insights in ArcGIS Enterprise on Linux, you can run the install command ./Insights-Setup.sh -e No to opt-out of the Esri User Experience Improvement program.

The settings for the Esri User Experience Improvement program can be configured using the settings file (<portal_install_dir>/apps/insights/settings.json). To opt-out of the program, change the setting from eueiEnabled: "true" to eueiEnabled: "false".