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#

Parameter

Type

Description

Default Value

_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

_role

Role name

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

DYNAMIC

Transition Orchestration#

Parameters to control autonomous transition orchestration of satellites:

Parameter

Type

Description

Default Value

_conditional_transition_timeout

Unsigned integer

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

30

_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

-

Framework Metrics#

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

Metrics inherited from Satellite#

None