Mirror Pluginand a remote telemetry system called the
Mirror. The Mirror Plugin is a StackState plugin configured to talk to the Mirror. The plugin requires the Mirror to implement the Mirror REST API. In its turn, the Mirror acts as a gateway to the target telemetry system and is implemented as a webserver.
connectionDetailsis mandatory and must be present in each request. The field contains arbitrary JSON configuration for connecting to the target system. This is a flexible configuration, and it is up to the Mirror implementor to decide what configuration elements are required. For example, a target telemetry source URL, timeouts, API key, and many others.
keyis of type string, and it contains the name of the variable/field/label in the remote monitoring system. The
valueis a JSON object that contains the actual value of one of three types: string, double or boolean.
endTime, each holding a timestamp in epoch milliseconds indicating the query date range.
X-MIRROR-API-KEYand the StackState Mirror Plugin should compare it with the API key configured in the StackState server.
FieldNamesRequestrequest type contains a
FieldNamesQueryobject. The query object contains
limitacting as a filter for the result field list. These parameters help the user to do continuous refinement of available field names during configuration of a telemetry stream.
fieldName- the name of the field.
fieldType- one of three
classified- indicates that special care need to be taken when logging or displaying the values of this field.
CompleteValueindicates that the
valuefield contains a full value token. The
FieldValuePatternspecifies the partial value that can be used as a
fieldValuePrefixin subsequent refinement requests.
aggregationobject in the
queryfield. Besides common fields, there is a
metricFieldwhich optionally indicates the source field for metric values.
pointslist contains several sublists each representing one data point
isPartialindicates if the response has been truncated either by application of the
limitfield or by the telemetry store itself. In this case, the user should take action and execute another metric request specifying the last point timestamp as
startTimeto retrieve truncated values.
aggregationfield is not empty and holds the aggregation
methodand aggregation bucket size
bucketSizeMillis. The aggregation is done using the batching windowing method. See the available aggregation methods.
endTimestampfields indicating aggregated bucket start and stop time. The positions are specified in the