I'm trying to aggregate logs from multiple embedded devices in centralized place to be able to analyze them.

This is how system looks like:

  • I have number of embedded devices.
  • Some deployments are on-site and system might not have access to the internet. So I need to request customer to dump the logs and send them to us.
  • Addition to on-site per-customer deployments, there is also a server running on cloud for multiple customers.
  • Devices use grpc to talk with server.
  • I also have RabbitMQ in place.

What do I do with logs:

  • Run generic analytics on them
  • When received a bug report, request logs from the customer to investigate.

How should I collect logs from devices? Create an endpoint in server? Let devices publish logs to rabbitmq? Deploy a local RabbitMQ instances to devices and collect logs from there? Use some other logging stack?

1 Answer 1


It depends.

In case there are many devices, they produce much data and this overloads your network or generates too high load when processing them on your side, you may prefer processing logs on devices and sending to your server some aggregated data only.

In case the possible amount of data is not a problem, better would be to send data to your server. Then later on, if you want to do some new analysis, compute some new metrics, you will always have the data and you will not have to update every device to generate new metrics.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.