Cấu hình các tính năng nâng cao khác của Kong

Đây là bài nằm trong tập hợp những bài viết về Kong API Gateway. Tham khảo các bài biết khác theo đường dẫn dưới đây

Series bài viết về Kong API Gateway
Bài 1: Kong API Gateway là gì?
Bài 2: Hướng dẫn cách cài đặt Kong API Gateway
Bài 3: Cấu hình Kong quản lý các APIs từ các backend servers
Bài 4: Cấu hình bảo mật cho Kong API Gateway
Bài 5: Cấu hình các tính năng nâng cao khác của Kong (Bài viết hiện tại)

Ở bài này sẽ hướng dẫn cấu hình một số plugins nâng cao khác mà Kong hỗ trợ. Để đơn giản thì tôi thực hiện với việc cài đặt Kong ở chế độ DB-less mode. Tham khảo cách cài đặt Kong ở bài trước.



Các plugins còn lại của Kong có thể chia làm các nhóm sau

Logging
Kong hỗ trợ việc ghi nhận log liên quan đến các request được chuyển tới Kong.
File Log : Ghi log ra file bên trong container
https://docs.konghq.com/hub/kong-inc/file-log/

HTTP Log : Gửi log tới HTTP server
https://docs.konghq.com/hub/kong-inc/http-log/

Kafka Log : Gửi log đến topics trong Kafka
https://docs.konghq.com/hub/kong-inc/kafka-log/

Loggly : Gửi log tới Loggly server
https://docs.konghq.com/hub/kong-inc/loggly/

StatsD : Gửi log tới StatsD
https://docs.konghq.com/hub/kong-inc/statsd/

Syslog : Ghi log ra Syslog
https://docs.konghq.com/hub/kong-inc/syslog/

TCP Log : Gửi log tới TCP server
https://docs.konghq.com/hub/kong-inc/tcp-log/

UDP Log : Gửi log tới UDP server
https://docs.konghq.com/hub/kong-inc/udp-log/

Analytics và Monitoring
Kong hỗ trợ các plugins liên quan đến Analytics và Monitoring các API services
Datadog : Gửi các thông tin metrics lên Datadog server
https://docs.konghq.com/hub/kong-inc/datadog/
Prometheus : Gửi các thông tin metrics lên Prometheus server
https://docs.konghq.com/hub/kong-inc/prometheus/
Zipkin : Gửi các thông tin liên quan đến tracing lên Zipkin server
https://docs.konghq.com/hub/kong-inc/zipkin/

Transformations
Kong hỗ trợ việc chuyển đổi dữ liệu trước khi đến và sau khi đi ra khỏi Kong
https://docs.konghq.com/hub/kong-inc/correlation-id/
https://docs.konghq.com/hub/kong-inc/request-transformer/
https://docs.konghq.com/hub/kong-inc/response-transformer/

Serverless
Kong hỗ trợ việc kết nối tới các nền tảng cung cấp Serverless phổ biến như Amazon AWS Lambda, Microsoft Azure Functions, Apache OpenWhisk, Serverless Functions, ...
https://docs.konghq.com/hub/kong-inc/aws-lambda/
https://docs.konghq.com/hub/kong-inc/azure-functions/
https://docs.konghq.com/hub/kong-inc/openwhisk/
https://docs.konghq.com/hub/kong-inc/serverless-functions/

Deployment
Kong cũng hỗ trợ đa dạng các nền tảng deployment phổ biến như Kubernetes Sidecar Injector, Kong on AWS with Terraform, ...
https://docs.konghq.com/hub/kong-inc/kong-terraform-aws/
https://docs.konghq.com/hub/kong-inc/kubernetes-sidecar-injector/

Ví dụ minh họa

Tham khảo và tải về thư mục ở đây

Ở đây tôi sẽ cấu hình Kong ghi log ra file, gửi thông tin metrics lên Prometheus và visualize sử dụng Grafana. Ngoài ra tôi cũng cấu hình cho Kong gửi các thông tin liên quan đến tracing lên Zipkin server
Ngoài việc cài đặt Kong thì ta cần cài thêm các thành phần như Prometheus, Grafana, Zipkin, ... Tham khảo file docker compose

Cấu hình để bật các plugins lên
Kiểm tra việc thay đổi cấu hình
docker exec -t kong kong config parse /usr/local/kong/declarative/kong.yml

Reload lại Kong
docker exec -t kong kong reload

Thử tạo một vài request
https://localhost:8443/api/users

Kết quả thu được

Prometheus



Grafana



Zipkin



Tham khảo thêm
https://docs.konghq.com/hub/


Tiếp tục cập nhật ...