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.
When sending the message to Mattermost fails temporarily, the sending is retried a configurable number of times with a quadratically increasing back-off time between the trials.
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 |
|---|---|---|---|
|
URL of the Mattermost webhook |
string |
- |
|
Minimum log level of the logger |
string |
|
|
Ignore log messages with certain topics |
list of strings |
[ |
|
Only log to Mattermost in the |
bool |
|
|
Number of retries for sending a message to Mattermost |
Integer |
5 |
|
Initial time in milliseconds for the back-off between retrying to send messages |
Integer |
500 |
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 name |
Role this satellite should take in the Constellation. Accepted values are |
|
|
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. |
|
Conditional Transitions#
Parameters to control conditional transitions in the _conditions section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
Unsigned integer |
Timeout in seconds to wait for all conditions to be satisfied for conditional transitioning |
|
Framework Metrics#
This satellite inherits the following framework metrics from its base classes:
Metrics inherited from Satellite#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Current run identifier. Updated whenever it changes. |
String |
- |
|
Current satellite state. Updated when changed. |
String |
- |
|
CPU load average over the past 1 minute, provided in percent. |
Float |
10s |
|
Available memory in Megabytes. |
Integer |
10s |