Récemment, j'ai lu dans Elastic stack et découvert cette chose appelée Beats, qui était essentiellement utilisée pour les expéditeurs légers.
La question est donc la suivante: si mon service peut accéder directement à Elasticsearch, ai-je réellement besoin de beats pour cela? Depuis, d'après ce que je sais, c'est juste un proxy (?)
J'espère que ma question est suffisamment claire
3 Réponses :
Les Beats sont de bons agents légers pour collecter des données en continu comme des fichiers journaux, des métriques de système d'exploitation, etc., où vous avez besoin d'une sorte d'agent à collecter et à envoyer. Si vous avez un service qui veut mettre des choses dans Elastic, alors oui, il peut simplement utiliser l'API rest / java etc directement.
Filebeat offre un moyen de centraliser les journaux en direct de plusieurs serveurs
Disons que vous exécutez plusieurs instances d'une application sur différents serveurs et qu'ils écrivent des journaux.
Vous pouvez envoyer tous ces journaux à un seul index ElasticSearch et les analyser ou les visualiser à partir de là.
Un seul fichier statique n'a pas besoin de Filebeat pour passer à ElasticSearch.
Vous ne savez pas à quel battement vous faites référence, mais prenons un exemple de Filebeat.
Supposons que les journaux d'application doivent être indexés dans Elasticsearch. Options
Avantages de l'option 2
Essentiellement, les battements fournissent le moyen fiable d'indexer les données sans causer beaucoup de frais généraux au système, car les battements sont des expéditeurs légers.
Option 3 - Cela offre également les mêmes avantages que l'option 2. Cela peut être plus utile si nous voulons expédier les journaux directement à un système externe au lieu de les stocker dans un fichier du système local. Pour toutes les applications déployées dans Docker / Kubernetes, où nous n'avons pas beaucoup d'accès ou assez d'espace pour stocker des fichiers dans le système local.