Configuration Files

Working with Configuration Files

Conductor

Like other APM Services on the App Server, most of the configuration should be done through appsettings.Global.json to ensure that all the services share a common configuration.

In this release, the only exception is Logging, which is best configured via the appsettings.json file in C:\Program Files\Meridium\OTConnect\Conductor.

Adapter

As Adapters are typically installed on an OT Connect Process Data Server without other APM services, they do not require the appsettings.Global.json file. However, if that file is present, any settings in it will be used by all installed Adapters by default.

Note: It is recommended that Adapters are installed on a server that does not include the C:\ProgramData\Meridium directory, so that their configuration and logging can be kept isolated, simplifying troubleshooting of an individual OT Source and Adapter.

Typically all the settings will be configured within C:\Program Files\Meridium\OTConnect\Adapter\<SourceName>, including Logging.

An OT Connect Adapter Service needs to connect to ActiveMQ and Redis, and identify itself to APM:

Table 1. Adapter
FieldDescriptionDefaultExampleRequired?
TenantIdDatasource Id-V4060100_QAYes
OtSource.NameName of the Source; must be unique across the tenant and exactly match the OT Source Name configured in APM.-Source T1002Yes
OtSource.FolderFiltersList of folders on the Historian that should not be searched for tags.-%OSINo
OtSource.HDAReadingsDateRangeInDaysNumber of days that the Historian should go back in time to gather readings.1461900No
OtSource.ReadingAccessTypeIndicates how the adapter should get reading data from the Historian, using aggregates or raw data.AggregateRawNo
OtSource.AggregationTypeAggregation that should be used. i.e. (Average, Minimum, Maximum, Last.LastAverageNo
OtSource.MaxReadingRawValuesNumber of readings that should be considered when calculating the aggregate for raw readings.1000010No
Table 2. MessageBus.QueueOptions
FieldDescriptionDefaultExampleRequired?
ActiveMqHostIP or hostname of ActiveMQ broker-MyappserverYes
ActiveMqPortPort the ActiveMQ broker is listening on-61616Yes
UsernameUsername for ActiveMQ-AdminYes
PasswordPassword for ActiveMQ user-P@55w0rdYes
FailoverHostsArray of ActiveMqHosts to use for failover in a clustered environment-[“myappserver1”, “myappserver2”]No
MqSslSettings.UseSslUse SSL to secure the connection to ActiveMQfalsetrueNo
Table 3. MessageBus.CacheOptions
FieldDescriptionDefaultExampleRequired?
HostIP or hostname of the Redis serverlocalhostmyappserverYes
PortPort the Redis server is listening on63796379No
PasswordPassword for Redis-P@55w0rdNo
ConnectionTimeoutTimeout when opening a connection30003000No
SyncTimeout[WS1] Timeout for Redis operations- when working with large data, it’s recommended to increase this value50015000No
SslUse SSL to secure the connection to RedisfalsetrueNo

Example

"Adapter": {
    "TenantId": "V4060000_QA",
    "OtSource": {
      "Name": "Source T1002",
      "HDAReadingsDateRangeInDays": 900,
      "ReadingAccessType": "Raw",
      "AggregationType": "Average",
      "MaxReadingRawValues": 10,
      "FolderFilters": [
      "%OSI",
      "%OSI_MCN"
      ]
    }
  },
"MessageBus": {
    "QueueOptions": {
      "ActiveMqHost": "App Server hostname or IP",
      "ActiveMqPort": 61616,
      "Username": "admin",
      "Password": "admin"
    },
    "CacheOptions": {
      "Host": "App Server hostname or IP", 
      "SyncTimeout": 15000
    }
  }