Influx Satellite#

Name

Influx

Description

Satellite writing metrics to InfluxDB

Category

Monitoring

Language

Python

Description#

This satellite listens to metrics sent by other satellites and writes to a InfluxDB time series database. Only metrics of type float, integer and boolean can be written to InfluxDB. Writing to the database is performed in batched mode, this means received telemetry data are buffered and flushed to InfluxDB after a pre-defined time set via the flush_interval. When increasing this interval it should be noted that newly received telemetry data will only show up in any graphical display after it has been flushed to the database and might not be available yet when the display is updated.

Warning

Currently, the satellites subscribes to all metrics. This can lead to performance penalties if there are debugging metrics which are evaluated in a hot loop. Excluding and including metrics is a feature that will be added in the future.

Requirements#

The Influx satellite requires the [influx] component, which can be installed with:

pip install "ConstellationDAQ[influx]"
pip install --no-build-isolation -e ".[influx]"

Note

The Influx satellite requires a working InfluxDB instance. A how-to guide on how to set up an InfluxDB instance is given in the operator guide.

Parameters#

Parameter

Description

Type

Default Value

url

InfluxDB URL

String

http://localhost:8086

token

Access token

String

-

org

Organization

String

-

bucket

Measurement bucket

String

constellation

flush_interval

Interval in seconds with which telemetry data is flushed to the InfluxDB

Float

2.5

Framework Parameters#

This satellite inherits the following framework parameters from its base classes:

Parameters inherited from Satellite#

Autonomous Operation#

Parameters to control autonomy in the _autonomy section:

Parameter

Type

Description

Default Value

role

Role name

Role this satellite should take in the Constellation. Accepted values are ESSENTIAL, DYNAMIC, TRANSIENT and NONE.

DYNAMIC

max_heartbeat_interval

Unsigned integer

Maximum interval in seconds between heartbeats to be sent to other Constellation components. The time between heartbeat is adjusted automatically according to the number of nodes in the Constellation but will never exceed this value.

30

Conditional Transitions#

Parameters to control conditional transitions in the _conditions section:

Parameter

Type

Description

Default Value

require_initializing_after

List of strings

List of canonical names of remote satellites for conditional transitioning in initializing state

-

require_launching_after

List of strings

List of canonical names of remote satellites for conditional transitioning in launching state

-

require_landing_after

List of strings

List of canonical names of remote satellites for conditional transitioning in landing state

-

require_starting_after

List of strings

List of canonical names of remote satellites for conditional transitioning in starting state

-

require_stopping_after

List of strings

List of canonical names of remote satellites for conditional transitioning in stopping state

-

transition_timeout

Unsigned integer

Timeout in seconds to wait for all conditions to be satisfied for conditional transitioning

30

Framework Metrics#

This satellite inherits the following framework metrics from its base classes:

Metrics inherited from Satellite#

None