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

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Erhöhen Sie die Protokollierungsebene, um die Protokolle zu interpretieren und Probleme mit dem Proxy zu debuggen.

    Derzeit gibt es drei Optionen zum Erhöhen der Debug-Protokollierung im Proxy Edge Encryption. Erhöhen Sie die Protokollierungsebene, um Probleme zu debuggen, und stellen Sie dem technischen Support Informationen zur Verfügung, um das Problem mit dem Vorteil ausführlicherer Protokollanweisungen zu untersuchen.

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

    • Andere Debugging-Probleme als SSL-Konnektivität
    • Zeitmetriken für Anforderungen über den Proxy protokollieren
    • Debugging von Problemen mit 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, der die Beschreibung des Problems und seine Reproduzierbarkeit bereitstellt.

    Debugging-Probleme 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 Behebung der Ursache durch ausführlichere Protokollanweisungen.

    Vorbereitungen

    Erforderliche Rolle: admin

    Hinweis:
    An der Datei $proxy_installation_location/conf/log4j2.properties vorgenommene Änderungen werden innerhalb von etwa 60 Sekunden nach der Änderung vom Proxy übernommen. Sie müssen die Proxys nicht neu starten.

    Prozedur

    1. Suchen Sie in der Datei $proxy_installation_location/conf/log4j2.properties die folgende Zeile.
      logger.edge.level=info
    2. Ändern Sie die obige Zeile wie folgt:
      logger.edge.level=debug
    3. Speichern Sie die Änderung.
      Es kann bis zu 60 Sekunden dauern, bis die Änderung wirksam wird. Dies erfordert jedoch keinen Proxy-Neustart.
    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, werden zusätzliche Details in der Datei $proxy_installation_location/logs/edgeencryption.log angezeigt. Wenn Sie das Debugging abgeschlossen haben, machen Sie die an der Datei $proxy_installation_location/conf/log4j2.properties vorgenommene Änderung rückgängig.

    Zeitmetriken für Anforderungen über den Proxy protokollieren

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

    Vorbereitungen

    Erforderliche Rolle: admin

    Hinweis:

    Die zusätzlichen Protokollierungseinstellungen werden der Datei $proxy_installation_location/conf/log4j2.properties hinzugefügt. Vorgenommene Änderungen werden dynamisch innerhalb von etwa einer Minute nach den Änderungen an der Datei vom Proxy ü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

    Nachdem die Datei log4j.properties gespeichert wurde, werden die folgenden Arten von Nachrichten in der Protokolldatei $proxy_installation_location/logs/edgenetwork.log für Netzwerkzeiten 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 SSL-Konnektivität zwischen dem Edge Encryption -Proxy und der Instanz

    Verwenden Sie diese Methode, um Probleme mit der SSL-Konnektivität zwischen dem Edge Encryption -Proxy 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 bei der Suche nach ausführlichen Protokollanweisungen.

    Vorbereitungen

    Erforderliche Rolle: admin

    Hinweis:
    Das Debuggen der SSL-Konnektivität ist nur relevant, wenn Probleme mit dem TLS-Konnektivitätstyp behoben werden. 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
      

      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 der Reproduktion des Problems finden Sie Debug-Protokollanweisungen im Zusammenhang mit dem SSL-Austausch in $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.