On m'a récemment interrogé sur un scénario d’utilisation de Splunk : l’utilisateur voulait importer des données Github directement dans Splunk Cloud. Il était intéressé par les données d'audit concernant le dépôt lui-même. Pour être clair, il ne s'agissait pas seulement d’importer un fichier .csv hébergé dans un dépôt Github, il fallait répondre à des questions comme « Comment puis-je créer une courbe représentant le nombre de push sur la semaine » ou « Comment puis-je voir le nombre de problèmes ouverts dans mon dépôt depuis Splunk ? ».
Le principal défi de ce scénario d’utilisation particulier (et ce qui le rend aussi intéressant selon moi) était que le client utilisait Splunk Cloud et n'avait aucune envie d’administrer une quelconque architecture locale. Tout était dans le cloud. Que faire dans une telle situation ? Est-il sensé de vouloir être à 100 % dans le cloud ? Je pense que oui.
De nombreuses personnes s'attaqueraient au problème en utilisant l’extension Github pour Splunk et un forwarder lourd Splunk. Certes, ce n’est pas une mauvaise méthode pour recueillir ces données mais elle nécessite une architecture. Bien sûr, on pense à EC2 puisqu’il s'agit de technologie cloud. Mais je pense qu’on peut faire la même chose avec une fonctionnalité sans serveur plus légère, et je vais vous montrer comment y parvenir rapidement.
En guise de hors-d'œuvre : je vous présente la fonction serverless de collecteur d'événements HTTP AWS Webhook vers Splunk. C’est un modèle assez simple de fonction que j’ai créé et que vous pouvez lancer aujourd’hui d'un simple clic. L’objectif consiste à déployer une fonction Lambda AWS légère qui joue le rôle de traducteur entre Webhooks et le Collecteur d'événements HTTP de Splunk.
Comme je l’ai mentionné, le déploiement de cette fonction serverless est extrêmement simple. Vous commencez par localiser la fonction serverless dans le AWS Serverless Repository. Nommez la fonction comme vous le souhaitez. Dans mon cas, je voulais recueillir des données Github de mon dépôt corona_virus, je lui ai donc donné un titre adapté, comme vous le verrez ci-dessous.
La mise en place de votre propre point de terminaison privé se fait en un clic.
Pour utiliser Github Webhooks afin d'envoyer vos données à Splunk, vous devez créer un token (jeton) de collecteur d'événements HTTP. Toutes les informations sur leur création se trouvent sur notre page Documentation Splunk. Le délai de création est en général inférieur à 5minutes. Une fois créé, vous devriez avoir toutes les informations suivantes :
Dans le GIF d’exemple ci-dessous, vous remarquerez qu’une fois ma fonction serverless entièrement déployée, je peux cliquer sur le bouton « Test app » (Tester l’application) pour obtenir l’URL de mon point de terminaison, qui fera partie de l’URL Webhook. Cette URL peut être combinée aux informations de l'étape 3 (et elle est documentée dans le README du dépôt de fonctions serverless).
https:///Prod/webhook-to-hec?url=your.server.com&port=8088&http_method=https&token=223342-23242-232324
Dernière étape, mais non des moindres, connectons Github à notre nouvelle fonction serverless. Rendez-vous simplement dans le dépôt Github de votre choix et accédez à Settings > Webhooks. Là, vous pourrez sélectionner « Add Webhook » (Ajouter un webhook) et saisir tous les paramètres ci-dessous :
Cliquez enfin sur « Add Webhook » (Ajouter un webhook) pour confirmer. Vous voyez dans le GIF d’exemple ci-dessous à quoi ressemble le processus. Quand vous avez terminé, une coche verte à côté de l’URL indique que le processus a réussi.
Et voilà à quel point il peut être facile d’importer les données d’une solution cloud d’entreprise à une autre. Je pense que je vais vous laisser pour aller résoudre quelques problèmes pressants.
Si vous avez des questions ou des remarques, n’hésitez pas à me contacter ! Vous pouvez également déployer ce code et le modifier à votre convenance. Ce tutoriel a pour but d'aider les utilisateurs à mettre rapidement en place un scénario d’utilisation spécifique mais j’espère qu’il sera aussi adapté à bien d'autres cas d’usage.
Si vous avez des questions ou des commentaires, n’hésitez pas à me contacter ! Vous pouvez également déployer ce code librement et le modifier à votre convenance. Ce tutoriel a pour but d'aider les utilisateurs à mettre rapidement en place un scénario d’utilisation spécifique mais j’espère qu’il sera aussi adapté à bien d'autres cas d’usage.
*Cet article est une traduction de celui initialement publié sur le blog Splunk anglais.
La plateforme Splunk élimine les obstacles qui séparent les données de l'action, pour donner aux équipes d'observabilité, d'IT et de sécurité les moyens de préserver la sécurité, la résilience et le pouvoir d'innovation de leur organisation.
Fondée en 2003, Splunk est une entreprise internationale. Ses plus de 7 500 employés, les Splunkers, ont déjà obtenu plus de 1 020 brevets à ce jour, et ses solutions sont disponibles dans 21 régions du monde. Ouverte et extensible, la plateforme de données Splunk prend en charge les données de tous les environnements pour donner à toutes les équipes d'une entreprise une visibilité complète et contextualisée sur l'ensemble des interactions et des processus métier. Splunk, une base solide pour vos données.