旧バージョンのドキュメントを参照しています。 最新のドキュメントはこちらをご参照ください。
動的ログレベル更新
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"
}