Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:oracle_linux_9_guacamole_update

Apache Guacamole Web App Debuggen - Log aktiveren

Aufgabe

Bei dem Einbinden des Guacamole Web APP kommt es zu Problem mit dem JDBC Treiber, jetzt benötigen wir mehr Details was genau im Hintergrund eigentlich passiert.

Gucamole ist bereits installiert, siehe Oracle Linux 9 - Apache Guacamole 1.6 mit DUO Zwei Faktor Autorisierung und Microsoft SQL Cluster DB als Repostitory anlegen - SSL über NGNIX

Debug Log aktiveren

Ablauf:

  • Log Directory anlegen
  • Datei logback.xml für die Konfiguration anlegen
  • Tomcat neu starten

Log Directory anlegen

Als root:

mkdir -p /var/log/guacamole
chown tomcat:tomcat /var/log/guacamole
chmod 755 /var/log/guacamole

Steuer Datei logback.xml anlegen

Wir benötigen eine Datei „logback.xml“ im GUACAMOLE_HOME Verzeichns , typischer weise unter /etc/guacamole

logback.xml:

<configuration>
 
    <!-- Appender für die Log-Datei -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/var/log/guacamole/guacamole.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- Tägliche Rotation -->
            <fileNamePattern>/var/log/guacamole/guacamole.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- Behalte Logs für 14 Tage -->
            <maxHistory>14</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger - %msg%n</pattern>
        </encoder>
    </appender>
 
 
    <!-- Spezifisches Debugging für Guacamole JDBC Core -->
    <logger name="org.apache.guacamole.auth.jdbc" level="DEBUG"/>
 
    <!-- Logger für die Provider-Initialisierung  -->
    <logger name="org.apache.guacamole.auth.jdbc.JDBCAuthenticationProvider" level="TRACE"/>
 
    <!-- Zusätzliches Debugging für MyBatis (um SQL-Queries und Parameter zu sehen) -->
    <logger name="org.apache.ibatis" level="DEBUG"/>
    <logger name="java.sql" level="DEBUG"/>
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>
 
    <!-- MSSQL Treiber spezifisches Logging (falls vom Treiber unterstützt) -->
    <logger name="com.microsoft.sqlserver.jdbc" level="DEBUG"/>
 
 
 
 
    <!-- Spezifisches Debugging für die Tunnel-Verbindung -->
    <logger name="org.apache.guacamole.tunnel" level="DEBUG"/>
 
 
    <!-- ============================================================ -->
    <!-- DUO Extension - Kern-Klassen                                 -->
    <!-- ============================================================ -->
 
    <!-- Haupt-Authentifizierungsablauf DUO -->
    <logger name="org.apache.guacamole.auth.duo" level="DEBUG" additivity="false">    
        <appender-ref ref="FILE"/>
    </logger>
 
    <!-- DUO Konfiguration / Environment -->
    <logger name="org.apache.guacamole.auth.duo.conf" level="DEBUG" additivity="false">
       <appender-ref ref="FILE"/>
    </logger>
 
    <!-- Verifikations-Service (HTTP-Calls zu DUO API) -->
    <logger name="org.apache.guacamole.auth.duo.UserVerificationService" level="DEBUG" additivity="false">
        <appender-ref ref="FILE"/>
    </logger>
 
    <!-- ============================================================ -->
    <!-- DUO Java Client Library (HTTP/REST Calls)                    -->
    <!-- ============================================================ -->
    <logger name="com.duosecurity" level="DEBUG" additivity="false">
        <appender-ref ref="FILE"/>
    </logger>
 
    <!-- ============================================================ -->
    <!-- Guacamole Auth Core - Authentifizierungsfluss allgemein      -->
    <!-- ============================================================ -->
    <logger name="org.apache.guacamole.extension" level="INFO" additivity="false">
       <appender-ref ref="FILE"/>
    </logger>
 
 
    <!-- Root Logger Konfiguration -->
    <root level="INFO">
        <appender-ref ref="FILE"/>
    </root>
 
</configuration>

Lieder wurde hier nicht viel mehr als schon bekannt war ausgegeben.

Pürfen

In der catalina.out des Tomcat dann prüfen ob die Steuerdatei auch gelesen werden kann:

10:09:49.871 [main] INFO org.apache.guacamole.environment.LocalEnvironment -- GUACAMOLE_HOME is "/etc/guacamole".
# 10:09:49.919 [main] INFO org.apache.guacamole.GuacamoleServletContextListener -- Read configuration parameters from "/etc/guacamole/guacamole.properties".
...
# 10:09:49.977 [main] INFO org.apache.guacamole.log.LogModule -- Loading logback configuration from "/etc/guacamole/logback.xml".
# 

Damit sollte das Looging aktiv sein, soweit es von den einzelnen Komponente am Ende auch unterstützt wird.


Produktive Einstellung

Nach dem ganzen Debug Theater ist das nun meine produktive Einstellung für den täglichen Betrieb:

<configuration>
 
    <!-- ============================================================ -->
    <!-- Appender: Rolling File Log                                    -->
    <!-- ============================================================ -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/var/log/guacamole/guacamole.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/var/log/guacamole/guacamole.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 30 Tage für Compliance/Audit -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
 
    <!-- ============================================================ -->
    <!-- Authentifizierung: nur Fehler und erfolgreiche Logins        -->
    <!-- ============================================================ -->
 
    <!-- LDAP: harmlose WriteToClosedSessionException unterdrücken -->
    <logger name="org.apache.directory.ldap.client.api.LdapNetworkConnection"
            level="ERROR" additivity="false">
        <appender-ref ref="FILE"/>
    </logger>
 
    <logger name="org.apache.mina.core"
            level="ERROR" additivity="false">
        <appender-ref ref="FILE"/>
    </logger>
 
    <!-- DUO: nur Fehler -->
    <logger name="org.apache.guacamole.auth.duo"
            level="WARN" additivity="false">
        <appender-ref ref="FILE"/>
    </logger>
 
    <logger name="com.duosecurity"
            level="WARN" additivity="false">
        <appender-ref ref="FILE"/>
    </logger>
 
    <!-- ============================================================ -->
    <!-- Guacamole Core: WARN reicht im Produktionsbetrieb            -->
    <!-- ============================================================ -->
    <logger name="org.apache.guacamole"
            level="WARN" additivity="false">a
        <appender-ref ref="FILE"/>
    </logger>
 
    <!-- Erfolgreiche Authentifizierungen loggen (Audit) -->
    <logger name="org.apache.guacamole.auth"
            level="INFO" additivity="false">
        <appender-ref ref="FILE"/>
    </logger>
 
    <!-- ============================================================ -->
    <!-- Root Logger                                                   -->
    <!-- ============================================================ -->
    <root level="WARN">
        <appender-ref ref="FILE"/>
    </root>
 
</configuration>


Quellen

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
"Autor: Gunther Pipperr"
linux/oracle_linux_9_guacamole_update.txt · Zuletzt geändert: von gpipperr