2017-09-19 4 views
1

Bonjour en tant que débutant à élastique J'ai un doute sur pourquoi nous avons besoin de FileBeat pour expédier les journaux à ElasticSearch (ES) ou Logstatsh. Pour autant que je sache, nous pouvons directement lire les journaux à partir de fichiers et les envoyer à logstash et de là à ES. Si le premier est autorisé, nous avons besoin que FileBeat soit une couche intermédiaire entre les logs et le logstash.pourquoi avons-nous besoin de filebeat lorsque nous pouvons expédier des journaux à Logstatsh

Ce que je savais: xyzlogfile--->logstash-file--->ES--->kibana
Pourquoi avons-nous besoin FileBeat entre: xyzlogfile--->fileBeat--->logstash-file--->ES--->kibana

Répondre

1

Je suppose que vous parlez d'entrée du fichier Plugin vs Filebeat.

Quelques points à noter:

  1. Logstash est beaucoup plus lourd en termes de mémoire et l'utilisation du processeur que Filebeat. Cela nécessite une machine virtuelle Java qui peut convenir si vous déployez un logiciel Java, mais pour de nombreux projets, une machine virtuelle Java est inutile. Filebeat est juste un exécutable natif léger.

  2. Vous ne pourriez pas besoin Logstash du tout

  3. Pour l'analyse plus complexe/clonage d'événements/regroupement Logstash sera probablement nécessaire. Il suffit d'écrire un filtre de rubis par exemple, c'est super facile et vous pouvez prototyper rapidement. Pour optimiser les charges de production super élevées, vous devrez peut-être écrire un plugin de filtre personnalisé, ou peut-être essayer d'écrire votre propre processeur pour être utilisé avec les nœuds d'acquisition (mais je n'ai pas encore essayé, je peux vous dire que filtre Logstash est assez simple)

  4. Tous les points ci-dessus sont liés à l'ingestion de contenu du fichier, mais Logstash a beaucoup d'entrées/plugins de sortie que vous pourriez avoir besoin et ne sont disponibles qu'avec Logstash

Si tous vos Les fichiers sont situés sur le même noeud que le processus logstash, alors que l'utilisation de File Input Plugin pourrait être une option ("xyzlogfile ---> logstash-file ---> ES ---> kibana"). Toutefois, pour la plupart des déploiements, vous souhaitez collecter des données à partir de plusieurs nœuds avec des rôles et des piles de logiciels différents déployés sur ces nœuds. Vous ne voulez pas déployer une instance de Logstash sur tous ces nœuds, donc "xyzlogfile ---> fileBeat ---> fichier logstash ---> ES ---> kibana" doit être utilisé (ou une autre option est "xyzlogfile" ---> fileBeat ---> ES ---> kibana "avec le nœud d'acquisition).