動的ログレベル更新
Admin APIの/debug
エンドポイントを使用すると、Kong Gatewayを再起動せずに、Kong Gatewayのログレベルを動的に変更できます。このエンドポイントのセットはRBACを使用して保護でき、ログレベルの変更は監査ログに反映されます。
ログレベルの変更は、新しく生成されたワーカーを含む、従来のクラスタ内のすべてのNGINXワーカーノードに伝播されます。
注:
debug
エンドポイントは、ハイブリッドモードのデータプレーン(DP)では機能 しません 。このエンドポイントはコントロールプレーン(CP)ノードにのみ使用できます。- 本番環境でログレベルを
debug
に変更すると、ディスクがすぐにいっぱいになる可能性があります。デバッグログの取得が終了したら、notice
などの上位レベルに戻すか、リクエストクエリ文字列でtimeout
パラメータを使用してください。 動的に設定されるログレベルのデフォルトのタイムアウトは 60 秒です 。
現在のログレベルを表示
個々のノードのログレベルを表示するには、目的のnode
をパスパラメータとしてパスするGET
リクエストを発行します。
curl --request GET \
--url http://localhost:8001/debug/node/log-level/
適切な権限がある場合、このリクエストは現在のログレベルに関する情報を返します。
{
"message": "log level: notice"
}
データプレーン(DP)またはDBレスノードのログレベルを変更することはできません。
個別のKong Gatewayノード向けログレベルの変更
個々のノードのログレベルを変更するには、目的のnode
とlog-level
をパスパラメータとしてパスするPUT
リクエストを発行します。
curl --request PUT \
--url http://localhost:8001/debug/node/log-level/notice
適切な権限があり、リクエストに成功した場合は、200
応答コードと次の応答ボディが返されます。
{
"message": "log level changed"
}
Kong Gatewayクラスタのログレベルを変更
クラスタのすべてのノードのログレベルを変更するには、パスパラメータとして指定された目的のlog-level
でPUT
リクエストを発行します。
curl --request PUT \
--url http://localhost:8001/debug/cluster/log-level/notice
適切な権限があり、リクエストに成功した場合は、200
応答コードと次の応答ボディが返されます。
{
"message": "log level changed"
}
クラスタ内の新しいノードの管理
クラスタに追加された新しいノードのログレベルがクラスタ内の他のノードと同期していることを確認するには、kong.conf
の log_level
エントリを KONG_LOG_LEVEL
に変更してください。この設定により、新しいノードは既存のすべてのノードと同じログレベルでクラスタに参加できます。
すべてのコントロールプレーン(CP)Kong Gatewayノードのログレベルを変更
クラスタ内のコントロールプレーン(CP)のログレベルを変更するには、パスパラメータとして指定された目的のlog-level
でPUT
リクエストを発行します。
curl --request PUT \
--url http://localhost:8001/debug/cluster/control-planes-nodes/log-level/notice
適切な権限があり、リクエストに成功した場合は、200
応答コードと次の応答ボディが返されます。
{
"message": "log level changed"
}