[AAI] Add option to disable access logging for liveness probes 23/136923/3
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Thu, 4 Jan 2024 12:56:15 +0000 (13:56 +0100)
committerFiete Ostkamp <fiete.ostkamp@telekom.de>
Thu, 4 Jan 2024 15:58:51 +0000 (15:58 +0000)
- do not log probes when livenessAccessLogEnabled: false

Issue-ID: AAI-3715
Change-Id: Ic0197f37a6e835a44ecfc4163390ba5b28da66c8
Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
kubernetes/aai/components/aai-resources/resources/config/localhost-access-logback.xml
kubernetes/aai/components/aai-resources/values.yaml
kubernetes/aai/components/aai-traversal/resources/config/localhost-access-logback.xml
kubernetes/aai/components/aai-traversal/values.yaml

index 5ddd293..07919a9 100644 (file)
 <configuration>\r
   <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />\r
 \r
-  <property name="logToFileEnabled" value='{{.Values.accessLogback.logToFileEnabled}}'/>\r
+  <property name="logToFileEnabled" value='{{.Values.accessLogback.logToFileEnabled}}' />\r
   <property name="maxHistory" value='{{.Values.accessLogback.maxHistory}}' />\r
   <property name="totalSizeCap" value='{{.Values.accessLogback.totalSizeCap}}' />\r
+  <property name="livenessAccessLogEnabled"\r
+    value='{{.Values.accessLogback.livenessAccessLogEnabled}}' />\r
+\r
 \r
   <if condition='property("logToFileEnabled").contains("true")'>\r
     <then>\r
       <appender name="ACCESS"\r
-                class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
         <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file>\r
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
           <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd}.zip\r
           <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
         </rollingPolicy>\r
         <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">\r
-          <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D</Pattern>\r
+          <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId}\r
+            %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU}\r
+            %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST}\r
+            %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter}\r
+            %i{X-AAI-SSL-Client-DN} %D</Pattern>\r
         </encoder>\r
       </appender>\r
-      <appender-ref ref="ACCESS"/>\r
+      <appender-ref ref="ACCESS" />\r
     </then>\r
   </if>\r
 \r
   <appender name="STDOUTACCESS" class="ch.qos.logback.core.ConsoleAppender">\r
     <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">\r
-      <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D - "logType": "access"</Pattern>\r
+      <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId}\r
+        %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O}\r
+        %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C}\r
+        %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D -\r
+        "logType": "access"</Pattern>\r
     </encoder>\r
+    <if condition='property("livenessAccessLogEnabled").contains("false")'>\r
+      <then>\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+          <evaluator class="ch.qos.logback.access.net.URLEvaluator">\r
+            <URL>/aai/util/echo</URL>\r
+          </evaluator>\r
+          <OnMismatch>NEUTRAL</OnMismatch>\r
+          <OnMatch>DENY</OnMatch>\r
+        </filter>\r
+      </then>\r
+    </if>\r
   </appender>\r
 \r
   <appender-ref ref="STDOUTACCESS" />\r
 %z - Custom pattern that parses the cert for the subject\r
 %y - Custom pattern determines rest or dme2\r
 -->\r
-*/}}\r
-\r
+*/}}
\ No newline at end of file
index 3a4d568..6bcc0f8 100644 (file)
@@ -330,6 +330,7 @@ logback:
   queueSize: 1000
 
 accessLogback:
+  livenessAccessLogEnabled: false # false: do not log kubernetes liveness probes
   logToFileEnabled: false
   maxHistory: 7
   totalSizeCap: 1GB
index 1d32a52..5e3a15c 100644 (file)
 -->\r
 */}}\r
 <configuration scan="true" scanPeriod="60 seconds" debug="false">\r
-    <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />\r
-    <property name="maxHistory" value='{{.Values.accessLogback.maxHistory}}' />\r
-    <property name="totalSizeCap" value='{{.Values.accessLogback.totalSizeCap}}' />\r
-    <property name="logToFileEnabled" value='{{.Values.accessLogback.logToFileEnabled}}'/>\r
+  <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />\r
+  <property name="maxHistory" value='{{.Values.accessLogback.maxHistory}}' />\r
+  <property name="totalSizeCap" value='{{.Values.accessLogback.totalSizeCap}}' />\r
+  <property name="logToFileEnabled" value='{{.Values.accessLogback.logToFileEnabled}}' />\r
+  <property name="livenessAccessLogEnabled"\r
+    value='{{.Values.accessLogback.livenessAccessLogEnabled}}' />\r
 \r
-    <if condition='property("logToFileEnabled").contains("true")'>\r
-        <then>\r
-            <appender name="ACCESS" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-                <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file>\r
-                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-                    <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd}\r
-                    </fileNamePattern>\r
-                    <maxHistory>${maxHistory}</maxHistory>\r
-                    <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
-                </rollingPolicy>\r
-                <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">\r
-                    <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D</Pattern>\r
-                </encoder>\r
-            </appender>\r
-            <appender-ref ref="ACCESS" />\r
-        </then>\r
-    </if>\r
-\r
-    <appender name="STDOUTACCESS" class="ch.qos.logback.core.ConsoleAppender">\r
+  <if condition='property("logToFileEnabled").contains("true")'>\r
+    <then>\r
+      <appender name="ACCESS" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+        <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+          <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd}\r
+          </fileNamePattern>\r
+          <maxHistory>${maxHistory}</maxHistory>\r
+          <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
         <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">\r
-            <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D - "logType": "access"</Pattern>\r
+          <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId}\r
+            %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU}\r
+            %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST}\r
+            %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter}\r
+            %i{X-AAI-SSL-Client-DN} %D</Pattern>\r
         </encoder>\r
-    </appender>\r
-    <appender-ref ref="STDOUTACCESS" />\r
+      </appender>\r
+      <appender-ref ref="ACCESS" />\r
+    </then>\r
+  </if>\r
+\r
+  <appender name="STDOUTACCESS" class="ch.qos.logback.core.ConsoleAppender">\r
+    <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">\r
+      <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId}\r
+        %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O}\r
+        %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C}\r
+        %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D -\r
+        "logType": "access"</Pattern>\r
+    </encoder>\r
+    <if condition='property("livenessAccessLogEnabled").contains("false")'>\r
+      <then>\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+          <evaluator class="ch.qos.logback.access.net.URLEvaluator">\r
+            <URL>/aai/util/echo</URL>\r
+          </evaluator>\r
+          <OnMismatch>NEUTRAL</OnMismatch>\r
+          <OnMatch>DENY</OnMatch>\r
+        </filter>\r
+      </then>\r
+    </if>\r
+  </appender>\r
+  <appender-ref ref="STDOUTACCESS" />\r
 </configuration>\r
 {{/*<!--\r
 %a - Remote IP address\r
index 2b7e78f..a3772d8 100644 (file)
@@ -248,6 +248,7 @@ logback:
   queueSize: 1000
 
 accessLogback:
+  livenessAccessLogEnabled: false # false: do not log kubernetes liveness probes
   logToFileEnabled: false
   maxHistory: 7
   totalSizeCap: 6GB