Skip to main content
Skip table of contents

Advanced Agent Configuration

This section covers advanced agent configuration options.

Configuration

This is an example configuration that is displayed in the Configure Agent box that appears when you click Configure for an existing agent on the Agents administration page. These are advanced configuration options that should generally not be changed without help from Seeq support. Most options have null default values, meaning the actual values used should be determined automatically by the agents.

JSON
{
  "WatchdogOverride": {
    "WatchdogEnabled": null,
    "SeeqServerHttpConnection": null,
    "SeeqServerWebSocketConnection": null,
    "SeeqServerResponse": null,
    "AgentHeartbeat": null,
    "HighMemoryUse": null,
    "ConnectorConfigChange": null
  },
  "Connectors": [
    {
      "Name": "OSIsoft AF Connector",
      "Enabled": true
    }
  ],
  "ConcurrentMetadataSync": true,
  "RemoteLogStreaming": true,
  "SeeqServerReadTimeoutForIndexing": null,
  "SeeqServerNetworkTimeoutForIndexing": null,
  "ExportMaxConcurrencyLevel": null,
  "HighMemoryUseThresholdGB": null,
  "MinConnectorReinitializationDelay": "5s",
  "MaxConnectorReinitializationDelay": "10 min",
  "WebSocketKeepAliveInterval": null,
  "WebSocketKeepAliveTimeout": null,
  "DefaultInitialSizeForBatchOperations" : null,
  "DefaultMaximumDurationForBatchOperations" : null,
  "AgentKeyRotationDays": null,
  "ApiRequestErrorsRequiringRetryOverride": null
}
Configuration Options

Property Name

Built-in Value (when null)

Data Type

Description

Connectors

The list of connectors found by the agent, all enabled

List of connectors

A list of connectors found by the agent and whether they should be loaded.

SeeqServerConnectTimeoutForIndexing (JVM Agent only)

"30 min"

String

The connect timeout for the HTTP client used during connection indexing.

SeeqServerReadTimeoutForIndexing

"30 min"

String

The read timeout for the HTTP client used during connection indexing.

SeeqServerNetworkTimeoutForIndexing

"30 min"

String

For how long failed Seeq API requests made during connection indexing should be retried.

MinConnectorReinitializationDelay

"5s"

String

The initial delay when reinitializing a connector that failed to initialize.

MaxConnectorReinitializationDelay

"10 min"

String

The maximum delay when reinitializing a connector that failed to initialize multiple times, with each attempt having an exponentially longer delay.

WebSocketKeepAliveInterval

"5 s"

String

The interval between pings sent to the Seeq server to maintain the websocket connection alive.

WebSocketKeepAliveTimeout

"5 s"

String

The accepted delay between sending a ping to the Seeq server and receiving a pong in response.

DefaultInitialSizeForBatchOperations

100

Integer

A number greater than 0 defining the initial size for batch operations (for example, sending items during connection indexing). This size will be adjusted dynamically to attempt to achieve DefaultMaximumDurationForBatchOperations.

DefaultMaximumSizeForBatchOperations

Unlimited

Integer

A number equal to or greater than DefaultInitialSizeForBatchOperations, defining the maximum size for batch operations. A value of null means unlimited size.

DefaultMaximumDurationForBatchOperations

"10 s"

String

The target maximum time spent on each batch operation. The batch size will be adjusted dynamically to attempt to achieve this duration.

AgentKeyRotationDays

not used

Positive Integer

Specifies the number of days after which the provisioned agent user’s key will be updated. This parameter is generally not recommended and should be left null for most deployments. If the parameter is set, the indexing operation may be disrupted during key rotation and data requests may fail.

ApiRequestErrorsRequiringRetryOverride

See below

A list of API error matchers (see below)

What Seeq API errors should cause requests to be retried. Setting this option completely overrides the built-in list of errors the would normally be retried (see below).

Overriding automatic retries with ApiRequestErrorsRequiringRetryOverride

This configuration options takes a list of error matchers, like the following:

JSON
"ApiRequestErrorsRequiringRetryOverride": [
    { "Code": 500, "MessageFilterRegex": "^Temporarily unavailable$" },
    { "Code": 520, "MessageFilterRegex": "timeout" },
    { "Code": 522, "MessageFilterRegex": null },
  ]

In this example, if an agent makes a request to the Seeq API and encounters an error, the request should be retried under the following conditions:

  • Has HTTP status code 500 and the error message that is exactly Temporarily unavailable OR

  • Has HTTP status code 520 and error message containing the word timeout OR

  • Has HTTP status code 522 and any error message

Setting this option to a value different than null or [] will completely override the built-in list of errors automatically retried by the agent, which is equivalent to the following:

JSON
"ApiRequestErrorsRequiringRetryOverride": [
    { "Code": 0, "MessageFilterRegex": null },
    { "Code": 500, "MessageFilterRegex": null },
    { "Code": 502, "MessageFilterRegex": null },
    { "Code": 503, "MessageFilterRegex": "^((?!canceled).)*$" },
    { "Code": 504, "MessageFilterRegex": null },
    { "Code": 520, "MessageFilterRegex": null },
    { "Code": 522, "MessageFilterRegex": null },
]

Note:

  • The entry with Code 0 is only actually used in the .NET agent, to handle connection failure errors from its REST library

  • The MessageFilterRegex used with Code 503 is meant to exclude canceled requests from being retried

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.