Eli est une plateforme construite sur des serveurs dédiés pour créer et partager facilement plusieurs instances à haute performance de la pile Elasticsearch/Logstash/Kibana (ELK) pour les projets de recherche et le monitoring des infrastructures GRICAD. L’utilisation d’autres produits de big data est envisagée, mais l’optimisation a été faite principalement pour la pile ELK.
Avec Eli, tout utilisateur peut demander une instance ELK dédiée (ou un autre outil d’analyse de données) pour son projet. L’ingestion des données est mise en place avec l’aide d’un opérateur système GRICAD et l’utilisateur obtient un accès personnel à l'API Elastic et au serveur web de visualisation Kibana.
Au mois de juin 2022, l’infrastructure est la suivante :
Elastic fournit des outils de big data tels qu’Elasticsearch, Kibana et Logstash. Elasticsearch est une base de données no-sql permettant une création d'“index” et une recherche rapides. Il fournit une API RESTful, qui n’est pas sécurisée par défaut. C’est l’outil central de cette pile. Kibana est un outil web conçu pour créer des visualisations ou explorer des index Elasticsearch. Logstash est un outil qui facilite l’ingestion de données dans Elasticsearch.
Elasticsearch est très performant grâce au clustering : il peut fonctionner sur plusieurs nœuds, chaque nœud ayant un rôle distinct (maître, client, données, ingestion). GRICAD est en mesure de vous fournir un cluster ELK virtuel offrant de hautes performances à travers une partition du matériel physique décrit ci-dessus, sécurisé par un proxy.
L’instance fournie peut obtenir des données d’entrée à partir de notre stockage distribué Bettik (BeeGFS). Les données indexées sont ensuite stockées sur des volumes persistants appartenant à votre instance Eli personnelle. Il y a une infinité de façons d’obtenir les données indexées : à partir d’un flux en direct, d’un fichier, d’une application, de requêtes réseau, … C’est pourquoi vous devrez travailler avec un opérateur système GRICAD, qui vous apportera les compétences pour mettre en place la meilleure configuration pour vos besoins, avant de pouvoir faire l’analyse des données. La configuration aboutira généralement à une instance Logstash bien réglée qui effectuera l’ingestion des données en une seule fois ou lors d’un événement récurrent.
Du point de vue de l’utilisateur, vous obtenez 2 URLs : https://eli.univ-grenoble-alpes.fr/kibana-<instance_name>
et https://eli.univ-grenoble-alpes.fr/elastic-<instance_name>
. Les deux URLs sont protégées par un mot de passe. Vous pouvez directement naviguer sur la première pour commencer à utiliser Kibana sur les indices de votre instance Eli. La seconde URL est l’API d’elasticsearch, qui peut être utilisée dans des scripts ou des programmes.
Voici un exemple de programme python lié à l’instance “moutons” pour rechercher des intervalles de bin : elastic_moutons_search.py
Voici un exemple de capture d’écran Kibana :
Voici un exemple de requête à l’API:
L’ingestion de données depuis le logstash de l’instance n’est pas directement gérable par l’utilisateur lui-même. La configuration du logstash nécessite un réglage fin et des compétences spécifiques pour mettre en place les filtres. Il est aussi parfois nécessaire d’initier l’index de manière préliminaire pour un casting correct des valeurs. Veuillez demander l’aide d’un sysop GRICAD.
D’autres systèmes de bases de données peuvent être disponibles (Postgres, MongoDB,…). N’hésitez pas à demander.