tl;dr
If I have generated logs on mobile applications / mobile devices and desktop PCs (owned by users) and stored them in files or embedded databases, what options are available and recommended to collect these logs in Elasticsearch?
Background
After learning more about the ELK stack and its capabilities I tried to find information about log collection from client applications (mobile and desktop apps).
However, none of the solutions I could find provide an option for including libraries in applications that are running on end-user devices. The closest I could find was the Java API Client, but it doesn't look like it is meant for log collection. All other options I found require the installation of additional software on these devices, which is not an option when distributing applications via app stores.
The ideas I came up so far are all based on HTTP requests with file or data upload and manual scheduling of each client to avoid system overloads. The clients would connect and send the data to a Logstash instance that has the http input plugin installed. But even this approach does not look very straight forward from client-side.
What I am looking for is a library that provides a data shipper for Kotlin Multiplatform or Java applications, handling all the necessary logic and responses from a server.
P.S. this topic might be related to How to transfer log files from log collector(client side) to gateway collector(server side) using logstash.