Base collector
The base collector is Factry's collector framework. It contains all common functionality for collectors:
- The commands for installation and upgrades
- The configuration retrieval logic from Factry Historian
- Store-and-forward mechanisms
- Filtering and compression techniques
As such, this page serves as a reference for settings that are shared across all collector types. It is not available for download.
The default values will be sufficient in most cases.
Logging
LogLevel
Description: Specifies the log level, only messages with the configured log level will be visible in the system logs and sent to the historian. Default: info
Log levels
- trace
- debug
- info
Higher log levels will always be sent to the historian.
Logging (windows only)
LogSize
Description: The maximum size that a single log file can grow to before it is rotated. Default: 100
LogFileMax
Description: The number of logfiles that will be kept. Default: 10
LogFileDays
Description: The maximum age an archived logfile may have before it is deleted. Default: 10
Windows
PriorityClass
Description: The priority class for the process. Valid values are NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS, HIGH_PRIORITY_CLASS, REALTIME_PRIORITY_CLASS. Default: ABOVE_NORMAL_PRIORITY_CLASS
More info about the PRIORITY_CLASS.
Buffer
The buffer keeps a set amount of points in memory and when this fills up starts writing to a file. It will periodically process the buffer, from file and then memory, by sending the points to the historian.
BufferProcessInterval
Description: The interval in milliseconds that the buffer processes the buffer. Default: 250
BufferMaxBatchSize
Description: The maximum size of a batch in the buffer. Default: 5000
BufferMaxBatches
Description: The maximum amount of batches the buffer will keep in memory. Default: 20
BufferDiskBatches
Description: The maximum amount of batches that will be written to a buffer file. Default: 100
BufferMinFreeDiskSpace
Description: The buffer wont write to more files if the minimum free disk space is reached. Default: 2GB
The limit cannot be switched off. The value is a byte size such as 2GB or 500MB; a negative value is rejected and the default of 2GB is used instead.
BufferMaxDiskSpace
Description: The maximum disk space that the buffer files may take up. Default no limit. Default: 0MB
0, the default, means no limit. A negative value cannot be entered.
Communication
CompressionLevel
Description: The compression level GRPC uses, for default compression. 0 disables compression, 1 is fastest and the default, 9 is most compressed. Minimum: 0 Maximum: 9 Default: 1
GRPCMaxMessageSize
Description: The maximum message size for GRPC messages. Default: 64MB
GRPCCallTimeout
Description: The deadline for a single gRPC operation towards the Historian: one unary call, or one send, receive or close on a stream. Accepts a duration string. Raise it if registering a full BufferMaxBatchSize batch of measurements times out. Default: 2m
Ticker
The ticker is used by collectors that poll measurements, like the OPC-UA collector. This ticker determines how fast the measurements can polled and how accurate it needs to be.
Polled measurements can’t be polled at a lower interval than the ticker.
TickerInterval
Description: The interval for the base ticker in milliseconds. Default: 1000
TickerResolution
Description: The resolution for the base ticker in milliseconds. Maximum 1/10th of the the interval. Default: 25
TickerMaxDrift
Description: The maximum drift a tick may have in milliseconds. Must be lower than the interval. Default: 125
Other
AlternativeTimezone
Description: The timezone to reinterpret all timestamps in, including those on statistics and logs. The name is taken to be a location name corresponding to a file in the IANA Time Zone database. Default: /
SourceTimezone
Description: Strips the timezone off incoming point timestamps and reinterprets them in the configured timezone. Unlike AlternativeTimezone this applies to data points only, not to statistics and logs. Default: empty
HAPollingInterval
Description: The interval in milliseconds at which the backup collector polls the main collector’s health. Default: 1000
AllowedFutureDuration
Description: Defines the maximum duration into the future from the current time (collector’s perspective) that a source timestamp is considered valid. Default: /
AllowedPast
Description: Defines the earliest allowable point in time for source timestamps. This can be specified either as a fixed timestamp (e.g., 2023-07-01T00:00:00Z) or as a duration in the past relative to the current time (e.g., 1w for 1 week ago). Default: /
BadTimestampAction
Description: Specifies the action to take when a timestamp is found to be outside the allowed ranges. Discard: the point is discarded. SendWithCurrent: the point is sent with the current timestamp and BadTimestampOutOfRange instead. Default: Discard
StatusGood
Description: A comma separated list of status strings that will be interpreted as a Good status. Escaping is possible with a backslash.
TerminationGracePeriod
Description: duration that determines how long a collector will attempt to shut down cleanly before being forcefully shut down. This is meant as a last-resort measure to ensure collectors never hang indefinitely during shutdown. Default: 5m
Compression: swinging door and noise filtering
Swinging Door compression reduces the number of points sent by only emitting points when the signal deviates from a trend line by a certain tolerance.
Noise (deadband) filtering drops small changes in numeric signals to reduce noise and data volume.
These settings apply at the collector level unless overridden at the measurement level by setting either the SwingingDoorOverride or the NoiseFilterOverride value to true.
SwingingDoorEnabled
Description: Enable Swinging Door compression at collector level. Default: false
SwingingDoorTolerance
Description: Absolute tolerance. Emits a point when deviation from the current interpolated line is greater than or equal to this value. 0 means not set. Ignored when SwingingDoorTolerancePercent is non-zero and minValue and maxValue are set in engineering specs. Default: 0.0
SwingingDoorTolerancePercent
Description: Percent tolerance of engineering specs span (maxValue - minValue). Takes precedence over `SwingingDoorTolerance`. '0%' means not set. Example: '5%' Default value: 0%
SwingingDoorMaxTimeBetweenEmits
Description: Maximum time-gap between emitted points. This ensures occasionally samples are sent even when the signal is stable. '0s' disables the limit. Examples: '1h30m', '10s', '0s' Default value: 0s
NoiseFilterEnabled
Description: Enable the noise (deadband) filter at collector level. Default value: false
NoiseFilterTolerance
Description: Minimum absolute difference between consecutive points; smaller changes are dropped. For numeric signals this is the absolute difference. For booleans, strings and other datatypes any value above 0 drops a point whose value equals the last accepted value. 0 means not set. Ignored when NoiseFilterTolerancePercent is non-zero and minValue and maxValue are set in engineering specs. Default value: 0.0
NoiseFilterTolerancePercent
Description: Minimum difference as a percent of engineering specs span (maxValue - minValue). Takes precedence over NoiseFilterTolerance. Numeric signals only. '0%' means not set. Example: '2.5%'. Default value: 0%
NoiseFilterMaxTimeBetweenEmits
Description: Maximum time-gap between emitted points. This ensures occasionally samples are sent even when the signal is stable. Examples: '1h30m', '10s', '0s' Default value: 0s
NoiseFilterMinTimeBetweenPoints
Description: Minimum time-gap between emitted points. '0s' disables the limit. When both this and NoiseFilterMaxTimeBetweenEmits are set, this value has to be strictly smaller, otherwise the collector fails to apply its settings. Examples: '1m30s', '10s', '0.5s', '0s' Default value: 0s
Environment variables
This section describes all environment variables that can be configured.
SERVER_NAME_OVERRIDE
Default value: historian.factry.local Description: Only need to change this if using a different certificate.
ALLOW_INSECURE
Default value: false Description: Allows a plaintext gRPC connection to the Historian server, without TLS. Ignored when a self-signed certificate is used.