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.
{
"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 | Data Type | Description |
---|---|---|---|
| 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. |
|
| String | The connect timeout for the HTTP client used during connection indexing. |
|
| String | The read timeout for the HTTP client used during connection indexing. |
|
| String | For how long failed Seeq API requests made during connection indexing should be retried. |
|
| String | The initial delay when reinitializing a connector that failed to initialize. |
|
| String | The maximum delay when reinitializing a connector that failed to initialize multiple times, with each attempt having an exponentially longer delay. |
|
| String | The interval between pings sent to the Seeq server to maintain the websocket connection alive. |
|
| String | The accepted delay between sending a ping to the Seeq server and receiving a pong in response. |
|
| 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 |
| Unlimited | Integer | A number equal to or greater than |
|
| String | The target maximum time spent on each batch operation. The batch size will be adjusted dynamically to attempt to achieve this duration. |
| 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 |
| 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:
"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 exactlyTemporarily unavailable
ORHas HTTP status code
520
and error message containing the wordtimeout
ORHas 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:
"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 libraryThe MessageFilterRegex used with Code
503
is meant to exclude canceled requests from being retried