Properties and configurations

Learn about the properties and configurations that are used for configuring the MobileFirst Server and IBM MobileFirst™ Platform Operational Analytics.

MobileFirst properties

These properties can be set on the MobileFirst Server in the worklight.properties file. The server must be restarted for these properties to take effect.

Note: All properties in the worklight.properties file can also be set by using JNDI properties. For more information about JNDI properties, see JNDI environment entries for MobileFirst projects in production.

For more information about the IBM MobileFirst Platform Operational Analytics properties, see Analytics.

JNDI properties

JNDI environment properties can bet set on the application server. For a clustered environment, some properties can be set only on the first node in the cluster. For more information, see Setting up a production cluster. The Analytics runtime web application must be restarted for any changes in these properties to take effect. It is not necessary to restart the entire application server.

All JNDI properties are namespaced with analytics/.

The following example shows how to set the datapath JNDI property in Liberty:
<jndiEntry jndiName="analytics/datapath" value="/opt/IBM/analytics/data" />
The following example shows how to set the datapath JNDI property in Tomcat:
<Environment name="analytics/datapath"
           value="/opt/IBM/analytics/data"
           type="java.lang.String"
           override="false" />
Note: For Tomcat, the JNDI property must include the override="false" attribute to work properly.
The following table shows the JNDI properties:
Table 1. JNDI properties for the IBM MobileFirst Platform Operational Analytics. This table lists the JNDI property names, default values, and descriptions for the IBM MobileFirst Platform Operational Analytics.
Property Name Default Value Description
nodetype None. Defines the node type. Valid values are master and data. If this JNDI property is not set, then the node acts as a master node and a data node by default.
shards 5 The number of shards per index that the cluster creates. This value can be set only by the first node in a cluster. This value can never be changed after the first node in the cluster starts.
replicas_per_shard 1 The number of replicas for each shard in the cluster. This value can be set only by the first node in a cluster.
masternodes None. A comma-delimited string that contains the host name and ports of the master nodes. For more information about this property, see Setting up a production cluster.
clustername worklight Name of the cluster. Set this value if you plan to have multiple clusters and want to uniquely identify them.
nodename Randomly generated. Name of a node in a cluster. A node that joins a cluster randomly generates a name to uniquely identify itself. You can specify your own name by using this property.
datapath ./analyticsData The path that analytics data is saved to on the file system. By default, a folder that is named analyticsData is created.
settingspath None. Specifies the path to an extra settings file. For more information, see Elasticsearch properties.
transportport 9600 Port that is used for node-to-node communication. For more information, see Ports that are used by the IBM MobileFirst Platform Operational Analytics.
httpport 9500 Port that is used for HTTP communication to the IBM MobileFirst Platform Operational Analytics. For more information, see Ports that are used by the IBM MobileFirst Platform Operational Analytics.
http.enabled false Controls whether Elasticsearch can be queried directly by using the HTTP Port. If false, the port that is specified by the JNDI value httpport is not opened, and Elasticsearch is not accessible by using HTTP.
app_activities_ttl None. The TTL for automatic deletion of app activities data.
notification_activities_ttl None. The TTL for automatic deletion of notification activities data.
client_logs_ttl None. The TTL for automatic deletion of client logs data.
server_logs_ttl None. The TTL for automatic deletion of server logs data.
serviceProxyURL None This property enables the IBM MobileFirst Platform Operational Analytics console to locate the Analytics REST services. The value of this property must be specified as the external address and context root of the worklight-analytics-service.war web application.
bootstrap.mlockall true This property prevents any Elasticsearch memory from being swapped out.
index.mapper.dynamic false This property allows for the dynamic creation of mappings for unmapped types to be disabled.
multicast false Enables or disables multicast ping discovery.
warmupFrequencyInSeconds 600 This property runs background queries immediately on start in the specified interval to force data query results into memory, improving web console performance. Negative value disables running the background warmup.
tenant worklight Name of the main ElasticSearch index.

Elasticsearch properties

Elasticsearch is the underlying technology that is used by IBM MobileFirst Platform Operational Analytics. Elasticsearch provides several extra properties for performance tuning. The JNDI properties that are exposed and documented here are abstractions around the properties that are provided by Elasticsearch. Normally, these properties are set in a custom settings file.

If you are familiar with Elasticsearch and the format of its properties files, you can specify the path to the settings file by using the settingspath JNDI property:
<jndiEntry jndiName="analytics/settingspath"
           value="/home/system/elasticsearch.yml" />
All properties that are provided by Elasticsearch can also be set by using a JNDI property with the analytics/ string added before the property name. For example, threadpool.search.queue_size is a property that is provided by Elasticsearch that is used for performance tuning. This property can be set by using a JNDI property as follows:
<jndiEntry jndiName="analytics/threadpool.search.queue_size" value="100" />

Analytics Console properties

For more information about the settings that can be set in the Update Settings page of the Analytics Console, including TTL settings, see Update Settings and Data purging.