Skip to content

JSON Agent Configuration

If you'll be using the JSON Agent, it must be configured using the JSONAgent property in MasterConfig.json.

JSON Agent Configuration
{
  "JSONAgent": {
    "AdminLoginDurationMinutes": 60,
    "AdminSecretMinimumLength": 8,
    "ConsumerWaitSeconds": 1,
    "EnableHostTerminal": true,
    "EnableSwaggerUI": true,
    "HelperAssembly": "C:/PATH/TO/RecordHelpers.dll",
    "PeriodicServices": {
      "Entries": [
        {
          "Name": "PeriodicServiceTest",
          "Program": "C:/PATH/TO/PROGRAM.EXE",
          "Arguments": "--arg1 --arg2",
          "WorkingDirectory": "",
          "CronExpression": "* * * * *",
          "Priority": 1,
          "Enabled": true,
          "PauseEnabled": false
        }
      ]
    },
    "KafkaClientId": "DEFAULT_JSON_AGENT1",
    "KafkaConsumerGroup": "DEFAULT_JSON_AGENT",
    "LogCacheMaxRows": 1000,
    "LogFilePath": "C:/PATH/TO/LOGFILES",
    "LogToFile": true,
    "SleepSeconds": 1,
    "TopicToWrite": "DEFAULT_REPLICATOR_JSON",
    "VerboseLogging": false
  }
}

Configuration Properties

Property Type Description
AdminLoginDurationMinutes Integer How many minutes the agent UI is valid before the user must log in again (default 60)
AdminSecretMinimumLength Integer The minimum acceptable length for the admin secret or password (default 8)
ConsumerWaitSeconds Integer How long the agent should wait each time it tries to consume a Kafka message (default 1)
EnableHostTerminal Boolean Should the host login terminal be available in the UI?
EnableSwaggerUI Boolean Should the ISAM Agent expose API information via SwaggerUI?
HelperAssembly String The path to a .NET assembly containing code-generated record helper classes
PeriodicServices Object Hosted commands that run on a cron schedule
PeriodicServices.Entries Object[] An array of periodic service entries
...Entry.Name String Job name
...Entry.Program String The command to run
...Entry.Arguments String Command line arguments
...Entry.WorkingDirectory String The working directory to be set for the running program
...Entry.CronExpression String A valid cron expression that defines when the job should run
...Entry.Priority Integer Job priority (1 is the highest, then 2, etc.) (default 1)
...Entry.Enabled Boolean Is the job enabled? (default false)
...Entry.PauseEnabled Boolean Can the service be paused by an administrator? (default false)
KafkaClientId String The name or ID to use for the Kafka consumer (required, no default)
KafkaConsumerGroup String The name or ID to use for the Kafka consumer group (required, no default)
LogCacheMaxRows Integer The number of log messages retained in memory for the UI (default 1000, max 5000)
LogFilePath String The path to the directory where a log file should be created
LogToFile Boolean Should a log file be created? (default false)
SleepSeconds Integer When no messages are waiting, the seconds to sleep before trying again (default 1)
TopicToWrite String The name of the Kafka topic to write JSON formatted messages to
VerboseLogging Boolean Should verbose logging be enabled? (default false)