Aggrégation de Logs Ansible avec Splunk
Splunk est une plateforme qui permet de collecter, d’indexer, d’analyser et de visualiser les données en provenance de diverses sources. Splunk se charge de les analyser et de les transformer en informations exploitables.
Voyons comment installer et configurer splunk pour y envoyer les résultats de nos playbooks Ansible.
Installation de Splunk
Splunk met à disposition une version de démonstration de 60 jours de sa solution splunk Entreprise.
Il faut dans un premier temps s’enregistrer sur le site de Splunk ↗ pour obtenir les commandes de téléchargement des packages.
Une fois connecté, cliquez sur [Download] du tar.gz et annuler le de suite. Dans cet écran vous pouvez récupérer la commande de téléchargement à exécuter sur votre machine Linux.
Maintenant installons splunk. Créons dans un premier temps le user splunk
On peut maintenant décompresser l’archive
Démarrons Splunk :
Splunk vous demandera un nom pour le compte admin et son mot de passe. Par
exemple admin
et admin123!
.
Normalement Splunk à démarrer. Il suffit de vérifier que le port 8000 est ouvert.
Configuration de l’Event Collector Http
Désormais passons à la configuration des collecteurs. Il faut se rendre sur le site avec l’adresse suivante : http://localhost:8000 ↗
Entrez le compte admin avec le mot de passe que vous avez défini précédemment.
Allez dans le menu Paramètres > Données > Entrées de Données. Cliquez ensuite, sur [+Ajouter Nouveau] au niveau de collecteur d’événements HTTP.
Dans le premier écran, il faut juste entrer un nom, ansible par exemple. Cliquer sur [Suiv].
Laisser sourceType sur Automatique
. Prenez l’index Main et cliquez sur
[Résumé] puis [Soumettre]
Si vous retournez sur l’écran de type collecteur d’événements HTTP vous devriez retrouver votre collecteur ansible. Mais à droite le status est à désactiver. Il faut activer le collecteur.
Revenez à l’écran Collecteur de Données HTTP et cliquez sur paramètres globaux. Désactiver le SSL et Cliquez sur [Activé] puis enregistrer.
Si vous cliquez dessus vous devriez voir ceci.
On peut vérifier que le port 8088 est bien en écoute :
Il est bien là maintenant.
Activation du Callback splunk Ansible
Le plugin de callback splunk fait partie de la collection community.general. Si elle n’est pas encore installée, alors faites le :
Maintenant ajoutons le à notre configuration Ansible. Éditer votre fichier
ansible.cfg
et Ajoutez ces lignes :
Dans votre fenêtre terminal il faut définir le token et l’url de splunk :
Maintenons écrivons un simple playbook qui ping localhost :
On l’exécute :
On ne voit rien du côté de l’affichage. Par contre, si vous faites un tour dans les logs de splunk :
Un petit tour dans l’interface de splunk, dans le menu Recherche. Entrez le
filtre source="http:Ansible"
et cliquer sur la loupe.
Vous allez pouvoir suivre toutes les exécutions de playbooks et faire de beaux dashboard. À vous les KPI de vos exécutions.
Je mettrai à jour dans les prochains temps le billet sur comment faire la même chose depuis AWX