Integration Elastic : bonnes pratiques

Bonjour,
Ayant vu la puissance d'Elastic lors de presentations en ligne, je voudrais installer ceci chez moi.
Je vois pleins de documentations, mais malheureusement, je ne trouve pas vraiment de doc en francais, avec un langage abordable, et je ne voudrais pas me lancer au hasard sans roadmap, pour me rendre compte qu'a la fin, ma solution n'est pas du tout le meilleur moyen de faire.
C'est pourquoi j'aimerais quelques reponses aux quelques questions suivantes pour me lancer dans le bon sens :slight_smile:

Actuellement, j'ai plusieurs VMs (apache, squid, pfsense, dhcpd, serveur de fichiers, etc...) et quelques equipements (switchs...) dont je centralise les logs sur un serveur syslog-ng

J'ai aussi une VM toute prete pour installer Elastic, afin d'etudier mes logs a posteriori ( recherche post-mortem), ou en temps réel (surveillance).

mon serveur syslog-ng est une VM de 5To avec 8Go de RAM, et 1 proc 1 coeur.
mon serveur elastic est une VM de 5To avec 64Go de ram et 1 proc 2 coeurs.

Mes questions :
est ce que c'est suffisant pour le hardware ?
est ce que c'est pertinent d'avoir un serveur syslog puis un serveur elastic, ou il vaut mieux avoir les 2 sur la meme machine ?
dans le cas ou l'on a les 2 services sur 2 serveurs, comment est gérée la rétention des logs dans le temps sur le serveur elastic ? peut on revoir des logs d'une journée particuliere par la suite ? ou c'est uniquement du temps reel ?
Si je vulgarise :
elasticseach est la base de données qui stocke les logs
logstash sert a envoyer les logs a elasticsearch, du coup, il ne faut l'installer que sur mon serveur syslog-ng ?
kibana sert a faire des graphiques a partir de ces logs.

Par contre je lis pleins de choses que je ne comprends pas sur : metricbeats, beats, filebeats, fleet / standalone, ...) est ce que quelqu'un peut me dire a quoi ca sert, et sur quoi on l'installe ?

Merci d'avance pour vos reponses, ca va m'aider a debroussailler, pour bien diriger mes aventures sous elastic !

Bienvenue Franck

est ce que c'est suffisant pour le hardware ?

Ca dépend. Quelle retention veux-tu avoir ? Comme ça, avec 30Go de HEAP, je dirais que tu peux stocker environ 600 shards. Si je compte 6 services "apache, squid, pfsense, dhcpd, serveur de fichiers, switchs", ça fait 100 shards. Avec 50go par shard max, ça fait 5To théorique. Quel volume représente actuellement tes logs ?

Si on prend une approche plus "brute", 100 shards avec 1 index/shard par jour, ça fait 100 jours de rétention. Est-ce ok pour toi ?

Si les réponses sont oui, alors on peut dire que c'est suffisant.
A la condition aussi, que tu ne souhaites pas de réplication des données et que tu acceptes donc de prendre le risque de tout perdre en cas de défaillance de ta VM.

est ce que c'est pertinent d'avoir un serveur syslog puis un serveur elastic, ou il vaut mieux avoir les 2 sur la meme machine ?

Idéalement, Elasticsearch tourne tout seul sur sa machine.

Autre question à se poser : pourquoi as-tu besoin de syslog du coup ?

elasticseach est la base de données qui stocke les logs

Oui.

logstash sert a envoyer les logs a elasticsearch, du coup, il ne faut l'installer que sur mon serveur syslog-ng ?

logstash PEUT servir à... Logstash, c'est un ETL. Il permet de faire de la collecte de tout et n'importe quoi, de transformer la donnée, et de l'envoyer vers tout et n'importe quoi, dont Elasticsearch. C'est un process qui peut être assez gourmand.

kibana sert a faire des graphiques a partir de ces logs.

Oui.

Par contre je lis pleins de choses que je ne comprends pas sur : metricbeats, beats, filebeats, fleet / standalone, ...) est ce que quelqu'un peut me dire a quoi ca sert, et sur quoi on l'installe ?

Il s'agit d'agents légers, chargés de la collecte. En général, on n'a pas besoin de Logstash. On met par exemple filebeat pour collecter les logs Apache et les envoyer vers Elasticsearch directement.
Fleet permet en gros de gérer le déploiement des agents de façon plus simplifiée et centralisée.

En gros, tu installes les agents sur la machine à monitorer. Tu indiques quels sont les services à "surveiller". Ces agents font le boulot, et envoient vers Elasticsearch.
Dans Kibana, tu ouvres la solution Observabilité et tu verras rapidement des informations utiles !

En réalité, si tu veux démarrer avec tout ça, commence par installer un Elasticsearch et un Kibana.
Puis ouvre Kibana et laisse toi guider par les menus qui vont t'aider à installer ce qu'il faut.

Le plus simple étant de créer un compte sur cloud.elastic.co. Tu as 14 jours gratuits de base et Kibana et Elasticsearch seront déjà installés pour toi. Une fois que tu as compris comment ça marche, libre à toi de faire tes installations manuellement sur tes VMs...

Merci pour tes reponses dadoonet, je vais demain installer elastic sur mon serveur, puis filebeat sur mon syslog-ng.
concernant ma durée de retention et la taille de mes logs, le pfsense produit ~1Go/jour, le apache ~200mo, le squid n'est pas encore en prod, et les autres sont minimes.
Pour apache/pfsense, il me faut 1an de retention, pour le reste 1 mois ca me va très bien.
Concernant les switchs, c'est plus pour monitorer une activité qui sort de l'ordinaire, par exemple un port bien precis qui est trop sollicité la nuit par exemple...

Hello,
du coup j'ai installé comme tu m'as dit ma VM elastic-search + kibana
elle tourne bien.
Sur ma VMM syslog j'ai installé filebeat, que j'ai édité comme ceci :

- type: filestream
  id: my-filestream-id
  enabled: true
   paths:
      - /var/log/*.log
  

hosts: ["http://IP-VM-elastic:9200"]
  protocol: "https"
  username: "elastic"
  password: "p4dfgfsdgjhghjgdfgdgS4V" (que j'ai changé)

Maintenant, comment faire pour acceder a mes logs, vi elastic-search ?
je suis censé d'apres le doc trouvé un "data-view" filebeat-* mais je ne vois que log-* et metrics-*.
Je ne suis meme pas sur que mes logs sont bien envoyés à elastic

Je crois que filebeat-* est l'ancien nom. Maintenant y a des index par type et application de mémoire.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.