Logging
Logging is done by writing either to stdout
or stderr
and letting
systemd handle it. Logging will consist of four verbosity levels:
Debug, Info, Warning and Error. Each component is responsible for its own
logging.
Telemetry
Telemetry is done by publishing on a dedicated MQTT topic. Each component has its own topic and is responsible for publishing its own data. Most of the data will be aggregated statistics such as packet counters.
"Exceptional" Events
Some events are of special interest, both to the operator of a particular Edge deployment and to the Core operator. An example of such an event would be failure to renew a TLS certificate. As such, those events are written BOTH to the syslog and published over the MQTT telemetry topic by the component that observes the event. The component also assigns an identifier that is visible both in the log and in the telemetry packet so that the two can be associated.