Kong API Manager avec Prometheus et Splunk

Pile du gestionnaire d'API

Exécutez Kong Server + Konga + Prometheus + Grafana + API & DDBB + Splunk

Clonez le projet et exécutez docker-compose up

https://github.com/safernandez666/Kong-API-Manager.git && cd Kong-API-Manager

chmod +x kong-start.sh

sh kong-start.sh

Exécuter la pile

Conteneurs

Vérifiez le nom des conteneurs pour les configurations futures.

Architecture

Créer un service sur Kong

curl -i -X ​​POST
--url http://localhost:8001/services/
--data 'nom=MonAPI'
--data 'url=http://api:5000'

Test

curl -i http://localhost:8001/services/MyAPI

Créer une route sur le service

curl -i -X ​​POST http://localhost:8001/services/MyAPI/routes
--data 'chemins[]=/'
--data name=principal

Test

curl -i -X ​​GET http://localhost:8000/request

Interface graphique Konga

Entrez sur http://localhost:1337

Je crée le nom d'utilisateur et le mot de passe sur kus.js. Il est important de changer le mot de passe.

Créer la connexion

Ajouter un plug-in et envoyer des journaux à Splunk

Ajoutons un peu de sécurité. Pour cela, un Client est nécessaire, ajoutez une méthode d'Authentification puis associez-la à la route.

Créer mi client : santiago

Générer ma clé API

Ma CLÉ API

Sur la route, ajoutez l'utilisation de la clé API.

Essayez avec Postman ou Command Line.

curl -X GET
'http://localhost:8000'
-H 'apikey: fwASbEngZ4zB609S7WASDt0X64R5sdkV'

Splunk

Entrez sur http://localhost:8888 avec le nom d'utilisateur : admin et le mot de passe : mot de passe

Créez l'entrée de données sur le port 1514 pour recevoir les journaux de Kong. Je crée un panneau, pour visualiser certaines données. Vous pouvez créer le vôtre.

Dans le proyecto vous avez le tableau de bord à importer.

Vous pouvez poster le plugin sur Kong avec :

curl -X POST http://localhost:8001/services/MyAPI/plugins --data "name=tcp-log" --data "config.host=NAMECONTAINERSPLUNK" --data "config.port=1514"

Prométheus + Grafana

Prometheus pour stocker les données et Grafana pour les visualiser. Ajoutez le plugin.

Ingress sur Grafana sur http://localhost:3000 avec le nom d'utilisateur : admin et le mot de passe : admin. Importez les données de Prometheus. Le docker est prometheus sur le port 9090.

Importez le tableau de bord.

Chargez le JSON.

Profitez des métriques.

https://github.com/safernandez666/Kong-API-Manager