Das Default-Logging sollte in folgenden Punkte angepasst werden:
idp.remote_addr
die IP des Loadbalancers. Um die Client-IP korrekt anzuzeigen, wird im Tomcat in der /etc/tomcat10/server.xml
Folgendes ergänzt:prüfen!
... <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> ... <!-- forwarded remote ip --> <!--https://tomcat.apache.org/tomcat-8.5-doc/api/org/apache/catalina/valves/RemoteIpValve.html --> <Valve className="org.apache.catalina.valves.RemoteIpValve" internalProxies="10\.0\.0\.1|10\.0\.0\.2" remoteIpHeader="x-forwarded-for" /> ... </Host> ...
... <!-- Aufbewahrungsdauer in Tagen --> <variable name="idp.loghistory" value="7" /> ... <!-- Process log. --> <appender name="IDP_PROCESS" class="... <File>... <rollingPolicy class="... <fileNamePattern>... <maxHistory>... </rollingPolicy> <encoder class="... <charset>... <!-- Client-IP-Adresse im Log mit protokollieren --> <Pattern>%date{ISO8601} - %level [%logger:%line] - IP:%mdc{idp.remote_addr:-n/a} - %msg%n%ex{short}</Pattern> </encoder> </appender>
idp.loglevel.idp = INFO idp.loglevel.ldap = INFO
Triggern Sie das Neuladen des Servlets im Tomcat und beobachten Sie die Logs:
root@idp:~# touch /opt/shibboleth-idp/war/idp.war
In ./conf/logback.xml
können Sie auch das Verzeichnis einstellen, in das der IdP loggt. Achtung: Auf Betriebssystemen mit systemd muss das Unit File noch einmal angepasst werden, wenn Sie hier den Standardpfad abändern. Der Tomcat-Prozess hat sonst keine Schreibrechte in Ihrem Logverzeichnis (siehe die Instruktionen zur override.conf für Tomcat).
...
<variable name="idp.logfiles" value="/var/log/shibboleth-idp" />
...