第3章 クラスターロギング
3.1. Serving と Eventing のログ設定の構成 リンクのコピーリンクがクリップボードにコピーされました!
KnativeServing および KnativeEventing カスタムリソース (CR) を使用して、OpenShift Serverless Serving および OpenShift Serverless Eventing のログ記録を設定できます。ロギングのレベルは、指定された loglevel 値によって決まります。
3.1.1. サポート対象のログレベル リンクのコピーリンクがクリップボードにコピーされました!
次の loglevel 値がサポートされています。
| ログレベル | 説明 |
|---|---|
|
| きめ細かなデバッグ |
|
| 通常のロギング |
|
| 予期しないが重大ではないエラー |
|
| 重大なエラー。通常操作中の予期しないエラー |
|
| デバッグモードでパニック (クラッシュ) をトリガーする |
実稼働環境で debug レベルを使用すると、パフォーマンスに影響を及ぼす場合があります。
3.1.2. ログ設定の構成 リンクのコピーリンクがクリップボードにコピーされました!
KnativeServing カスタムリソース (CR) と KnativeEventing CR で、Serving と Eventing のログ記録を設定できます。
手順
KnativeServingおよびKnativeEventingCR でそれぞれloglevel値を設定または変更して、Serving および Eventing のログ設定を構成します。以下に、すべての可能なログオプションをレベルinfoに設定した 2 つの設定例を示します。KnativeServing CR
apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving spec: config: logging: loglevel.controller: "info" loglevel.autoscaler: "info" loglevel.queueproxy: "info" loglevel.webhook: "info" loglevel.activator: "info" loglevel.hpaautoscaler: "info" loglevel.net-certmanager-controller: "info" loglevel.net-istio-controller: "info" loglevel.net-kourier-controller: "info"KnativeEventing CR
apiVersion: operator.knative.dev/v1beta1 kind: KnativeEventing metadata: name: knative-eventing namespace: knative-eventing spec: config: logging: loglevel.controller: "info" loglevel.eventing-webhook: "info" loglevel.inmemorychannel-dispatcher: "info" loglevel.inmemorychannel-webhook: "info" loglevel.mt-broker-controller: "info" loglevel.mt_broker_filter: "info" loglevel.mt_broker_ingress: "info" loglevel.pingsource-mt-adapter: "info"
3.1.3. リクエストログ設定の構成 リンクのコピーリンクがクリップボードにコピーされました!
KnativeServing カスタムリソース (CR) の observability フィールドで、サービスのリクエストログを設定できます。
リクエストロギングを設定するのに使用できるパラメーターの詳細は、「リクエストログのパラメーター」を参照してください。
手順
KnativeServingCR のobservabilityフィールドを変更して、サービスのリクエストログを設定します。KnativeServingCR の例apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving # ... spec: config: observability: logging.enable-request-log: true logging.enable-probe-request-log: true logging.request-log-template: '{"httpRequest": {"requestMethod": "{{.Request.Method}}", "requestUrl": "{{js .Request.RequestURI}}", "requestSize": "{{.Request.ContentLength}}", "status": {{.Response.Code}}, "responseSize": "{{.Response.Size}}", "userAgent": "{{js .Request.UserAgent}}", "remoteIp": "{{js .Request.RemoteAddr}}", "serverIp": "{{.Revision.PodIP}}", "referer": "{{js .Request.Referer}}", "latency": "{{.Response.Latency}}s", "protocol": "{{.Request.Proto}}"}, "traceId": "{{index .Request.Header "X-B3-Traceid"}}"}' # ...
3.1.4. リクエストロギングのパラメーター リンクのコピーリンクがクリップボードにコピーされました!
次の表は、リクエストロギングを構成するのに使用されるパラメーターを説明しています。
| パラメーター | 型 | 説明 |
|---|---|---|
|
|
ブール値 ( |
リクエストのロギングを有効にするには |
|
|
ブール値 ( |
キュープロキシーがプローブ要求を stdout に記録できるようにするには、 |
|
|
Go | リクエストログの形状を決定します。ログが複数のレコードに分割されないようにするには、1 行を使用します。 |
logging.request-log-template パラメーターには次の機能が含まれます。
-
Requestは、サーバーが受け取った HTTP リクエストを表すhttp.Requestです。 Responseは HTTP レスポンスを表し、次のフィールドが含まれます。-
Codeは HTTP ステータスコードです。 -
Sizeはバイト単位の応答サイズです。 -
Latencyは、秒単位での応答レイテンシーです。
-
Revisionにはリビジョンの詳細が含まれ、次のフィールドが含まれます。-
Nameはリビジョンの名前です。 -
Namespaceはリビジョンの namespace です。 -
Serviceはサービスの名前です。 -
Configurationは設定の名前です。 -
PodNameは、リビジョンをホストする Pod の名前です。 -
PodIPはホスティング Pod の IP アドレスです。
-