エッジ暗号化プロキシのデバッグログを増やす方法Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 現在、エッジ暗号化プロキシのデバッグログを増やすための 3 つのオプションがあります。ログ記録のレベルを上げてプロキシの問題をデバッグし、ログを自分で解釈することもできますし、より詳細なログステートメントを利用してテクニカルサポートに問題を調べてもらうこともできます。 デバッグしている問題に応じて、次の 3 つの方法のいずれかでデバッグログを設定します。 Edge Encryption プロキシとインスタンス間の SSL 接続に関する問題のデバッグSSL 接続以外の問題のデバッグプロキシを介した要求のタイミング測定基準のログ記録 すべてのデバッグケースについて、自分でログを表示して解釈するか、インシデントを開いて ServiceNow テクニカルサポートから問題の説明とその再現方法の解釈を得ることができます。 注:手順では、現在のlog4j v2構成を使用します。プロキシが古いバージョン (Paris より前) で、$proxy_installation_location/conf/log4j2.properties ファイルがない場合は、KB の最後にある古い log4j v1 の手順を使用します Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } すべてのリリース Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Edge Encryption プロキシとインスタンス間の SSL 接続に関する問題のデバッグ エッジ暗号化プロキシとインスタンス間の SSL 接続に関する問題をデバッグする場合 (たとえば、プロキシの URL にアクセスしてもプロキシ経由でインスタンスへのアクセスに失敗する場合) にこの方法を使用します。これらの手順により、ログ記録が増加し、詳細なログステートメントを見つけることができます。 プロキシを停止します。Java スタートアッププロパティである $proxy_installation_location/conf/wrapper.conf ファイルに次の行を追加します。 wrapper.java.additional.<next available number in sequence> = -Djavax.net.debug=all For example: wrapper.java.additional.4 = -Djavax.net.debug=all 変更を保存し、プロキシを再起動します。問題を再現します。SSL 交換に関連するデバッグログステートメントは、$proxy_installation_location/logs/wrapper_.log ファイルにあります。デバッグが完了したら、プロキシを停止し、$proxy_installation_location/conf/wrapper.conf ファイルを再度編集して、以下の行を削除するか、行頭に # を追加してコメントアウトします: wrapper.java.additional.<next available number in sequence> = -Djavax.net.debug=all 変更を保存し、プロキシを再起動します。 SSL 関連の問題以外の Edge Encryption アプリケーションの問題のデバッグ SSL 関連の問題以外にエッジ暗号化アプリケーションの問題をデバッグする場合は、この方法を使用します。これらの手順により、ログ記録が増加し、詳細なログステートメントを見つけることができます。 $proxy_installation_location/conf/log4j2.properties ファイルで、ログの設定を info から debug に変更します。次を変更します: logger.edge.level=info次のように変更します。logger.edge.level=debug 変更を保存すると、約 60 秒後に新しいログ記録レベルが自動的に利用されるため、プロキシを再起動する必要はありません問題を再現します。$proxy_installation_location/logs/edgeencryption.log ファイルで、アプリケーションに関連するデバッグログステートメントを確認します。デバッグが完了したら、元のログ設定を復元します。次を変更します: logger.edge.level=debug次のように戻します。logger.edge.level=info 変更を保存すると、約 60 秒後に新しいログ記録レベルが自動的に利用されるため、プロキシを再起動する必要はありません プロキシを介した要求のタイミング測定基準のログ記録 タイミングメトリクスのログ記録を有効にすると、エッジプロキシによって処理される各要求にメトリクスステートメントが追加されます。これらの各タイミングメトリクスログステートメントには、処理時間や使用された暗号化ルールなど、要求に関する有用な情報が含まれています。 注: 追加のログ設定は、$proxy_installation_location/conf/log4j2.properties ファイルに追加されます。加えられた変更は、ファイルの変更が行われてから約 1 分以内に動的に取り込まれるため、プロキシを再起動する必要はありません。 ファイルの末尾に次の行を追加して、$proxy_installation_location/conf/log4j2.properties ファイルを変更します。 appender.timinglog.type=RollingFileappender.timinglog.name=TimingLogappender.timinglog.fileName=../logs/edgenetwork.logappender.timinglog.filePattern=../logs/$${date:yyyy-MM}/edgenetwork-%d{yyyy-MM-dd-HH}-%i.log.gzappender.timinglog.layout.type=PatternLayoutappender.timinglog.layout.pattern=%d [%t] %-5p %m%nappender.timinglog.policies.type=Policiesappender.timinglog.policies.size.type=SizeBasedTriggeringPolicyappender.timinglog.policies.size.size=500MBappender.timinglog.strategy.type=DefaultRolloverStrategyappender.timinglog.strategy.max=4logger.timing.name=com.snc.edgeencryption.metrics.EdgeEncryptionTimingMetricCachelogger.timing.level=debuglogger.timing.additivity=falselogger.timing.appenderRef.rolling.ref=TimingLog log4j.properties ファイルが保存されると、次のタイプのメッセージがネットワーク時間の $proxy_installation_location/logs/edgenetwork.log ログファイルに記録されます。 2022-07-21 12:56:15,783 [qtp1971991758-7700] DEBUG com.snc.edgeencryption.metrics.EdgeEncryptionTimingMetricCache - request_uri=/api/now/ui/presencesysparm_auto_request=true&cd=1658433375754 request_method=POST client_request_received="2022-07-21 12:56:15,015" proxy_request_processing_time=6 all_rules_processing_time=0 rule_executed="REST JSON" rule_execution_time=1 proxy_instance_round_trip=14 proxy_response_processing_time=1 total_time_from_proxy=21 reponse_code=201 glide_user=SCv3_1:BAz1ZK7ee9XoroG2nvMlixHpgTvsT4fY2bwQvnH2WdU=:y5HGsTTqo3Pjq6G0xk4LoazCwCiWRJk4/6SpbXuBzqg=:6816f79cc0a8016401c5a33be04be441 jsessionid_suffix=037A66 ログメッセージの値は次のとおりです。 request_uri: The URI being requestedrequest_method: The HTTP method being used, for example, GET, POST, PUT, PATCH, DELETEclient_request_received: The timestamp noting when the HTTP client request arrived at the Edge proxyproxy_request_processing_time: How long the Edge proxy took to process the request in millisecondsall_rules_processing_time: Total time it took to execute all of the Edge Encryption rules for the request in millisecondsrule_executed: The name of the encryption rule that was executedrule_execution_time: How long it took to execute listed rule_executed in millisecondsproxy_instance_round_trip: The time from when the Edge proxy sent the request to the instance until the instance sent the response and was received by the edge proxy in millisecondsproxy_response_processing_time: How long the Edge proxy took to process the response in millisecondstotal_time_from_proxy: The total time from when the Edge proxy received the request from the client and returned the response to the client in millisecondsresponse_code: HTTP response code glide_user: The glide_user cookie valuejsessionid_suffix: The JSession cookie suffix associated with the request Jetty アプリケーションサーバーのログ記録 Jetty は、エッジ暗号化アプリケーションをホストするアプリケーションサーバーです。このロガーをオンにすると、Jetty/Edge Encryption のインタラクションに関する貴重な情報が得られます。 Edge プロキシに追加のログ記録が導入されました。追加のログ記録設定が $proxy_installation_location/conf/log4j2.properties ファイルに追加されます。加えられた変更は、ファイルの変更が行われてから約 1 分以内に動的に取り込まれるため、プロキシを再起動する必要はありません。 次の行を追加して、$proxy_installation_location/conf/log4j2.properties ファイルを変更します logger.jetty.name=org.eclipse.jettylogger.jetty.level=debug このロガーは大量のロギングを作成するため、必要なデータを収集するために、できるだけ短時間オンにしておくことをお勧めします。 $proxy_installation_location/logs/jetty.log ファイルで jetty デバッグログステートメントを確認しますJetty のログ記録を通常に戻すには、追加された 2 行を削除するか (プロキシの再起動が必要)、次の行を使用してログ記録レベルを警告に戻します。 logger.jetty.level=warn log4j v1 上にある古いリリースのログ記録構成の変更 log4j v1 のすべての変更は、 $proxy_installation_location/conf/log4j.properties ファイルで行われます エッジ暗号化のログ記録をデバッグレベルに変更する エッジ暗号化のログレベルはこの行で制御されます log4j.logger.com.snc.edgeencryption.EdgeEncryptionLog=info デフォルトのログレベルは info です。 これを debug に変更して、追加のデバッグログメッセージを取得できます タイミングメトリクスのログ記録の有効化 タイミングメトリクスのログ記録を有効にするには、次の行を追加します。 log4j.appender.TimingLog=org.apache.log4j.RollingFileAppenderlog4j.appender.TimingLog.File=../logs/edgenetwork.loglog4j.appender.TimingLog.MaxFileSize=500MBlog4j.appender.TimingLog.MaxBackupIndex=4log4j.appender.TimingLog.layout=org.apache.log4j.PatternLayoutlog4j.appender.TimingLog.layout.ConversionPattern=%d [%t] %-5p %m%n Jetty のログ記録をデバッグレベルに変更 log4j.logger.org.eclipse.jetty=debug、FileLog