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.