Before using Balena we sent all our docker logs to logz.io. I want to continue doing this now that we are using Balena. We are using this docker image: Docker | Logz.io Docs
The problem is that in Balena’s docker-compose file I can’t bind mount, I tried the following:
Hi @thibaut,
When using labels in this case the balena-socket feature label, you don’t need the volume mount with it. Can you try this without the volumes and let us know if you run into any issue?
Providing a bit of context: The Balena Supervisor talks directly to the balenaEngine socket to retrieve logs from containers rather than storing logs at specific path (this could very easily fill the storage media and reduce life of SD card given the writes). These logs are then processed and sent to our own log retention system.
You can look if `logz.io can subscribe to the logs for a device, for example using the SDK (see here Balena Node.js SDK - Balena Documentation 138), to consume all output from your service containers.
It seems they doesn’t offer this possibility. We’ll probably have to create a component to do this by ourself, or use an other logging provider. Thanks for your answer.
In case you have an open balena instance running, you could subscribe to the topic device:{device_number}:logs of the redis service.
You can probably build a short script that subscribe to the topic and push to logz.io.
No, with the paid version you can not interact with the redis in the back. Bu you can use the SDK to subscribe to the logs and push them in your infrastructure. Similar to what @nitishagar suggested.