Bonjour,
J'avais ouvert un précédent topic qui a été fermé pour inactivité de ma part.
Désolé, nous avons eut un autre projet plus urgent jusqu’à la semaine dernière qui a mis celui-ci en "pause".
Nous avons approfondi nos recherches, notamment sur Elastic Stack et effectivement avec des beats (Metrics et 1 ou 2 autres) cela nous semble très bien pour le monitoring/inventaire. Par contre nous devrons quand même développer notre tasks scheduler.
Nous avons pensé à une architecture mais nous ne somme pas sûr de sa faisabilité à cause de quelques points sombres:
Kibana
Permet-il seulement de visualiser les données ? Ou aussi d'en insérer ? Par exemple depuis un formulaire pour que nous puissions gérer nos scripts (nom, upload de fichier, ...) ?
Logstash
Permet-il de filtrer/transformer seulement des logs venants de Filebeat ? Ou n'importe quelle données JSON entrantes ? (transformer signifie bien "changer le format" ?)
Si j'ai bien compris : il ne peut pas recevoir de requêtes pour chercher des données dans Elastic ?
Authentification
On souhaite mettre en place un token du style JWT, autant pour les Beats que notre Agent.
J'ai cru comprendre que les Beats peuvent seulement envoyer de la données, pas aller chercher un token sur une URL. En revanche nous pouvons diriger leur Output vers une URL que l'on souhaite avec ce plugin ?
Ce qu'on a pensé
Quoi qu'il arrive notre agent aura besoin d'un mini-serveur interne. Il fera son job (faire tourner les scripts) et récupérer le token pour s'authentifier.
Nous pensions donc diriger l'output des Beats sur celui-ci.
Par exemple sur 'http://localhost:unPort/Beats/{NomDuBeat}'
L'agent aura juste à transmettre les datas des Beats dans une requête POST en définissant les headers (token, etc.)
Ce qui nous donnerai une archi comme ça :
Petit schéma
- L'interface Web en bas sera utilsée seulement si Kibana ne nous permet pas de gérer nos scripts. Cela veut dire que nous aurions deux interfaces : Kibana pour voir le l'inventaire et le monitoring, la notre pour créer/modifier les scripts.
- Si Logstash ne peut pas gérer (filtrer, transformer, ...) les données entrantes de nos scripts, l'Agent API les redirigera sur l'API2
- L'API2 se charger de récupérer les scripts dans Elasticsearch et les envoyer
Puis-je avoir des avis ?
On pense qu'il est possible de faire plus simple... ?
Merci d'avance !