Erhöhen Sie die Debug-Protokollierung für den Edge Encryption -Proxy

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 4 Minuten Lesedauer
  • Erhöhen Sie die Protokollierungsebene, um Protokolle zu interpretieren und Probleme mit dem Proxy zu debuggen.

    Es gibt derzeit drei Optionen zum Erhöhen der Debug-Protokollierung im Edge Encryption -Proxy. Erhöhen Sie die Protokollierungsebene, um Probleme zu debuggen, und stellen Sie dem technischen Support mithilfe ausführlicherer Protokollanweisungen Informationen zur Untersuchung des Problems zur Verfügung.

    Richten Sie abhängig vom zu debuggenden Problem die Debug-Protokollierung auf eine von drei Arten ein:

    • Andere Debugging-Probleme als SSL-Konnektivität
    • Protokollierung von Zeitmetriken für Anforderungen über den Proxy
    • Beheben von Problemen mit der SSL-Konnektivität zwischen dem Edge Encryption-Proxy und der Instanz

    Für alle Debug-Fälle können Sie die Protokolle in Ihrem eigenen anzeigen und interpretieren oder einen Incident öffnen, um eine Interpretation vom technischen Support von ServiceNow zu erhalten, die das Problem beschreibt und beschreibt, wie es reproduziert wird.

    Beheben von Problemen mit der Anwendung Edge Encryption außer SSL-Konnektivität

    Verwenden Sie diese Methode, um Probleme mit der Anwendung Edge Encryption zu debuggen, ohne den Proxy anzuhalten und neu zu starten. Diese Schritte erhöhen die Protokollierungsebene und helfen bei der Suche nach der Ursache durch ausführlichere Protokollanweisungen.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Hinweis:
    Änderungen an der Datei „$proxy_installation_location/conf/log4j2.properties“ werden innerhalb von etwa 60 Sekunden, nachdem Sie Ihre Änderungen vorgenommen haben, vom Proxy übernommen. Sie müssen die Proxys nicht neu starten.

    Prozedur

    1. Suchen Sie in der Datei $proxy_installation_location/conf/log4j2.properties nach der folgenden Zeile.
      logger.edge.level=info
    2. Ändern Sie die obige Zeile wie folgt ab:
      logger.edge.level=debug
    3. Speichern Sie den Change.
      Es kann bis zu 60 Sekunden dauern, bis die Änderung wirksam wird. Dazu ist jedoch kein Proxy-Neustart erforderlich.
    4. Reproduzieren Sie Ihr Problem.
    5. Suchen Sie in der Datei $proxy_installation_location/logs/edgeencryption.log nach Debug-Protokollanweisungen im Zusammenhang mit der Anwendung.

    Ergebnisse

    Nachdem Sie die Eigenschaft geändert haben, können Sie zusätzliche Details in der Datei $proxy_installation_location/logs/edgeencryption.log anzeigen. Wenn Sie das Debugging abgeschlossen haben, machen Sie die an der Datei $proxy_installation_location/conf/log4j2.properties vorgenommene Änderung rückgängig.

    Protokollierung von Zeitmetriken für Anforderungen über den Proxy

    Aktivieren Sie die Protokollierung von Zeitmetriken, um für jede vom Edge Encryption -Proxy verarbeitete Anforderung eine Metrikanweisung hinzuzufügen. Jede dieser Protokollanweisungen für Zeitmetriken enthält nützliche Informationen über die Anforderung, z. B. Verarbeitungszeiten und verwendete Verschlüsselungsregel.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Hinweis:

    Die zusätzlichen Protokollierungseinstellungen werden der Datei $proxy_installation_location/conf/log4j2.properties hinzugefügt. Vorgenommene Änderungen werden vom Proxy dynamisch innerhalb von etwa einer Minute übernommen, sodass Sie die Proxys nicht neu starten müssen.

    Prozedur

    1. Ändern Sie die Datei $proxy_installation_location/conf/log4j2.properties, indem Sie die folgenden Zeilen am Ende der Datei hinzufügen
      appender.timinglog.type=RollingFile
      appender.timinglog.name=TimingLog
      appender.timinglog.fileName=../logs/edgenetwork.log
      appender.timinglog.filePattern=../logs/$${date:yyyy-MM}/edgenetwork-%d{yyyy-MM-dd-HH}-%i.log.gz
      appender.timinglog.layout.type=PatternLayout
      appender.timinglog.layout.pattern=%d [%t] %-5p %m%n
      appender.timinglog.policies.type=Policies
      appender.timinglog.policies.size.type=SizeBasedTriggeringPolicy
      appender.timinglog.policies.size.size=500MB
      appender.timinglog.strategy.type=DefaultRolloverStrategy
      appender.timinglog.strategy.max=4
      
      logger.timing.name=com.snc.edgeencryption.metrics.EdgeEncryptionTimingMetricCache
      logger.timing.level=debug
      logger.timing.additivity=false
      logger.timing.appenderRef.rolling.ref=TimingLog
    2. Speichern Sie die Datei.

    Ergebnisse

    Nach dem Speichern der Datei „log4j.properties“ werden in der Protokolldatei „$proxy_installation_location/logs/edgenetwork.log “ für Netzwerkzeiten die folgenden Arten von Nachrichten angezeigt.

    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
    

    Die Werte in den Protokollnachrichten lauten wie folgt:

    request_uri: The URI being requested
    
    request_method: The HTTP method being used, for example, GET, POST, PUT, PATCH, DELETE
    
    client_request_received: The timestamp noting when the HTTP client request arrived at the Edge proxy
    
    proxy_request_processing_time: How long the Edge proxy took to process the request in milliseconds
    
    all_rules_processing_time: Total time it took to execute all of the Edge Encryption rules for the request in milliseconds
    
    rule_executed: The name of the encryption rule that was executed
    
    rule_execution_time: How long it took to execute listed rule_executed in milliseconds
    
    proxy_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 milliseconds
    
    proxy_response_processing_time: How long the Edge proxy took to process the response in milliseconds
    
    total_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 milliseconds
    
    response_code: HTTP response code 
    
    glide_user: The glide_user cookie value
    
    jsessionid_suffix: The JSession cookie suffix associated with the request

    Debuggen Sie Probleme mit der SSL-Konnektivität zwischen dem Edge Encryption -Proxy und der -Instanz

    Verwenden Sie diese Methode, um Probleme mit der SSL-Konnektivität zwischen dem Proxy Edge Encryption und Ihrer -Instanz zu debuggen, z. B. wenn der Zugriff auf die Instanz über den Proxy fehlschlägt. Diese Schritte erhöhen die Protokollierung und helfen beim Auffinden der ausführlichen Protokollanweisungen.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Hinweis:
    SSL-Konnektivitäts-Debugging ist nur bei der Behebung von Problemen mit dem TLS-Konnektivitätstyp relevant. In der Praxis ist dies nicht üblich und wird nur selten benötigt.

    Prozedur

    1. Den Proxy-Server stoppen.
    2. Fügen Sie der Datei $proxy_installation_location/conf/wrapper.conf, einer Java-Starteigenschaft, die folgende Zeile hinzu:
      wrapper.java.additional.<next available number in sequence> = -Djavax.net.debug=all
      

      Zum Beispiel:

      For example: wrapper.java.additional.4 = -Djavax.net.debug=all
    3. Speichern Sie die Änderung, und starten Sie den Proxy-Server neu.
    4. Reproduzieren Sie Ihr Konnektivitätsproblem.

    Ergebnisse

    Nach dem Reproduzieren des Problems finden Sie Debug-Protokollanweisungen im Zusammenhang mit dem SSL-Austausch unter $proxy_installation_location/logs/wrapper_ <current date> .log- Datei. Wenn Sie mit dem Debuggen fertig sind. Sie können die zusätzliche Protokollierung remote durchführen, indem Sie die in den vorherigen Schritten erstellte Zeile entfernen oder auskommentieren.