Cấu hình Prometheus giám sát dịch vụ Kong API Gateway

Cấu hình Prometheus giám sát dịch vụ Kong API GatewayCuongquach.com | Ở bài viết này mình coi như các bạn đã biết cách sử dụng dịch vụ Kong API Gatewaydịch vụ giám sát Prometheus. Các bạn sẽ chỉ quan tâm là liệu Kong API Gateway có public endpoint metrics để Prometheus có thể lấy dữ liệu cho việc monitor Kong API Gateway không ? Và liệu metrics đó nhiều và chi tiết như mình muốn không ?

cau-hinh-prometheus-giam-sat-kong-api-gateway

1. Kích hoạt Prometheus Kong plugin

Plugin ‘Kong Prometheus‘ sẽ ghi nhận và xuất các thông tin metric về dịch vụ Kong đang sử dụng như :

  • Khả năng kết nối Database: con số thể hiện việc Kong có đang kết nối được database (postgreql/cassandra) hay không ?
  • Các kết nối web service: các thông số kết nối đến Openresty Kong như  active, reading, writing và accepted .
  • Status code: mã trạng thái HTTP trả về từ các dịch vụ upstream, nếu bạn có cấu hình Kong Upstream.
  • ..

Nhìn chung các metrics không quá chi tiết, metrics về web service cũng chỉ ở mức cơ bản như OpenResty open source có thể cung cấp.

Bạn có thể kích hoạt plugin ‘Kong Prometheus‘ qua API Kong Admin . Giả sử port admin mình đổi về 18001 vì lý do bảo mật.

curl http://kong:18001/plugins -d 'name=prometheus' -d 'service_id=<uuid>'

hoặc qua công cụ giao diện web quản lý KongA.

Khi plugin đã kích hoạt bạn có thể truy cập metrics của Kong API qua endpoint admin Kong.

# curl http://kong:18001/metrics

# HELP kong_datastore_reachable Datastore reachable from Kong, 0 is unreachable
# TYPE kong_datastore_reachable gauge
kong_datastore_reachable 1
# HELP kong_openresty_http_current_connections Number of HTTP connections
# TYPE kong_openresty_http_current_connections gauge
kong_openresty_http_current_connections{state="accepted"} 9852
kong_openresty_http_current_connections{state="active"} 2
kong_openresty_http_current_connections{state="handled"} 9852
kong_openresty_http_current_connections{state="reading"} 0
kong_openresty_http_current_connections{state="total"} 24503
kong_openresty_http_current_connections{state="waiting"} 1
kong_openresty_http_current_connections{state="writing"} 1
# HELP kong_openresty_metric_errors_total Number of openresty-lua-prometheus errors
# TYPE kong_openresty_metric_errors_total counter
kong_openresty_metric_errors_total 0

Kế đến bạn phải nhớ mở firewall rule cho Prometheus query vào port Admin Kong nhé.

2. Cấu hình Prometheus giám sát host Kong API

Như vậy ngoài metrics cung cấp bởi Node_exporter bạn sẽ có thể lấy metrics của chính dịch vụ Kong API Gateway. Giờ bạn chỉ việc cấu hình target nhóm dịch vụ Kong API Gateway thôi.

scrape_configs:
  - job_name: 'cuongquach_kong'
    scrape_interval: 5s
    static_configs:
      - targets: ['10.0.11.10:18001']

Khởi động lại dịch vụ Prometheus.

# systemctl restart prometheus

Coi thông tin trên web Prometheus ở phần target sẽ thấy server đã up.

Lúc này bạn đã có thông tin Prometheus lấy được từ metrics endpoint của Kong, phần còn lại thì bạn đã có thể tự thực hiện trên những tool như Grafana để thể hiện hoạt động giám sát dịch vụ rồi.

Nguồn: https://cuongquach.com/

Previous articleEbook Head First HTML and CSS 2nd Edition (PDF)
Next article3 hacker Việt Nam được Facebook vinh danh trên Top 100 năm 2019
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !