NextcloudTalk Satellite#
Name |
NextcloudTalk |
|---|---|
Description |
Satellite sending log messages to Nextcloud Talk |
Category |
Monitoring |
Language |
C++ |
Description#
This satellite listens to log messages sent by other satellites and sends them to a Nextcloud Talk chat. Log messages with a
log level of WARNING and CRITICAL are prefixed with @all to notify all users in the chat. In addition to logging from
other satellites, messages are sent when a run is started, stopped or interrupted.
When sending the message to Nextcloud Talk fails temporarily, the sending is retried a configurable number of times with a quadratically increasing back-off time between the trials.
Building#
This satellite requires cpr, which is downloaded on demand.
The satellite is not build by default, building can be enabled via:
meson configure build -Dsatellite_nextcloud_talk=true
Parameters#
Parameter |
Description |
Type |
Default Value |
|---|---|---|---|
|
URL of the Nextcloud instance |
string |
- |
|
ID of the target chat, for example |
string |
- |
|
Account name of the user to connect with |
string |
- |
|
App password of the account to be used, for example |
string |
- |
|
Minimum log level of the logger |
string |
|
|
Section with individual log topics and the respective subscription log level. |
Section |
{ |
|
Ignore log messages with certain topics |
list of strings |
[ |
|
Only log to Nextcloud Talk in the |
bool |
|
|
Number of retries for sending a message to Nextcloud Talk |
Integer |
5 |
|
Initial time in milliseconds for the back-off between retrying to send messages |
Integer |
500 |
The subscribe_topics section can be used to change the subscription levels of individual topics beyond the global log_level setting.
For example the OP topic logging operator actions will be subscribed to on INFO log level by default. Other topics can be
added similarly:
Nextcloud:
Logger:
subscribe_topics:
OP: "INFO"
CTRL: "DEBUG"
The parameters ignore_topics and subscribe_topics are mutually exclusive, and a log topic can only appear in one of them.
Framework Parameters#
This satellite interprets the following configuration parameter that are provided through the Constellation framework. Parameters have to be placed in their respective configuration section.
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 provides the following metrics that are defined by the Constellation framework.
Basic Satellite Metrics#
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 |