Skip to content

Kong GatewayをPrometheus/Grafanaを利用して観測するベース基盤です。KongのオフィシャルGrafanaダッシュボードを使用しています。

License

Notifications You must be signed in to change notification settings

shinichi-hashitani/kong-o11y-prom-grafana

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kong Observability Demo Stack with Prometheus/Grafana

概要

このリポジトリはKongの観測に必要なコンポーネントを纏めたDocker Composeのデモ環境です。Kong GatewayとKongのメタデータストアであるPostgresの他に、PrometheusとGrafanaのインスタンスも立ち上がります。

Kong Manager

KongのPrometheus Pluginを利用する事によりKongがメトリクスのエンドポイントを公開し、Prometheusのスクレイプによってメトリクスを収集します。収集したメトリクスを可視化するGrafanaのダッシュボードはKongのオフィシャルダッシュボードを利用しています。

Grafana

手順

このリポジトリをクローン後、メインフォルダに移動し

docker compose up -d

を実行する。

作業後は

docker compose down

を実行する。

Caution

対象メトリクスの項目数やこの環境の実行時間によってはPrometheusのストレージが大きくなる事があります。その場合は停止後に docker volume prune を利用して不要ストレージをクリーンアップしてください。

Kong Manager

http://localhost:8002

Kong Prometheusメトリクス エンドポイント

http://localhost:8001/metrics

Prometheus

http://localhost:9090

Grafana

http://localhost:3000

user id: kong

password: kong

Kong Prometheus Plugin

メトリクスはKong Prometheus Pluginを有効化することによりスクレープ可能となります。このプラグインは特定Service、Route等に指定する事ができますが、今回はGlobal(対象エンティティを指定しない)事によりKong Gateway全体のメトリクスを出力しています。

プラグインはKong Manager上にて手動で設定する事もできますが、今回はKong Gateawy Admin APIに対してRESTコールをする事により自動設定しています。設定内容については/scripts/pruglins.shを参照してください。

Prometheus

設定はassets/prometheus/prometheus.ymlに定義されています。ここではスクレープ対象エンドポイントの設定と併せて、scrape_intervalを設定しています。

Grafana

GrafanaのダッシュボードはKongのオフィシャルDashbaordを利用しています。起動時にこのダッシュボードが読み込まれる設定としているので、起動後そのまま利用できます。

備考

  • Grafana ダッシュボードのRequest rateLatencies等のメトリクスは実際にKong Gatewayへのトラフィックが発生しない限りメトリクスが無いので表示されません。
  • Prometheusの設定ではscrape_intervalを必ず1分以内に設定してください。(デフォルトは1m

About

Kong GatewayをPrometheus/Grafanaを利用して観測するベース基盤です。KongのオフィシャルGrafanaダッシュボードを使用しています。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages