Mattermost Satellite#

Name

Mattermost

Description

Satellite sending log messages to Mattermost

Category

Monitoring

Language

C++

Description#

This satellite listens to log messages sent by other satellites and sends them to a Mattermost channel. The name of the sender will be used as username in Mattermost. Log messages with a log level of WARNING are marked as important and log messages with a log level of CRITICAL are marked as urgent. In both cases the log messages are prefixed with @channel to notify all users in the channel. In addition to logging from other satellites, messages are sent when a run is started, stopped or interrupted.

Building#

The Mattermost requires cpr, which is downloaded on demand. The satellite is not build by default, building can be enabled via:

meson configure build -Dsatellite_mattermost=true

Parameters#

Parameter

Description

Type

Default Value

webhook_url

URL of the Mattermost webhook

string

-

log_level

Minimum log level of the logger

string

WARNING

ignore_topics

Ignore log messages with certain topics

list of strings

[FSM]

only_in_run

Only log to Mattermost in the RUN, interrupting or SAFE state

bool

false

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#

Metric

Description

Value Type

Interval

RUN_ID

Current run identifier. Updated whenever it changes.

String

-