API Gateway with monitoring using Prometheus + Grafana
port running
| container nam | port | description |
|---|---|---|
| kong-db | 9009 -> 5432 | - |
| kong-app | 9000 -> 8000 | api gateway |
| kong-app | 9001 -> 8001 | manager api |
| konga-app | 9010 -> 1337 | manager api (GUI) |
| prometheus-app | 9015 -> 9090 | - |
| grafana-app | 9020 -> 3000 | - |
- copy
.env.exampleto.env - set
KONG_PG_USER,KONG_PG_PASSWORD, andTOKEN_SECRET - create docker network named
kong_network - create docker volume named
kong_postgres - use
Makefileto control installation - run
make kong-buildto build kong
- run
make kong-dbfirst to generate enviroment db kong - run
make kong-migrationto generate table for kong and konga - run
make kong-appto build kong and konga
do manual compose like docker-compose up -d kong-app if had other update to app
if konga not first create admin, maybe it has default user
username: admin
password: adminadminadmin
use name of container and port admin (default is 8001)
Name: Kong
Kong Admin Url: http://kong-app:8001
- kong is ready
- run
make grafana-buildto build prometheus + grafana - check plugin prometheus on konga is something problem
if grafana not first create admin, maybe it has default user
username: admin
password: admin
- click
Connections - click
Add new connectionand search Prometheus - on
Prometheus server URLfill withhttp://prometheus-app:9090 - click
Save & Test
- click
Dashboardon left side - click
Newand selectImport - insert
7424onImport via grafana.comand clickLoadon right side, after that clickImport - or upload
kong.jsonfrom foldergrafana/dashboardand clickImport - don't forget to select Prometheus connection