Kong

Kong

Agent Check Agentチェック

Linux Mac OS Windows OS Supported

概要

Agent の Kong チェックは、合計リクエスト数、応答コード数、クライアント接続数などを追跡します。

セットアップ

インストール

Kong チェックは Datadog Agent パッケージに含まれています。Kong サーバーに追加でインストールする必要はありません。

コンフィギュレーション

ホスト

ホストで実行中の Agent に対してこのチェックを構成するには:

メトリクスの収集
  1. Kong メトリクスの収集を開始するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの kong.d/conf.yaml ファイルにこのコンフィギュレーションブロックを追加します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル kong.d/conf.yaml を参照してください。

    init_config:
    
    instances:
      ## @param kong_status_url - string - required
      ## URL where Kong exposes its status.
      #
      - kong_status_url: http://localhost:8001/status/
    

    または、Agent 7+ ではよりモダンな実装を使用できます。

    init_config:
    
    instances:
      ## @param openmetrics_endpoint - string - required
      ## The URL exposing metrics in the OpenMetrics format.
      #
      - openmetrics_endpoint: http://localhost:8001/metrics
    
  2. Agent を再起動します

ログの収集

Agent バージョン 6.0 以降で利用可能

Kong アクセスログは NGINX によって生成されます。したがって、デフォルトの場所は NGINX ファイルと同じです。

  1. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
    
  2. Kong のログの収集を開始するには、次の構成ブロックを kong.d/conf.yaml ファイルに追加します。

    logs:
      - type: file
        path: /var/log/nginx/access.log
        service: '<SERVICE>'
        source: kong
    
      - type: file
        path: /var/log/nginx/error.log
        service: '<SERVICE>'
        source: kong
    

    path パラメーターと service パラメーターの値を変更し、環境に合わせて構成してください。使用可能なすべての構成オプションの詳細については、サンプル kong.d/conf.yaml を参照してください。

  3. Agent を再起動します

コンテナ化

コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。

メトリクスの収集
パラメーター
<インテグレーション名>kong
<初期コンフィギュレーション>空白または {}
<インスタンスコンフィギュレーション>{"kong_status_url": "http://%%host%%:8001/status/"}
ログの収集

Agent バージョン 6.0 以降で利用可能

Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集のドキュメントを参照してください。

パラメーター
<LOG_CONFIG>{"source": "kong", "service": "<サービス名>"}

検証

Agent の status サブコマンドを実行し、Checks セクションで kong を探します。

収集データ

メトリクス

kong.bandwidth.count
(count)
The total bandwidth in bytes consumed per service/route in Kong
Shown as byte
kong.http.consumer.status.count
(count)
HTTP status codes for customer per service/route in Kong
Shown as request
kong.http.status.count
(count)
HTTP status codes per service/route in Kong
Shown as request
kong.latency.bucket
(count)
The latency added by Kong, total request time and upstream latency for each service/route in Kong
Shown as millisecond
kong.latency.count
(count)
The latency added by Kong, total request time and upstream latency for each service/route in Kong
Shown as millisecond
kong.latency.sum
(count)
The latency added by Kong, total request time and upstream latency for each service/route in Kong
Shown as millisecond
kong.memory.lua.shared_dict.bytes
(gauge)
The allocated slabs in bytes in a shared_dict
Shown as byte
kong.memory.lua.shared_dict.total_bytes
(gauge)
The total capacity in bytes of a shared_dict
Shown as byte
kong.memory.workers.lua.vms.bytes
(gauge)
The allocated bytes in worker Lua VM
Shown as byte
kong.nginx.http.current_connections
(gauge)
The number of HTTP connections
Shown as connection
kong.nginx.stream.current_connections
(gauge)
The number of stream connections
Shown as connection
kong.stream.status.count
(count)
The stream status codes per service/route in Kong
Shown as request
kong.table.count
(gauge)
Total number of tables in the database.
Shown as table
kong.table.items
(gauge)
Number of items in each table of the database.
Shown as row
kong.connections_accepted
(gauge)
Total number of accepted client connections.
Shown as connection
kong.connections_active
(gauge)
Current number of active client connections including Waiting connections.
Shown as connection
kong.connections_handled
(gauge)
Total number of handled connections. (Same as accepts unless resource limits were reached).
Shown as connection
kong.connections_reading
(gauge)
Current number of connections where Kong is reading the request header.
Shown as connection
kong.connections_waiting
(gauge)
Current number of idle client connections waiting for a request.
Shown as connection
kong.connections_writing
(gauge)
Current number of connections where nginx is writing the response back to the client.
Shown as connection
kong.total_requests
(gauge)
Total number of client requests.
Shown as request

イベント

Kong チェックには、イベントは含まれません。

サービスのチェック

kong.can_connect
Agent が Kong インスタンスに接続できない場合は、CRITICAL を返します。それ以外の場合は、OK を返します。
Statuses: ok, クリティカル

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。

その他の参考資料