1
votes

Pourquoi utiliser Beats si je peux publier directement sur Elasticsearch?

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


0 commentaires

3 Réponses :


0
votes

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.


0 commentaires

0
votes

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.


0 commentaires

1
votes

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

  1. Publiez les journaux directement sur Elasticsearch
  2. Enregistrez les journaux dans un fichier, puis utilisez Filebeat pour indexer les journaux
  3. Publiez des journaux sur un service AMQP comme RabbitMQ ou Kafka, puis utilisez les plug-ins d'entrée Logstash pour lire à partir de RabbitMQ ou Kafka et indexer dans Elasticsearch

Avantages de l'option 2

  • Filebeat garantit que chaque message de journal est livré au moins une fois . Filebeat est capable de réaliser ce comportement car il stocke l'état de remise de chaque événement dans le fichier de registre. Dans les situations où la sortie définie est bloquée et n'a pas confirmé tous les événements, Filebeat continuera d'essayer d'envoyer des événements jusqu'à ce que la sortie reconnaisse qu'elle a reçu les événements.
  • Avant d'envoyer des données à Elasticsearh, nous pouvons faire quelques traitement ou filtrage . Nous voulons supprimer certains journaux basés sur du texte dans le message du journal ou ajouter champ supplémentaire (par exemple: Ajouter le nom de l'application à tous les journaux, afin que nous puissions indexer plusieurs journaux d'application dans un seul index, puis du côté de la consommation, nous pouvons filtrer les journaux en fonction du nom de l'application.)

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.


0 commentaires