Seed of deployment of log components 47/8647/18
authorItay Hassid <itay.hassid@amdocs.com>
Thu, 24 Aug 2017 12:54:42 +0000 (12:54 +0000)
committerItay Hassid <Itay.Hassid@amdocs.com>
Thu, 14 Sep 2017 09:18:25 +0000 (09:18 +0000)
Deployment of: Logstash + ElasticSearch + Kubana with all the configuration files
Issue-ID:OOM-110

Change-Id: I1788485ccb283f0ec4dc8910479072a6cf034e5f
Signed-off-by: Itay Hassid <itay.hassid@amdocs.com>
38 files changed:
kubernetes/config/docker/init/config-init.sh
kubernetes/config/docker/init/src/config/log/aai/ajsc-aai/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/aai/model-loader/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/appc/org.ops4j.pax.logging.cfg [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/filebeat/log4j/filebeat.yml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/filebeat/logback/filebeat.yml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.apihandler-infra.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.appc.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.asdc.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.bpmn.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.msorequestsdbadapter.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.network.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.sdnc.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.tenant.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.vnf.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/policy/drools/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/policy/ep_sdk_app/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/policy/pypdpserver/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/policy/xacml-pap-rest/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/policy/xacml-pdp-rest/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/portal/portal-be/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/portal/portal-db/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/sdc/be/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/sdc/fe/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/sdnc/org.ops4j.pax.logging.cfg [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/vid/logback.xml [new file with mode: 0644]
kubernetes/log/Chart.yaml [new file with mode: 0644]
kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml [new file with mode: 0644]
kubernetes/log/resources/kibana/conf/kibana.yml [new file with mode: 0644]
kubernetes/log/resources/logstash/conf/logstash.yml [new file with mode: 0644]
kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf [new file with mode: 0644]
kubernetes/log/templates/all-services.yaml [new file with mode: 0644]
kubernetes/log/templates/elasticsearch-deployment.yaml [new file with mode: 0644]
kubernetes/log/templates/kibana-deployment.yaml [new file with mode: 0644]
kubernetes/log/templates/log-pv-pvc.yaml [new file with mode: 0644]
kubernetes/log/templates/logstash-deployment.yaml [new file with mode: 0644]
kubernetes/log/values.yaml [new file with mode: 0644]
kubernetes/oneclick/setenv.bash

index cc3a0f6..b97eee0 100755 (executable)
@@ -48,6 +48,7 @@ mkdir -p /config-init/$NAMESPACE/aai/elasticsearch/es-data/
 mkdir -p /config-init/$NAMESPACE/aai/search-data-service/logs/
 mkdir -p /config-init/$NAMESPACE/aai/data-router/logs/
 mkdir -p /config-init/$NAMESPACE/mso/mariadb/data
+mkdir -p /config-init/$NAMESPACE/log/elasticsearch/data
 
 echo "Setting permissions to container writeable directories"
 chmod -R 777 /config-init/$NAMESPACE/sdc/logs/
@@ -64,6 +65,7 @@ chmod -R 777 /config-init/$NAMESPACE/aai/elasticsearch/es-data/
 chmod -R 777 /config-init/$NAMESPACE/aai/search-data-service/logs/
 chmod -R 777 /config-init/$NAMESPACE/aai/data-router/logs/
 chmod -R 777 /config-init/$NAMESPACE/policy/mariadb/
+chmod -R 777 /config-init/$NAMESPACE/log/elasticsearch
 
 echo "Substituting configuration parameters"
 
@@ -107,4 +109,4 @@ find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_ENCRYPTED_PAS
 
 find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_TENANT_NAME_HERE/$OPENSTACK_TENANT_NAME/g" {} \;
 
-echo "Done!"
\ No newline at end of file
+echo "Done!"
diff --git a/kubernetes/config/docker/init/src/config/log/aai/ajsc-aai/logback.xml b/kubernetes/config/docker/init/src/config/log/aai/ajsc-aai/logback.xml
new file mode 100644 (file)
index 0000000..b16b6eb
--- /dev/null
@@ -0,0 +1,295 @@
+<configuration debug="false" scan="true" scanPeriod="60 seconds">\r
+    <contextName>${module.ajsc.namespace.name}</contextName>\r
+    <jmxConfigurator />\r
+    <property name="logDir" value="/var/log/onap" />\r
+    <property name="componentName" value="aai"></property>\r
+    <property name="restLogDirectory" value="${logDir}/${componentName}/rest" />\r
+    <property name="dmaapLogDirectory" value="${logDir}/${componentName}/dmaapAAIWorkloadConsumer" />\r
+    <property name="perfLogsDirectory" value="${logDir}/${componentName}/perf-audit" />\r
+    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+    <!--  log file names -->\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+            <level>ERROR</level>\r
+            <onMatch>ACCEPT</onMatch>\r
+            <onMismatch>DENY</onMismatch>\r
+        </filter>\r
+        <encoder>\r
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="METRIC">\r
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+            <level>INFO</level>\r
+            <onMatch>ACCEPT</onMatch>\r
+            <onMismatch>DENY</onMismatch>\r
+        </filter>\r
+        <file>${restLogDirectory}/${metricsLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${restLogDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncMETRIC">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="METRIC" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG">\r
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+            <level>DEBUG</level>\r
+            <onMatch>ACCEPT</onMatch>\r
+            <onMismatch>DENY</onMismatch>\r
+        </filter>\r
+        <file>${restLogDirectory}/${debugLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${restLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncDEBUG">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="DEBUG" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR">\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>WARN</level>\r
+        </filter>\r
+        <file>${restLogDirectory}/${errorLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${restLogDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncERROR">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="ERROR" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT">\r
+        <file>${restLogDirectory}/${auditLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${restLogDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncAUDIT">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="AUDIT" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumer">\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>WARN</level>\r
+        </filter>\r
+        <File>${dmaapLogDirectory}/${errorLogName}.log</File>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${dmaapLogDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumerdebug">\r
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+            <level>DEBUG</level>\r
+            <onMatch>ACCEPT</onMatch>\r
+            <onMismatch>DENY</onMismatch>\r
+        </filter>\r
+        <File>${dmaapLogDirectory}/${debugLogName}.log</File>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${dmaapLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumermetric">\r
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+            <level>INFO</level>\r
+            <onMatch>ACCEPT</onMatch>\r
+            <onMismatch>DENY</onMismatch>\r
+        </filter>\r
+        <File>${dmaapLogDirectory}/${metricsLogName}.log</File>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${dmaapLogDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Spring related loggers -->\r
+    <logger level="WARN" name="org.springframework" />\r
+    <logger level="WARN" name="org.springframework.beans" />\r
+    <logger level="WARN" name="org.springframework.web" />\r
+    <logger level="WARN" name="com.blog.spring.jms" />\r
+    <!-- AJSC Services (bootstrap services) -->\r
+    <logger level="WARN" name="ajsc" />\r
+    <logger level="WARN" name="ajsc.RouteMgmtService" />\r
+    <logger level="WARN" name="ajsc.ComputeService" />\r
+    <logger level="WARN" name="ajsc.VandelayService" />\r
+    <logger level="WARN" name="ajsc.FilePersistenceService" />\r
+    <logger level="WARN" name="ajsc.UserDefinedJarService" />\r
+    <logger level="WARN" name="ajsc.UserDefinedBeansDefService" />\r
+    <logger level="WARN" name="ajsc.LoggingConfigurationService" />\r
+    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet     logging) -->\r
+    <logger level="WARN" name="ajsc.utils" />\r
+    <logger level="WARN" name="ajsc.utils.DME2Helper" />\r
+    <logger level="WARN" name="ajsc.filters" />\r
+    <logger level="WARN" name="ajsc.beans.interceptors" />\r
+    <logger level="WARN" name="ajsc.restlet" />\r
+    <logger level="WARN" name="ajsc.servlet" />\r
+    <logger level="WARN" name="com.att.ajsc" />\r
+    <logger level="WARN" name="com.att.ajsc.csi.logging" />\r
+    <logger level="WARN" name="com.att.ajsc.filemonitor" />\r
+    <!-- Other Loggers that may help troubleshoot -->\r
+    <logger level="WARN" name="net.sf" />\r
+    <logger level="WARN" name="org.apache.commons.httpclient" />\r
+    <logger level="WARN" name="org.apache.commons" />\r
+    <logger level="WARN" name="org.apache.coyote" />\r
+    <logger level="WARN" name="org.apache.jasper" />\r
+    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.        May aid in troubleshooting) -->\r
+    <logger level="WARN" name="org.apache.camel" />\r
+    <logger level="WARN" name="org.apache.cxf" />\r
+    <logger level="WARN" name="org.apache.camel.processor.interceptor" />\r
+    <logger level="WARN" name="org.apache.cxf.jaxrs.interceptor" />\r
+    <logger level="WARN" name="org.apache.cxf.service" />\r
+    <logger level="WARN" name="org.restlet" />\r
+    <logger level="WARN" name="org.apache.camel.component.restlet" />\r
+    <!-- logback internals logging -->\r
+    <logger level="WARN" name="ch.qos.logback.classic" />\r
+    <logger level="WARN" name="ch.qos.logback.core" />\r
+    <!-- logback jms appenders & loggers definition starts here -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="auditLogs">\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />\r
+        <file>${perfLogsDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${perfLogsDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="perfLogs">\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />\r
+        <file>${perfLogsDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${perfLogsDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-audit">\r
+        <queueSize>1000</queueSize>\r
+        <discardingThreshold>0</discardingThreshold>\r
+        <appender-ref ref="Audit-Record-Queue" />\r
+    </appender>\r
+    <logger additivity="false" level="INFO" name="AuditRecord">\r
+        <appender-ref ref="ASYNC-audit" />\r
+        <appender-ref ref="auditLogs" />\r
+    </logger>\r
+    <logger additivity="false" level="INFO" name="AuditRecord_DirectCall">\r
+        <appender-ref ref="ASYNC-audit" />\r
+        <appender-ref ref="auditLogs" />\r
+    </logger>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-perf">\r
+        <queueSize>1000</queueSize>\r
+        <discardingThreshold>0</discardingThreshold>\r
+        <appender-ref ref="Performance-Tracker-Queue" />\r
+    </appender>\r
+    <logger additivity="false" level="INFO" name="PerfTrackerRecord">\r
+        <appender-ref ref="ASYNC-perf" />\r
+        <appender-ref ref="perfLogs" />\r
+    </logger>\r
+    <!-- logback jms appenders & loggers definition ends here -->\r
+    <logger additivity="false" level="DEBUG" name="org.openecomp.aai.dmaap">\r
+        <appender-ref ref="dmaapAAIWorkloadConsumer" />\r
+        <appender-ref ref="dmaapAAIWorkloadConsumerdebug" />\r
+        <appender-ref ref="dmaapAAIWorkloadConsumermetric" />\r
+    </logger>\r
+    <logger additivity="false" level="INFO" name="org.openecomp.aai">\r
+        <appender-ref ref="asyncDEBUG" />\r
+        <appender-ref ref="asyncERROR" />\r
+        <appender-ref ref="asyncMETRIC" />\r
+    </logger>\r
+    <logger additivity="false" level="INFO" name="org.openecomp.aai.AUDITLOGGER">\r
+        <appender-ref ref="asyncAUDIT" />\r
+    </logger>\r
+    <logger level="WARN" name="org.apache" />\r
+    <logger level="WARN" name="org.zookeeper" />\r
+    <logger level="WARN" name="com.thinkaurelius" />\r
+    <!-- ============================================================================ -->\r
+    <!-- General EELF logger -->\r
+    <!-- ============================================================================ -->\r
+    <logger additivity="false" level="WARN" name="com.att.eelf">\r
+        <appender-ref ref="asyncDEBUG" />\r
+        <appender-ref ref="asyncERROR" />\r
+        <appender-ref ref="asyncMETRIC" />\r
+        <appender-ref ref="asyncAUDIT" />\r
+    </logger>\r
+    <root level="WARN">\r
+        <appender-ref ref="asyncDEBUG" />\r
+        <appender-ref ref="asyncERROR" />\r
+        <appender-ref ref="asyncMETRIC" />\r
+        <appender-ref ref="asyncAUDIT" />\r
+    </root>\r
+</configuration>\r
diff --git a/kubernetes/config/docker/init/src/config/log/aai/model-loader/logback.xml b/kubernetes/config/docker/init/src/config/log/aai/model-loader/logback.xml
new file mode 100644 (file)
index 0000000..cdef6d3
--- /dev/null
@@ -0,0 +1,163 @@
+<configuration debug="false" scan="true" scanPeriod="3 seconds">\r
+    <!--<jmxConfigurator /> -->\r
+    <!-- directory path for all other type logs -->\r
+    <property name="logDir" value="/var/log/onap" />\r
+    <!-- specify the component name <ECOMP-component-name>::= "MSO" | "DCAE" \r
+                | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC" -->\r
+    <property name="componentName" value="aai"></property>\r
+    <property name="subComponentName" value="aai-ml"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <!-- default eelf log file names -->\r
+    <property name="generalLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+    <!-- Example evaluator filter applied against console appender -->\r
+    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!-- EELF Appenders -->\r
+    <!-- ============================================================================ -->\r
+    <!-- The EELFAppender is used to record events to the general application \r
+                log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">\r
+        <file>${logDirectory}/${generalLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">\r
+        <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>INFO</level>\r
+        </filter>\r
+        <queueSize>256</queueSize>\r
+        <appender-ref ref="EELF" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+        <queueSize>256</queueSize>\r
+        <appender-ref ref="EELFAudit" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+        <file>${logDirectory}/${metricsLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+        <queueSize>256</queueSize>\r
+        <appender-ref ref="EELFMetrics" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+        <file>${logDirectory}/${debugLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+        <queueSize>256</queueSize>\r
+        <appender-ref ref="EELFDebug" />\r
+        <includeCallerData>true</includeCallerData>\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!-- EELF loggers -->\r
+    <!-- ============================================================================ -->\r
+    <logger additivity="false" level="info" name="com.att.eelf">\r
+        <appender-ref ref="asyncEELF" />\r
+        <appender-ref ref="asyncEELFDebug" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.security">\r
+        <appender-ref ref="asyncEELFSecurity" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.perf">\r
+        <appender-ref ref="asyncEELFPerformance" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.server">\r
+        <appender-ref ref="asyncEELFServer" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.policy">\r
+        <appender-ref ref="asyncEELFPolicy" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+        <appender-ref ref="asyncEELFAudit" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+        <appender-ref ref="asyncEELFMetrics" />\r
+    </logger>\r
+    <!-- Spring related loggers -->\r
+    <logger level="WARN" name="org.springframework" />\r
+    <logger level="WARN" name="org.springframework.beans" />\r
+    <logger level="WARN" name="org.springframework.web" />\r
+    <logger level="WARN" name="com.blog.spring.jms" />\r
+    <logger level="INFO" name="com.att" />\r
+    <!-- Model Loader loggers -->\r
+    <logger level="INFO" name="org.openecomp.modelloader" />\r
+    <!-- Other Loggers that may help troubleshoot -->\r
+    <logger level="WARN" name="net.sf" />\r
+    <logger level="WARN" name="org.apache.commons.httpclient" />\r
+    <logger level="WARN" name="org.apache.commons" />\r
+    <logger level="WARN" name="org.apache.coyote" />\r
+    <logger level="WARN" name="org.apache.jasper" />\r
+    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. \r
+                May aid in troubleshooting) -->\r
+    <logger level="WARN" name="org.apache.camel" />\r
+    <logger level="WARN" name="org.apache.cxf" />\r
+    <logger level="WARN" name="org.apache.camel.processor.interceptor" />\r
+    <logger level="WARN" name="org.apache.cxf.jaxrs.interceptor" />\r
+    <logger level="WARN" name="org.apache.cxf.service" />\r
+    <logger level="WARN" name="org.restlet" />\r
+    <logger level="WARN" name="org.apache.camel.component.restlet" />\r
+    <!-- logback internals logging -->\r
+    <logger level="WARN" name="ch.qos.logback.classic" />\r
+    <logger level="WARN" name="ch.qos.logback.core" />\r
+    <root>\r
+        <appender-ref ref="asyncEELF" />\r
+        <!-- <appender-ref ref="asyncEELFDebug" /> -->\r
+    </root>\r
+</configuration>\r
diff --git a/kubernetes/config/docker/init/src/config/log/appc/org.ops4j.pax.logging.cfg b/kubernetes/config/docker/init/src/config/log/appc/org.ops4j.pax.logging.cfg
new file mode 100644 (file)
index 0000000..c582620
--- /dev/null
@@ -0,0 +1,151 @@
+################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+# Root logger
+log4j.rootLogger=INFO, async, osgi:*
+log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
+
+maxFileSize=100MB
+maxBackupIndex=20
+logDir=/var/log/onap
+componentName=appc
+logDirectory=${logDir}/${componentName}
+karafLogName=karaf
+errorLogName=error
+metricsLogName=metrics
+auditLogName=audit
+debugLogName=debug
+
+
+# CONSOLE appender not used by default
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS}\t%-16.16t\t%-5.5p\t%c{36}\t%X{bundle.id} - %X{bundle.name} - %X{bundle.version}\t%m%n
+
+# Async appender forwarding to file appender
+log4j.appender.async=org.apache.log4j.AsyncAppender
+log4j.appender.async.appenders=out
+
+# File appender
+log4j.appender.out=org.apache.log4j.RollingFileAppender
+log4j.appender.out.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.out.layout.Properties=true
+log4j.appender.out.file=${logDirectory}/${karafLogName}.log
+log4j.appender.out.append=true
+log4j.appender.out.maxFileSize=${maxFileSize}
+log4j.appender.out.maxBackupIndex=${maxBackupIndex}
+
+# Sift appender
+log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
+log4j.appender.sift.key=bundle.name
+log4j.appender.sift.default=karaf
+log4j.appender.sift.appender=org.apache.log4j.RollingFileAppender
+log4j.appender.sift.appender.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.sift.appender.layout.Properties=true
+log4j.appender.sift.appender.file=${logDirectory}/$\\{bundle.name\\}.log
+log4j.appender.sift.appender.append=true
+
+
+
+log4j.category.org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPusherImpl=DEBUG
+log4j.category.org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPersisterActivator=DEBUG
+
+
+#ECOMP Debug appender
+log4j.appender.debug=org.apache.log4j.RollingFileAppender
+log4j.appender.debug.key=bundle.name
+log4j.appender.debug.default=karaf
+log4j.appender.debug.appName=EELFDebug
+log4j.appender.debug.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.debug.layout.Properties=true
+log4j.appender.debug.file=${logDirectory}/${debugLogName}.log
+log4j.appender.debug.append=true
+log4j.appender.debug.maxFileSize=${maxFileSize}
+log4j.appender.debug.maxBackupIndex=${maxBackupIndex}
+#log4j.appender.debug.filter.f1=org.apache.log4j.varia.LevelRangeFilter
+#log4j.appender.debug.filter.f1.LevelMax=WARN
+#log4j.appender.debug.filter.f1.LevelMin=TRACE
+
+
+#Error appender
+log4j.appender.error=org.apache.log4j.RollingFileAppender
+log4j.appender.error.appName=EELFError
+log4j.appender.error.File=${logDirectory}/${errorLogName}.log
+log4j.appender.error.Threshold=ERROR
+log4j.appender.error.maxFileSize=${maxFileSize}
+log4j.appender.error.maxBackupIndex=${maxBackupIndex}
+log4j.appender.error.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.error.layout.Properties=true
+
+#Metrics appender
+log4j.appender.metric=org.apache.log4j.RollingFileAppender
+log4j.appender.metric.appName=EELFMetrics
+log4j.appender.metric.File=${logDirectory}/${metricsLogName}.log
+log4j.appender.metric.maxFileSize=${maxFileSize}
+log4j.appender.metric.maxBackupIndex=${maxBackupIndex}
+log4j.appender.metric.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.metric.layout.Properties=true
+
+#Audit appender
+log4j.appender.audit=org.apache.log4j.RollingFileAppender
+log4j.appender.audit.appName=EELFAudit
+log4j.appender.audit.File=${logDirectory}/${auditLogName}.log
+log4j.appender.audit.maxFileSize=${maxFileSize}
+log4j.appender.audit.maxBackupIndex=${maxBackupIndex}
+log4j.appender.audit.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.audit.layout.Properties=true
+
+#Loggers
+#Routing of all messages from root logger
+log4j.logger.com.att=TRACE, debug, error
+#Store to the same log file messages from upper level appender or not
+log4j.additivity.com.att=false
+
+#EELFManager loggers
+#EELF parent logger
+log4j.logger.com.att.eelf=TRACE, debug
+log4j.additivity.com.att.eelf=false
+
+#Audit logger routing
+log4j.logger.com.att.eelf.audit=DEBUG, audit
+log4j.additivity.com.att.eelf.audit=false
+
+#Metric logger routing
+log4j.logger.com.att.eelf.metrics=DEBUG, metric
+log4j.additivity.com.att.eelf.metrics=false
+
+#Performance logger routing
+log4j.logger.com.att.eelf.perf=DEBUG, metric
+log4j.additivity.com.att.eelf.perf=false
+
+#Server logger routing
+log4j.logger.com.att.eelf.server=DEBUG, debug
+log4j.additivity.com.att.eelf.server=false
+
+#Policy logger routing
+log4j.logger.com.att.eelf.policy=DEBUG, debug
+log4j.additivity.com.att.eelf.policy=false
+
+#Error logger routing
+log4j.logger.com.att.eelf.error=DEBUG, error
+log4j.additivity.com.att.eelf.error=false
+
+#Debug logger routing
+log4j.logger.com.att.eelf.debug=DEBUG, debug
+log4j.additivity.com.att.eelf.debug=false
diff --git a/kubernetes/config/docker/init/src/config/log/filebeat/log4j/filebeat.yml b/kubernetes/config/docker/init/src/config/log/filebeat/log4j/filebeat.yml
new file mode 100644 (file)
index 0000000..90fce2b
--- /dev/null
@@ -0,0 +1,48 @@
+filebeat.prospectors:\r
+#it is mandatory, in our case it's log\r
+- input_type: log\r
+  #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.\r
+  paths:\r
+    - /var/log/onap/*/*/*.log\r
+    - /var/log/onap/*/*.log\r
+    \r
+  # The below commented properties are for time-based rolling policy. But as the log4j 1.2x does not support time-based rolling these properties are not set\r
+  #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive\r
+  #ignore_older: 48h\r
+  # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit\r
+  #clean_inactive: 96h\r
+  \r
+  #Multiline properties for log4j xml log events\r
+  multiline.pattern: '</log4j:event>'\r
+  multiline.negate: true\r
+  multiline.match: before\r
+  #multiline.max_lines: 500\r
+  #multiline.timeout: 5s\r
+   \r
+# Name of the registry file. If a relative path is used, it is considered relative to the\r
+# data path. Else full qualified file name.\r
+#filebeat.registry_file: ${path.data}/registry\r
+\r
+\r
+output.logstash:\r
+  #List of logstash server ip addresses with port number. \r
+  #But, in our case, this will be the loadbalancer IP address.\r
+  #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.\r
+  hosts: ["logstash.onap-log:5044"]\r
+  #If enable will do load balancing among availabe Logstash, automatically.\r
+  loadbalance: true\r
+  \r
+  #The list of root certificates for server verifications. \r
+  #If certificate_authorities is empty or not set, the trusted \r
+  #certificate authorities of the host system are used.\r
+  #ssl.certificate_authorities: $ssl.certificate_authorities\r
+  \r
+  #The path to the certificate for SSL client authentication. If the certificate is not specified, \r
+  #client authentication is not available.\r
+  #ssl.certificate: $ssl.certificate\r
+  \r
+  #The client certificate key used for client authentication. \r
+  #ssl.key: $ssl.key\r
+  \r
+  #The passphrase used to decrypt an encrypted key stored in the configured key file\r
+  #ssl.key_passphrase: $ssl.key_passphrase\r
diff --git a/kubernetes/config/docker/init/src/config/log/filebeat/logback/filebeat.yml b/kubernetes/config/docker/init/src/config/log/filebeat/logback/filebeat.yml
new file mode 100644 (file)
index 0000000..9a60dbd
--- /dev/null
@@ -0,0 +1,40 @@
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+  #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+  paths:
+    - /var/log/onap/*/*/*.log
+    - /var/log/onap/*/*.log
+  #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+  ignore_older: 48h
+  # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+  clean_inactive: 96h
+   
+   
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+  #List of logstash server ip addresses with port number. 
+  #But, in our case, this will be the loadbalancer IP address.
+  #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+  hosts: ["logstash.onap-log:5044"]
+  #If enable will do load balancing among availabe Logstash, automatically.
+  loadbalance: true
+  
+  #The list of root certificates for server verifications. 
+  #If certificate_authorities is empty or not set, the trusted 
+  #certificate authorities of the host system are used.
+  #ssl.certificate_authorities: $ssl.certificate_authorities
+  
+  #The path to the certificate for SSL client authentication. If the certificate is not specified, 
+  #client authentication is not available.
+  #ssl.certificate: $ssl.certificate
+  
+  #The client certificate key used for client authentication. 
+  #ssl.key: $ssl.key
+  
+  #The passphrase used to decrypt an encrypted key stored in the configured key file
+  #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.apihandler-infra.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.apihandler-infra.xml
new file mode 100644 (file)
index 0000000..d6c1188
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="apiHandlerInfra" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.appc.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.appc.xml
new file mode 100644 (file)
index 0000000..ef9589a
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="appcAdapter" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.asdc.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.asdc.xml
new file mode 100644 (file)
index 0000000..99615e3
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="asdcController" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.bpmn.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.bpmn.xml
new file mode 100644 (file)
index 0000000..2e64259
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="bpmn" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.msorequestsdbadapter.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.msorequestsdbadapter.xml
new file mode 100644 (file)
index 0000000..e6e0591
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="requestDB" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.network.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.network.xml
new file mode 100644 (file)
index 0000000..3e5c670
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="networkAdapter" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.sdnc.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.sdnc.xml
new file mode 100644 (file)
index 0000000..07d1df3
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="sdncAdapter" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.tenant.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.tenant.xml
new file mode 100644 (file)
index 0000000..6e5bc27
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="tenantAdapter" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.vnf.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.vnf.xml
new file mode 100644 (file)
index 0000000..aca0fff
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="vnfAdapter" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/policy/drools/logback.xml b/kubernetes/config/docker/init/src/config/log/policy/drools/logback.xml
new file mode 100644 (file)
index 0000000..2b6d11e
--- /dev/null
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ============LICENSE_START=======================================================\r
+  policy-management\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property. All rights reserved.\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ============LICENSE_END=========================================================\r
+  -->\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+   <!--<jmxConfigurator /> -->\r
+   <!--  specify the base path of the log directory --> \r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!--  specify the component name -->\r
+   <property name="componentName" value="policy" />\r
+   <!-- specify the sub component name -->\r
+   <property name="subComponentName" value="drools" />\r
+   <!-- The directories where logs are written --> \r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%i.log.zip</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.error">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+      <appender-ref ref="asyncEELFError" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/policy/ep_sdk_app/logback.xml b/kubernetes/config/docker/init/src/config/log/policy/ep_sdk_app/logback.xml
new file mode 100644 (file)
index 0000000..d0871bd
--- /dev/null
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ================================================================================\r
+  eCOMP Portal SDK\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ================================================================================\r
+  -->\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+   <!-- \r
+  Logback files for the ECOMP SDK Application "ecomp_app"\r
+  are created in directory ${catalina.base}/logs/ecomp_app;\r
+  e.g., apache-tomcat-8.0.35/logs/ecomp_app/application.log  \r
+  -->\r
+   <!--<jmxConfigurator /> -->\r
+   <!--  specify the base path of the log directory -->\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!-- specify the component name -->\r
+   <property name="componentName" value="policy" />\r
+   <!-- specify the sub component name -->\r
+   <property name="subComponentName" value="ep_sdk_app" />\r
+   <!-- The directories where logs are written -->\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="generalLogName" value="application" />\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!--\r
+  These loggers are not used in code (yet). \r
+  <property name="securityLogName" value="security" />\r
+  <property name="policyLogName" value="policy" />\r
+  <property name="performanceLogName" value="performance" />\r
+  <property name="serverLogName" value="server" />\r
+   -->\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">\r
+      <file>${logDirectory}/${generalLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <!-- daily rollover -->\r
+         <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="org.openecomp.portalapp.util.CustomLoggingFilter" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <!-- Class name is part of caller data -->\r
+      <includeCallerData>true</includeCallerData>\r
+      <appender-ref ref="EELF" />\r
+   </appender>\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <!-- daily rollover -->\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <!-- daily rollover -->\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <!-- daily rollover -->\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <!-- daily rollover -->\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.error">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/policy/pypdpserver/logback.xml b/kubernetes/config/docker/init/src/config/log/policy/pypdpserver/logback.xml
new file mode 100644 (file)
index 0000000..c4b596b
--- /dev/null
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ============LICENSE_START=======================================================\r
+  ECOMP Policy Engine\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property. All rights reserved.\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ============LICENSE_END=========================================================\r
+  -->\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+   <!--<jmxConfigurator /> -->\r
+   <!--  specify the base path of the log directory --> \r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!--  specify the component name -->\r
+   <property name="componentName" value="policy" />\r
+   <!-- specify the sub component name -->\r
+   <property name="subComponentName" value="pypdpserver" />\r
+   <!-- The directories where logs are written --> \r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - \r
+        %msg%n"</pattern> -->\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.error">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+      <appender-ref ref="asyncEELFError" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/policy/xacml-pap-rest/logback.xml b/kubernetes/config/docker/init/src/config/log/policy/xacml-pap-rest/logback.xml
new file mode 100644 (file)
index 0000000..77068bb
--- /dev/null
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ============LICENSE_START=======================================================\r
+  ECOMP-PAP-REST\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property. All rights reserved.\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ============LICENSE_END=========================================================\r
+  -->\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+   <!--<jmxConfigurator /> -->\r
+   <!--  specify the base path of the log directory -->\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!--  specify the component name -->\r
+   <property name="componentName" value="policy" />\r
+   <!-- specify the sub component name -->\r
+   <property name="subComponentName" value="xacml-pap-rest" />\r
+   <!-- The directories where logs are written -->\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - \r
+        %msg%n"</pattern> -->\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.error">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/policy/xacml-pdp-rest/logback.xml b/kubernetes/config/docker/init/src/config/log/policy/xacml-pdp-rest/logback.xml
new file mode 100644 (file)
index 0000000..c9c05d9
--- /dev/null
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ============LICENSE_START=======================================================\r
+  ECOMP-PDP-REST\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property. All rights reserved.\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ============LICENSE_END=========================================================\r
+  -->\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <!--<jmxConfigurator /> -->\r
+   <!--  specify the base path of the log directory --> \r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!--  specify the component name -->\r
+   <property name="componentName" value="policy" />\r
+   <!-- specify the sub component name -->\r
+   <property name="subComponentName" value="xacml-pdp-rest" />\r
+   <!-- The directories where logs are written --> \r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - \r
+        %msg%n"</pattern> -->\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/portal/portal-be/logback.xml b/kubernetes/config/docker/init/src/config/log/portal/portal-be/logback.xml
new file mode 100644 (file)
index 0000000..26533ef
--- /dev/null
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!--\r
+  ================================================================================\r
+  eCOMP Portal\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&T Intellectual Property\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ================================================================================\r
+  -->\r
+<!DOCTYPE xml>\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+    <!-- Log-back files for the ECOMP Portal "ecompportal" are created in directory \r
+                ${catalina.base}/logs/ecompportal; e.g., apache-tomcat-8.0.35/logs/ecompportal/application.log -->\r
+    <!--<jmxConfigurator /> -->\r
+    <!-- specify the component name -->\r
+    <property name="componentName" value="portal"></property>\r
+    <property name="subComponentName" value="portalBE"></property>\r
+    <!-- specify the base path of the log directory -->\r
+    <property name="logDirPrefix" value="/var/log/onap"></property>\r
+    <!-- The directories where logs are written -->\r
+    <property name="logDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />\r
+    <!-- Can easily relocate debug logs by modifying this path. -->\r
+    <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />\r
+    <!-- log file names -->\r
+    <property name="generalLogName" value="application" />\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <!-- These loggers are not used in code (yet). <property name="securityLogName" \r
+                value="security" /> <property name="policyLogName" value="policy" /> <property \r
+                name="performanceLogName" value="performance" /> <property name="serverLogName" \r
+                value="server" /> -->\r
+    <!-- ServerFQDN=Server,  -->\r
+    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <!-- Example evaluator filter applied against console appender -->\r
+    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!-- EELF Appenders -->\r
+    <!-- ============================================================================ -->\r
+    <!-- The EELFAppender is used to record events to the general application \r
+                log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">\r
+        <file>${logDirectory}/${generalLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+        <filter class="org.openecomp.portalapp.portal.utils.CustomLoggingFilter" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <!-- Class name is part of caller data -->\r
+        <includeCallerData>true</includeCallerData>\r
+        <appender-ref ref="EELF" />\r
+    </appender>\r
+    <!-- EELF Security Appender. This appender is used to record security events \r
+                to the security log file. Security events are separate from other loggers \r
+                in EELF so that security log records can be captured and managed in a secure \r
+                way separate from the other logs. This appender is set to never discard any \r
+                events. -->\r
+    <!-- <appender name="EELFSecurity" class="ch.qos.logback.core.rolling.RollingFileAppender"> \r
+                <file>${logDirectory}/${securityLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> \r
+                <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip </fileNamePattern> \r
+                <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy \r
+                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> \r
+                </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> \r
+                </appender> <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender"> \r
+                <queueSize>256</queueSize> <discardingThreshold>0</discardingThreshold> <appender-ref \r
+                ref="EELFSecurity" /> </appender> -->\r
+    <!-- EELF Performance Appender. This appender is used to record performance \r
+                records. -->\r
+    <!-- <appender name="EELFPerformance" class="ch.qos.logback.core.rolling.RollingFileAppender"> \r
+                <file>${logDirectory}/${performanceLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> \r
+                <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip </fileNamePattern> \r
+                <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy \r
+                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> \r
+                </triggeringPolicy> <encoder> <outputPatternAsHeader>true</outputPatternAsHeader> \r
+                <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFPerformance" \r
+                class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> \r
+                <appender-ref ref="EELFPerformance" /> </appender> -->\r
+    <!-- EELF Server Appender. This appender is used to record Server related \r
+                logging events. The Server logger and appender are specializations of the \r
+                EELF application root logger and appender. This can be used to segregate \r
+                Server events from other components, or it can be eliminated to record these \r
+                events as part of the application root log. -->\r
+    <!-- <appender name="EELFServer" class="ch.qos.logback.core.rolling.RollingFileAppender"> \r
+                <file>${logDirectory}/${serverLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> \r
+                <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip </fileNamePattern> \r
+                <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy \r
+                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> \r
+                </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> \r
+                </appender> <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender"> \r
+                <queueSize>256</queueSize> <appender-ref ref="EELFServer" /> </appender> -->\r
+    <!-- EELF Policy Appender. This appender is used to record Policy engine \r
+                related logging events. The Policy logger and appender are specializations \r
+                of the EELF application root logger and appender. This can be used to segregate \r
+                Policy engine events from other components, or it can be eliminated to record \r
+                these events as part of the application root log. -->\r
+    <!-- <appender name="EELFPolicy" class="ch.qos.logback.core.rolling.RollingFileAppender"> \r
+                <file>${logDirectory}/${policyLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> \r
+                <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip </fileNamePattern> \r
+                <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy \r
+                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> \r
+                </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> \r
+                </appender> <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender"> \r
+                <queueSize>256</queueSize> <appender-ref ref="EELFPolicy" /> </appender> -->\r
+    <!-- EELF Audit Appender. This appender is used to record audit engine related \r
+                logging events. The audit logger and appender are specializations of the \r
+                EELF application root logger and appender. This can be used to segregate \r
+                Policy engine events from other components, or it can be eliminated to record \r
+                these events as part of the application root log. -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily roll over -->\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFAudit" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+        <file>${logDirectory}/${metricsLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily roll over -->\r
+            <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFMetrics" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+        <file>${logDirectory}/${errorLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily roll over -->\r
+            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFError" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+        <file>${debugLogDirectory}/${debugLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily roll over -->\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFDebug" />\r
+        <includeCallerData>true</includeCallerData>\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!-- EELF loggers -->\r
+    <!-- ============================================================================ -->\r
+    <logger additivity="false" level="info" name="com.att.eelf">\r
+        <appender-ref ref="asyncEELF" />\r
+    </logger>\r
+    <!-- <logger name="com.att.eelf.security" level="info" additivity="false"> \r
+                <appender-ref ref="asyncEELFSecurity" /> </logger> <logger name="com.att.eelf.perf" \r
+                level="info" additivity="false"> <appender-ref ref="asyncEELFPerformance" \r
+                /> </logger> <logger name="com.att.eelf.server" level="info" additivity="false"> \r
+                <appender-ref ref="asyncEELFServer" /> </logger> <logger name="com.att.eelf.policy" \r
+                level="info" additivity="false"> <appender-ref ref="asyncEELFPolicy" /> </logger> -->\r
+    <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+        <appender-ref ref="asyncEELFAudit" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+        <appender-ref ref="asyncEELFMetrics" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.error">\r
+        <appender-ref ref="asyncEELFError" />\r
+    </logger>\r
+    <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+        <appender-ref ref="asyncEELFDebug" />\r
+    </logger>\r
+    <root level="INFO">\r
+        <appender-ref ref="asyncEELF" />\r
+    </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/portal/portal-db/logback.xml b/kubernetes/config/docker/init/src/config/log/portal/portal-db/logback.xml
new file mode 100644 (file)
index 0000000..4990fac
--- /dev/null
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+    <!--\r
+  Logback files for the ECOMP SDK Application "ecomp_app"\r
+  are created in directory ${catalina.base}/logs/ecomp_app;\r
+  e.g., apache-tomcat-8.0.35/logs/ecomp_app/application.log\r
+  -->\r
+    <!--<jmxConfigurator /> -->\r
+    <!--  specify the component name -->\r
+    <property name="componentName" value="portal"></property>\r
+    <property name="subComponentName" value="portalDB"></property>\r
+    <!--  specify the base path of the log directory -->\r
+    <property name="logDirPrefix" value="/var/log/onap"></property>\r
+    <!-- The directories where logs are written -->\r
+    <property name="logDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />\r
+    <!-- Can easily relocate debug logs by modifying this path. -->\r
+    <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />\r
+    <!--  log file names -->\r
+    <property name="generalLogName" value="application" />\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <!--\r
+  These loggers are not used in code (yet).\r
+  <property name="securityLogName" value="security" />\r
+  <property name="policyLogName" value="policy" />\r
+  <property name="performanceLogName" value="performance" />\r
+  <property name="serverLogName" value="server" />\r
+   -->\r
+    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <!-- Example evaluator filter applied against console appender -->\r
+    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!-- EELF Appenders -->\r
+    <!-- ============================================================================ -->\r
+    <!-- The EELFAppender is used to record events to the general application\r
+    log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">\r
+        <file>${logDirectory}/${generalLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+        <filter class="org.openecomp.fusionapp.util.CustomLoggingFilter" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <!-- Class name is part of caller data -->\r
+        <includeCallerData>true</includeCallerData>\r
+        <appender-ref ref="EELF" />\r
+    </appender>\r
+    <!-- EELF Security Appender. This appender is used to record security events\r
+    to the security log file. Security events are separate from other loggers\r
+    in EELF so that security log records can be captured and managed in a secure\r
+    way separate from the other logs. This appender is set to never discard any\r
+    events. -->\r
+    <!--\r
+  <appender name="EELFSecurity"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${securityLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+      <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+\r
+  <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <discardingThreshold>0</discardingThreshold>\r
+    <appender-ref ref="EELFSecurity" />\r
+  </appender>\r
+   -->\r
+    <!-- EELF Performance Appender. This appender is used to record performance\r
+    records. -->\r
+    <!--\r
+  <appender name="EELFPerformance"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${performanceLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+      <outputPatternAsHeader>true</outputPatternAsHeader>\r
+      <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFPerformance" />\r
+  </appender>\r
+  -->\r
+    <!-- EELF Server Appender. This appender is used to record Server related\r
+    logging events. The Server logger and appender are specializations of the\r
+    EELF application root logger and appender. This can be used to segregate Server\r
+    events from other components, or it can be eliminated to record these events\r
+    as part of the application root log. -->\r
+    <!--\r
+  <appender name="EELFServer"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${serverLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+        <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFServer" />\r
+  </appender>\r
+   -->\r
+    <!-- EELF Policy Appender. This appender is used to record Policy engine\r
+    related logging events. The Policy logger and appender are specializations\r
+    of the EELF application root logger and appender. This can be used to segregate\r
+    Policy engine events from other components, or it can be eliminated to record\r
+    these events as part of the application root log. -->\r
+    <!--\r
+  <appender name="EELFPolicy"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${policyLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+        <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFPolicy" />\r
+  </appender>\r
+  -->\r
+    <!-- EELF Audit Appender. This appender is used to record audit engine\r
+    related logging events. The audit logger and appender are specializations\r
+    of the EELF application root logger and appender. This can be used to segregate\r
+    Policy engine events from other components, or it can be eliminated to record\r
+    these events as part of the application root log. -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFAudit" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+        <file>${logDirectory}/${metricsLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFMetrics" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+        <file>${logDirectory}/${errorLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFError" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+        <file>${debugLogDirectory}/${debugLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFDebug" />\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!--  EELF loggers -->\r
+    <!-- ============================================================================ -->\r
+    <logger additivity="false" level="debug" name="com.att.eelf">\r
+        <appender-ref ref="asyncEELF" />\r
+    </logger>\r
+    <!--\r
+  <logger name="com.att.eelf.security" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFSecurity" />\r
+  </logger>\r
+  <logger name="com.att.eelf.perf" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFPerformance" />\r
+  </logger>\r
+  <logger name="com.att.eelf.server" level="info" additivity="false">\r
+   <appender-ref ref="asyncEELFServer" />\r
+  </logger>\r
+  <logger name="com.att.eelf.policy" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFPolicy" />\r
+  </logger>\r
+  -->\r
+    <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+        <appender-ref ref="asyncEELFAudit" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+        <appender-ref ref="asyncEELFMetrics" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.error">\r
+        <appender-ref ref="asyncEELFError" />\r
+    </logger>\r
+    <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+        <appender-ref ref="asyncEELFDebug" />\r
+    </logger>\r
+    <root level="DEBUG">\r
+        <appender-ref ref="asyncEELF" />\r
+    </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/sdc/be/logback.xml b/kubernetes/config/docker/init/src/config/log/sdc/be/logback.xml
new file mode 100644 (file)
index 0000000..4d508e3
--- /dev/null
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds">\r
+    <property name="logDir" value="/var/log/onap" />\r
+    <property name="componentName" scope="system" value="sdc"></property>\r
+    <property name="subComponentName" scope="system" value="sdc-be"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <property file="${config.home}/catalog-be/configuration.yaml" />\r
+    <property name="enable-all-log" scope="context" value="false" />\r
+    <!--  log file names -->\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <property name="transactionLogName" value="transaction" />\r
+    <property name="allLogName" value="all" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+    <!-- All log -->\r
+    <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+        <then>\r
+            <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">\r
+                <file>${logDirectory}/${allLogName}.log</file>\r
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+                    <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+                    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                        <maxFileSize>${maxFileSize}</maxFileSize>\r
+                    </timeBasedFileNamingAndTriggeringPolicy>\r
+                    <maxHistory>${maxHistory}</maxHistory>\r
+                    <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+                </rollingPolicy>\r
+                <encoder>\r
+                    <pattern>${pattern}</pattern>\r
+                </encoder>\r
+            </appender>\r
+            <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </appender>\r
+        </then>\r
+    </if>\r
+    <!-- Error log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">\r
+        <file>${logDirectory}/${errorLogName}.log</file>\r
+        <!-- Audit messages filter - deny audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- Transaction messages filter - deny Transaction messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>INFO</level>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Debug log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">\r
+        <file>${logDirectory}/${debugLogName}.log</file>\r
+        <!-- No need to deny audit messages - they are INFO only, will be denied \r
+                        anyway -->\r
+        <!-- Transaction messages filter - deny Transaction messages, there are \r
+                        some DEBUG level messages among them -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- accept DEBUG and TRACE level -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">\r
+                <expression>e.level.toInt() &lt;= DEBUG.toInt()</expression>\r
+            </evaluator>\r
+            <OnMismatch>DENY</OnMismatch>\r
+            <OnMatch>NEUTRAL</OnMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Audit log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <!-- Audit messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- SdncTransaction log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">\r
+        <file>${logDirectory}/${transactionLogName}.log</file>\r
+        <!-- Transaction messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Asynchronicity Configurations -->\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="DEBUG_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="TRANSACTION_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="ERROR_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="AUDIT_ROLLING" />\r
+    </appender>\r
+    <root level="INFO">\r
+        <appender-ref ref="ASYNC_ERROR" />\r
+        <appender-ref ref="ASYNC_DEBUG" />\r
+        <appender-ref ref="ASYNC_AUDIT" />\r
+        <appender-ref ref="ASYNC_TRANSACTION" />\r
+        <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+            <then>\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </then>\r
+        </if>\r
+    </root>\r
+    <logger level="INFO" name="org.openecomp.sdc" />\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/sdc/fe/logback.xml b/kubernetes/config/docker/init/src/config/log/sdc/fe/logback.xml
new file mode 100644 (file)
index 0000000..a8e9ed7
--- /dev/null
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds">\r
+    <property name="logDir" value="/var/log/onap" />\r
+    <property name="componentName" scope="system" value="sdc"></property>\r
+    <property name="subComponentName" scope="system" value="sdc-fe"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <property file="${config.home}/catalog-fe/configuration.yaml" />\r
+    <property name="enable-all-log" scope="context" value="false" />\r
+    <!--  log file names -->\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <property name="transactionLogName" value="transaction" />\r
+    <property name="allLogName" value="all" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+    <!-- All log -->\r
+    <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+        <then>\r
+            <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">\r
+                <file>${logDirectory}/${allLogName}.log</file>\r
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+                    <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+                    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                        <maxFileSize>${maxFileSize}</maxFileSize>\r
+                    </timeBasedFileNamingAndTriggeringPolicy>\r
+                    <maxHistory>${maxHistory}</maxHistory>\r
+                    <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+                </rollingPolicy>\r
+                <encoder>\r
+                    <pattern>${pattern}</pattern>\r
+                </encoder>\r
+            </appender>\r
+            <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </appender>\r
+        </then>\r
+    </if>\r
+    <!-- Error log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">\r
+        <file>${logDirectory}/${errorLogName}.log</file>\r
+        <!-- Audit messages filter - deny audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- Transaction messages filter - deny Transaction messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>INFO</level>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Debug log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">\r
+        <file>${logDirectory}/${debugLogName}.log</file>\r
+        <!-- No need to deny audit messages - they are INFO only, will be denied \r
+                        anyway -->\r
+        <!-- Transaction messages filter - deny Transaction messages, there are \r
+                        some DEBUG level messages among them -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- accept DEBUG and TRACE level -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">\r
+                <expression>e.level.toInt() &lt;= DEBUG.toInt()</expression>\r
+            </evaluator>\r
+            <OnMismatch>DENY</OnMismatch>\r
+            <OnMatch>NEUTRAL</OnMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Audit log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <!-- Audit messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- SdncTransaction log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">\r
+        <file>${logDirectory}/${transactionLogName}.log</file>\r
+        <!-- Transaction messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Asynchronicity Configurations -->\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="DEBUG_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="TRANSACTION_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="ERROR_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="AUDIT_ROLLING" />\r
+    </appender>\r
+    <root level="INFO">\r
+        <appender-ref ref="ASYNC_ERROR" />\r
+        <appender-ref ref="ASYNC_DEBUG" />\r
+        <appender-ref ref="ASYNC_AUDIT" />\r
+        <appender-ref ref="ASYNC_TRANSACTION" />\r
+        <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+            <then>\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </then>\r
+        </if>\r
+    </root>\r
+    <logger level="INFO" name="org.openecomp.sdc" />\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/sdnc/org.ops4j.pax.logging.cfg b/kubernetes/config/docker/init/src/config/log/sdnc/org.ops4j.pax.logging.cfg
new file mode 100644 (file)
index 0000000..50818a3
--- /dev/null
@@ -0,0 +1,57 @@
+################################################################################\r
+#\r
+#    Licensed to the Apache Software Foundation (ASF) under one or more\r
+#    contributor license agreements.  See the NOTICE file distributed with\r
+#    this work for additional information regarding copyright ownership.\r
+#    The ASF licenses this file to You under the Apache License, Version 2.0\r
+#    (the "License"); you may not use this file except in compliance with\r
+#    the License.  You may obtain a copy of the License at\r
+#\r
+#       http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+#    Unless required by applicable law or agreed to in writing, software\r
+#    distributed under the License is distributed on an "AS IS" BASIS,\r
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+#    See the License for the specific language governing permissions and\r
+#    limitations under the License.\r
+#\r
+################################################################################\r
+\r
+# Root logger\r
+log4j.rootLogger=INFO, async, osgi:*\r
+log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer\r
+\r
+# Log Directory\r
+logDir=/var/log/onap\r
+componentName=sdnc\r
+logDirectory=${logDir}/${componentName}\r
+maxFileSize=100MB\r
+maxBackupIndex=20\r
+\r
+# CONSOLE appender not used by default\r
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender\r
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\r
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS}\t%-16.16t\t%-5.5p\t%c{36}\t%X{bundle.id} - %X{bundle.name} - %X{bundle.version}\t%m%n\r
+\r
+# Async appender forwarding to file appender \r
+log4j.appender.async=org.apache.log4j.AsyncAppender\r
+log4j.appender.async.appenders=out\r
+\r
+# File appender\r
+log4j.appender.out=org.apache.log4j.RollingFileAppender\r
+log4j.appender.out.layout=org.apache.log4j.xml.XMLLayout\r
+log4j.appender.out.layout.Properties=true\r
+log4j.appender.out.file=${logDirectory}/karaf.log\r
+log4j.appender.out.append=true\r
+log4j.appender.out.maxFileSize=${maxFileSize}\r
+log4j.appender.out.maxBackupIndex=${maxBackupIndex}\r
+\r
+# Sift appender\r
+log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender\r
+log4j.appender.sift.key=bundle.name\r
+log4j.appender.sift.default=karaf\r
+log4j.appender.sift.appender=org.apache.log4j.RollingFileAppender\r
+log4j.appender.sift.appender.layout=org.apache.log4j.xml.XMLLayout\r
+log4j.appender.sift.appender.layout.Properties=true\r
+log4j.appender.sift.appender.file=${logDirectory}/$\\{bundle.name\\}.log\r
+log4j.appender.sift.appender.append=true\r
diff --git a/kubernetes/config/docker/init/src/config/log/vid/logback.xml b/kubernetes/config/docker/init/src/config/log/vid/logback.xml
new file mode 100644 (file)
index 0000000..d3177f0
--- /dev/null
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ================================================================================\r
+  eCOMP Portal SDK\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ================================================================================\r
+  -->\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <!--  specify the base path of the log directory -->\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!--  specify the component name -->\r
+   <property name="componentName" value="vid" />\r
+   <!-- The directory where logs are written -->\r
+   <property name="logDirectory" value="${logDir}/${componentName}" />\r
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+   <!--  log file names -->\r
+   <property name="generalLogName" value="application" />\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <!--  other constants -->\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${generalLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="org.openecomp.portalapp.util.CustomLoggingFilter" />\r
+   </appender>\r
+   <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <includeCallerData>true</includeCallerData>\r
+      <appender-ref ref="EELF" />\r
+   </appender>\r
+   <!-- EELF Security Appender. This appender is used to record security events \r
+    to the security log file. Security events are separate from other loggers \r
+    in EELF so that security log records can be captured and managed in a secure \r
+    way separate from the other logs. This appender is set to never discard any \r
+    events. -->\r
+   <!--     \r
+  <appender name="EELFSecurity"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${securityLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+      <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  \r
+  <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <discardingThreshold>0</discardingThreshold>\r
+    <appender-ref ref="EELFSecurity" />\r
+  </appender>\r
+   -->\r
+   <!-- EELF Performance Appender. This appender is used to record performance \r
+    records. -->\r
+   <!--\r
+  <appender name="EELFPerformance"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${performanceLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+      <outputPatternAsHeader>true</outputPatternAsHeader>\r
+      <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFPerformance" />\r
+  </appender>\r
+  -->\r
+   <!-- EELF Server Appender. This appender is used to record Server related \r
+    logging events. The Server logger and appender are specializations of the \r
+    EELF application root logger and appender. This can be used to segregate Server \r
+    events from other components, or it can be eliminated to record these events \r
+    as part of the application root log. -->\r
+   <!--\r
+  <appender name="EELFServer"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${serverLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+        <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFServer" />\r
+  </appender>\r
+   -->\r
+   <!-- EELF Policy Appender. This appender is used to record Policy engine \r
+    related logging events. The Policy logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <!--\r
+  <appender name="EELFPolicy"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${policyLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+        <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFPolicy" />\r
+  </appender>\r
+  -->\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger name="com.att.eelf" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELF" />\r
+   </logger>\r
+   <!--\r
+  <logger name="com.att.eelf.security" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFSecurity" />\r
+  </logger>\r
+  <logger name="com.att.eelf.perf" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFPerformance" />\r
+  </logger>\r
+  <logger name="com.att.eelf.server" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFServer" />\r
+  </logger>\r
+  <logger name="com.att.eelf.policy" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFPolicy" />\r
+  </logger>\r
+  -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELF" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/log/Chart.yaml b/kubernetes/log/Chart.yaml
new file mode 100644 (file)
index 0000000..36d0299
--- /dev/null
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: A Helm chart for Kubernetes
+name: log
+version: 0.1.0
diff --git a/kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml b/kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml
new file mode 100644 (file)
index 0000000..de92a58
--- /dev/null
@@ -0,0 +1,140 @@
+# ======================== Elasticsearch Configuration =========================
+#
+# NOTE: Elasticsearch comes with reasonable defaults for most settings.
+#       Before you set out to tweak and tune the configuration, make sure you
+#       understand what are you trying to accomplish and the consequences.
+#
+# The primary way of configuring a node is via this file. This template lists
+# the most important settings you may want to configure for a production cluster.
+#
+# Please consult the documentation for further information on configuration options:
+# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
+#
+# ---------------------------------- Cluster -----------------------------------
+#
+# Name of the Elasticsearch cluster.
+# A node can only join a cluster when it shares its cluster.name with all the other nodes in the cluster. 
+# The default name is elasticsearch, but you should change it to an appropriate name which describes the 
+# purpose of the cluster. 
+#
+cluster.name: "onap-log" 
+#
+# The port that other nodes in the cluster should use when communicating with this node. 
+# Required for Elasticsearch's nodes running on different cluster nodes.
+# More : https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-transport.html
+transport.publish_port:$transport.publish_port
+#
+# The host address to publish for nodes in the cluster to connect to.
+# Required for Elasticsearch's nodes running on different cluster nodes.
+# More : https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-transport.html
+transport.publish_host:$transport.publish_host
+#
+# ------------------------------------ Node ------------------------------------
+#
+# It is better to provide different meaningfull names fot different elastic nodes.
+# By default, Elasticsearch will take the 7 first character of the randomly generated uuid used as the node id. 
+# Note that the node id is persisted and does not change when a node restarts
+#
+#node.name: $node.name
+#
+# Add custom attributes to the node:
+#
+#node.attr.rack: r1
+#
+# ----------------------------------- Paths ------------------------------------
+#
+# The location of the data files of each index / shard allocated on the node. Can hold multiple locations separated by coma.
+# In production, we should not keep this default to "/elasticsearch/data", as on upgrading Elasticsearch, directory structure 
+# may change & can deal to data loss.
+path.data: /usr/share/elasticsearch/data
+#
+# Elasticsearch's log files location. In production, we should not keep this default to "/elasticsearch/logs", 
+# as on upgrading Elasticsearch, directory structure may change.
+path.logs: /usr/share/elasticsearch/logs
+#
+# ----------------------------------- Memory -----------------------------------
+#
+# It is vitally important to the health of your node that none of the JVM is ever swapped out to disk. 
+# Lock the memory on startup.
+#
+bootstrap.memory_lock: true
+#
+# Make sure that the heap size is set to about half the memory available
+# on the system and that the owner of the process is allowed to use this
+# limit.
+#
+# Elasticsearch performs poorly when the system is swapping the memory.
+#
+# ---------------------------------- Network -----------------------------------
+#
+# Set the bind address to a specific IP (IPv4 or IPv6):
+# In order to communicate and to form a cluster with nodes on other servers, your node will need to bind to a 
+# non-loopback address. 
+network.host: 0.0.0.0
+#
+# Set a custom port for HTTP: If required, default is 9200-9300
+#
+#http.port: $http.port
+#
+# For more information, consult the network module documentation.
+#
+# --------------------------------- Discovery ----------------------------------
+#
+# Pass an initial list of hosts to perform discovery when new node is started:
+# To form a cluster with nodes on other servers, you have to provide a seed list of other nodes in the cluster 
+# that are likely to be live and contactable. 
+# By default, Elasticsearch will bind to the available loopback addresses and will scan ports 9300 to 9305 to try 
+# to connect to other nodes running on the same server.
+#
+discovery.zen.ping.unicast.hosts: ["elasticsearch.onap-log"]
+#$discovery.zen.ping.unicast.hosts
+#
+# This setting tells Elasticsearch to not elect a master unless there are enough master-eligible nodes  
+# available. Only then will an election take place.
+# Prevent the "split brain" by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):
+discovery.zen.minimum_master_nodes: 1 
+#
+# For more information, consult the zen discovery module documentation.
+#
+# ---------------------------------- Gateway -----------------------------------
+#
+# Block initial recovery after a full cluster restart until N nodes are started:
+#
+#gateway.recover_after_nodes: 3
+#
+# For more information, consult the gateway module documentation.
+#
+# ---------------------------------- Various -----------------------------------
+#
+# Require explicit names when deleting indices:
+#
+#action.destructive_requires_name: true
+# Set a custom port for HTTP: If required, default is 9200-9300
+# This is used for REST APIs
+http.port: 9200
+# Port to bind for communication between nodes. Accepts a single value or a range. 
+# If a range is specified, the node will bind to the first available port in the range.
+# Defaults to 9300-9400.
+# More info: 
+transport.tcp.port: 9300
+
+xpack.graph.enabled: false
+#Set to false to disable X-Pack graph features.
+
+xpack.ml.enabled: false
+#Set to false to disable X-Pack machine learning features.
+
+xpack.monitoring.enabled: false
+#Set to false to disable X-Pack monitoring features.
+
+xpack.reporting.enabled: false
+#Set to false to disable X-Pack reporting features.
+
+xpack.security.enabled: false
+#Set to false to disable X-Pack security features.
+
+xpack.watcher.enabled: false
+#Set to false to disable Watcher.
+
+index.number_of_replicas: 0
+
diff --git a/kubernetes/log/resources/kibana/conf/kibana.yml b/kubernetes/log/resources/kibana/conf/kibana.yml
new file mode 100644 (file)
index 0000000..0f72daa
--- /dev/null
@@ -0,0 +1,116 @@
+xpack.graph.enabled: false
+#Set to false to disable X-Pack graph features.
+xpack.ml.enabled: false
+#Set to false to disable X-Pack machine learning features.
+xpack.monitoring.enabled: false
+#Set to false to disable X-Pack monitoring features.
+xpack.reporting.enabled: false
+#Set to false to disable X-Pack reporting features.
+xpack.security.enabled: false
+#Set to false to disable X-Pack security features.
+xpack.watcher.enabled: false
+#Set to false to disable Watcher.
+# Kibana is served by a back end server. This setting specifies the port to use.
+server.port: 5601
+
+# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
+# The default is 'localhost', which usually means remote machines will not be able to connect.
+# To allow connections from remote users, set this parameter to a non-loopback address.
+server.host: "0"
+
+# Enables you to specify a path to mount Kibana at if you are running behind a proxy. This only affects
+# the URLs generated by Kibana, your proxy is expected to remove the basePath value before forwarding requests
+# to Kibana. This setting cannot end in a slash.
+#server.basePath: ""
+
+# The maximum payload size in bytes for incoming server requests.
+#server.maxPayloadBytes: 1048576
+
+# The Kibana server's name.  This is used for display purposes.
+server.name: "Kibana"
+
+# The URL of the Elasticsearch instance to use for all your queries.
+elasticsearch.url: "http://elasticsearch.onap-log:9200"
+#elasticsearch-service.onap-log:9200"
+#elasticsearch.url: "http://10.247.47.3:9200"
+# When this setting's value is true Kibana uses the hostname specified in the server.host
+# setting. When the value of this setting is false, Kibana uses the hostname of the host
+# that connects to this Kibana instance.
+#elasticsearch.preserveHost: true
+
+# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
+# dashboards. Kibana creates a new index if the index doesn't already exist.
+#kibana.index: ".kibana"
+
+# The default application to load.
+#kibana.defaultAppId: "discover"
+
+# If your Elasticsearch is protected with basic authentication, these settings provide
+# the username and password that the Kibana server uses to perform maintenance on the Kibana
+# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
+# is proxied through the Kibana server.
+elasticsearch.username: "elastic"
+elasticsearch.password: "changeme"
+# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively.
+# These settings enable SSL for outgoing requests from the Kibana server to the browser.
+#server.ssl.enabled: $server_ssl_enabled
+#server.ssl.certificate: $server_ssl_certificate
+#server.ssl.key: $server_ssl_key
+
+# Optional settings that provide the paths to the PEM-format SSL certificate and key files.
+# These files validate that your Elasticsearch backend uses the same key files.
+#elasticsearch.ssl.certificate: $elasticsearch_ssl_certificate
+#elasticsearch.ssl.key: $elasticsearch_ssl_key
+
+# Optional setting that enables you to specify a path to the PEM file for the certificate
+# authority for your Elasticsearch instance.
+#elasticsearch.ssl.certificateAuthorities: $elasticsearch_ssl_certificateAuthorities
+
+# To disregard the validity of SSL certificates, change this setting's value to 'none'.
+#elasticsearch.ssl.verificationMode: $elasticsearch_ssl_verificationMode
+
+# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
+# the elasticsearch.requestTimeout setting.
+#elasticsearch.pingTimeout: 1500
+
+# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
+# must be a positive integer.
+#elasticsearch.requestTimeout: 30000
+
+# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side
+# headers, set this value to [] (an empty list).
+#elasticsearch.requestHeadersWhitelist: [ authorization ]
+
+# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
+# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
+#elasticsearch.customHeaders: {}
+
+# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
+#elasticsearch.shardTimeout: 0
+
+# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying.
+#elasticsearch.startupTimeout: 5000
+
+# Specifies the path where Kibana creates the process ID file.
+#pid.file: /var/run/kibana.pid
+
+# Enables you specify a file where Kibana stores log output.
+#logging.dest: stdout
+
+# Set the value of this setting to true to suppress all logging output.
+#logging.silent: false
+
+# Set the value of this setting to true to suppress all logging output other than error messages.
+#logging.quiet: false
+
+# Set the value of this setting to true to log all events, including system usage information
+# and all requests.
+#logging.verbose: false
+
+# Set the interval in milliseconds to sample system and process performance
+# metrics. Minimum is 100ms. Defaults to 5000.
+#ops.interval: 5000
+
+# The default locale. This locale can be used in certain circumstances to substitute any missing
+# translations.
+#i18n.defaultLocale: "en"
diff --git a/kubernetes/log/resources/logstash/conf/logstash.yml b/kubernetes/log/resources/logstash/conf/logstash.yml
new file mode 100644 (file)
index 0000000..f658006
--- /dev/null
@@ -0,0 +1,16 @@
+http.host: "0.0.0.0"
+## Path where pipeline configurations reside
+path.config: /usr/share/logstash/pipeline
+## Type of queue : memeory based or file based
+#queue.type: persisted
+## Size of queue
+#queue.max_bytes: 1024mb
+## Setting true makes logstash check periodically for change in pipeline configurations
+config.reload.automatic: true
+  
+## xpack configurations
+#xpack.monitoring.elasticsearch.url: ["http://10.247.186.12:9200", "http://10.247.186.13:9200"]
+#xpack.monitoring.elasticsearch.username: elastic
+#xpack.monitoring.elasticsearch.password: changeme
+xpack.monitoring.enabled: false
diff --git a/kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf b/kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf
new file mode 100644 (file)
index 0000000..1a46375
--- /dev/null
@@ -0,0 +1,204 @@
+input {
+ beats {
+
+ ## Add a id to plugin configuration. Can be anything unique.
+ id => 'beats_plugin'
+
+ ######## Connection configurations ########
+
+ ## The port to listen on.
+ port => 5044
+
+ ## Close Idle clients after the specified time in seconds. Default is 60 seconds
+ #client_inactivity_timeout => 60
+
+ ######## Security configurations ########
+
+ ## Enable encryption. Default false.
+ #ssl => $filebeat_ssl
+
+ ## ssl certificate path.
+ #ssl_certificate => $filebeat_ssl_certificate
+
+ ## SSL key to use.
+ #ssl_key => $filebeat_ssl_key
+
+ ##SSL key passphrase to use.
+ #ssl_key_passphrase => $filebeat_ssl_key_passphrase
+
+ ## Value can be any of: none, peer, force_peer.
+ #ssl_verify_mode => $filebeat_ssl_verify_mode
+
+ ## Time in milliseconds for an incomplete ssl handshake to timeout. Default is 10000 ms.
+ #ssl_handshake_timeout => 10000
+ include_codec_tag => false
+ }
+}
+
+
+filter {
+ # Filter for log4j xml events
+ if "</log4j:event>" in [message] {
+   #Filter to parse xml event and retrieve data
+   xml {
+     source => "message"
+     store_xml => false
+     remove_namespaces => true
+     target => "xml_content"
+     xpath => [ "/event/message/text()", "logmsg" ,
+                "/event/@logger", "Logger",
+                "/event/@timestamp", "Timestamp",
+                "/event/@level", "loglevel",
+                "/event/@thread", "Thread",
+                "/event/throwable/text()", "Exceptionthrowable",
+                "/event/NDC/text()", "NDCs",
+                "/event/properties/data/@name","mdcname",
+                "/event/properties/data/@value","mdcvalue"]
+
+    }
+
+   #Ruby filter to iterate and separate MDCs into documents
+   ruby {
+     code => '
+       $i = 0
+       $num = 0
+       if event.get("[mdcname]")
+         $num = event.get("[mdcname]").length
+       end
+          if $num != 0
+        until $i > $num do
+         if event.get("[mdcname]").at($i) and event.get("[mdcvalue]").at($i)
+            event.set(event.get("[mdcname]").at($i), event.get("[mdcvalue]").at($i))
+         end
+         $i=$i+1
+        end
+          end
+          '
+    }
+
+   #Validations
+   if [Exceptionthrowable]
+   {
+      mutate {
+        replace => {
+           "exceptionmessage" => "%{[Exceptionthrowable]}"
+        }
+      }
+    }
+
+   if [NDCs]
+   {
+      mutate {
+        replace => {
+          "NDC" => "%{[NDCs]}"
+        }
+      }
+   }
+
+   mutate {
+     replace => {
+        "Logger" =>"%{[Logger]}"
+        "logmsg" =>"%{[logmsg]}"
+        "Timestamp" =>"%{[Timestamp]}"
+        "loglevel" =>"%{[loglevel]}"
+        "message" => "%{logmsg}"
+        "Thread" => "%{[Thread]}"
+     }
+     remove_field => ["mdcname", "mdcvalue", "logmsg","Exceptionthrowable","NDCs"]
+   }
+
+   if [Timestamp]
+   {
+     date {
+        match => ["Timestamp", "UNIX_MS"]
+        target => "Timestamp"
+     }
+   }
+ }
+ # Filter for logback events
+ else {
+  mutate {
+    gsub => [
+      'message', '= ', '=null',
+      'message', '=\t', '=null ', #This null is followed by a tab
+      'message', '\t$', '\t'
+    ]
+  }
+  kv {
+    field_split => "\t"
+    trim_key => "\s"
+    trim_value => "\s"
+  }
+  grok {
+    break_on_match => false
+    match => {
+      "message" => "%{TIMESTAMP_ISO8601:Timestamp}\t%{GREEDYDATA:Thread}\t%{SPACE}%{LOGLEVEL:loglevel}%{SPACE}\t%{JAVACLASS:Logger}\t(?:[^\t]+\t)*%{GREEDYDATA:message}"
+    }
+    overwrite => ["message"]
+  }
+ }
+}
+
+
+output {
+ elasticsearch {
+ id => 'onap_es'
+
+ ######### Security configurations #########
+
+ user => "elastic"
+ password => "changeme"
+
+ ## The .cer or .pem file to validate the server’s certificate
+ #cacert => $es_cacert
+
+ ## The keystore used to present a certificate to the server. It can be either .jks or .p12
+ #keystore => $es_keystore
+ #keystore_password => $es_keystore_password
+
+ ## Enable SSL/TLS secured communication to Elasticsearch cluster.
+ ## Default is not set which in that case depends on the protocol specidfied in hosts list
+ #ssl => $es_ssl
+
+ ## Option to validate the server’s certificate. Default is true
+ #ssl_certificate_verification => $es_ssl_certificate_verification
+
+ ## The JKS truststore to validate the server’s certificate.
+ #truststore => $es_truststore
+ #truststore_password => $es_truststore_password
+
+
+ ######### Elasticsearchcluster and host configurations #########
+
+#can specify one or a list of hosts. If sniffing is set, one is enough and others will be auto-discovered
+##Also protocol can be specified like ["http://10.247.186.12:9200"]
+ hosts => ["http://elasticsearch.onap-log:9200"]
+
+
+ ## This setting asks Elasticsearch for the list of all cluster nodes and adds them to the hosts list. Default is false.
+ sniffing => true
+
+ ## How long to wait, in seconds, between sniffing attempts. Default is 5 seconds.
+ #sniffing_delay => 5
+
+ ## Set the address of a forward HTTP proxy.
+ #proxy => $es_proxy
+
+ ##Use this if you must run Elasticsearch behind a proxy that remaps the root path for the Elasticsearch HTTP API lives
+ #path => $es_path
+
+ ######### Elasticsearch request configurations #########
+
+ ## This setting defines the maximum sized bulk request Logstash will make.
+ #flush_size => ?
+
+ ######### Document configurations #########
+
+ index => "onaplogs-%{+YYYY.MM.dd}"
+ document_type => "logs"
+
+ ## This can be used to associate child documents with a parent using the parent ID.
+ #parent => "abcd'
+ }
+}
+
diff --git a/kubernetes/log/templates/all-services.yaml b/kubernetes/log/templates/all-services.yaml
new file mode 100644 (file)
index 0000000..5f9412e
--- /dev/null
@@ -0,0 +1,49 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: elasticsearch
+  name: elasticsearch
+  namespace: {{ .Values.nsPrefix }}-log
+spec:
+  ports:
+  - name: http
+    port: 9200
+    targetPort: 9200
+    nodePort: {{ .Values.nodePortPrefix }}54
+  selector:
+    app: elasticsearch
+  type: NodePort
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: logstash
+  namespace: {{ .Values.nsPrefix }}-log
+  labels:
+    app: logstash
+spec:
+  ports:
+  - name: transport
+    port: 5044
+    targetPort: 5044
+  selector:
+    app: logstash
+---
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: kibana
+  name: kibana
+  namespace: {{ .Values.nsPrefix }}-log
+spec:
+  ports:
+  - name: tcp-ks
+    port: 5601
+    targetPort: 5601
+    nodePort: {{ .Values.nodePortPrefix }}53
+  selector:
+    app: kibana
+  type: NodePort
+
diff --git a/kubernetes/log/templates/elasticsearch-deployment.yaml b/kubernetes/log/templates/elasticsearch-deployment.yaml
new file mode 100644 (file)
index 0000000..75df8a1
--- /dev/null
@@ -0,0 +1,81 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  labels:
+    app: elasticsearch
+  name: elasticsearch
+  namespace: {{ .Values.nsPrefix }}-log
+spec:
+  selector:
+    matchLabels:
+      app: elasticsearch
+  template:
+    metadata:
+      labels:
+        app: elasticsearch
+      name: elasticsearch
+      annotations:
+        pod.beta.kubernetes.io/init-containers: '[
+          {
+              "command": ["sysctl", "-w", "vm.max_map_count=262144"],
+              "env": [
+                  {
+                      "name": "NAMESPACE",
+                      "valueFrom": {
+                          "fieldRef": {
+                              "apiVersion": "v1",
+                              "fieldPath": "metadata.namespace"
+                          }
+                      }
+                  }
+              ],
+              "securityContext": {
+                "privileged": true
+              },
+              "image": "{{ .Values.image.es_bb }}",
+              "imagePullPolicy": "{{ .Values.pullPolicy }}",
+              "name": "init-sysctl"
+          }
+          ]'
+    spec:
+      containers:
+      - name: elasticsearch
+        image: {{ .Values.image.elasticsearch}}
+        ports:
+        - containerPort: 9200
+          name: http
+          protocol: TCP
+        - containerPort: 9300
+          name: transport
+          protocol: TCP
+        readinessProbe:
+          tcpSocket:
+            port: 9200
+        volumeMounts:
+         - mountPath: /usr/share/elasticsearch/conf/
+           name: elasticsearch-conf
+         - mountPath: /usr/share/elasticsearch/data/
+           name: elasticsearch-data
+         - mountPath: /usr/share/elasticsearch/logs/
+           name: elasticsearch-logs
+      volumes:
+        - name: elasticsearch-data
+          persistentVolumeClaim:
+            claimName: elasticsearch-db
+        - name: elasticsearch-logs
+          hostPath:
+            path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/elasticsearch/logs
+        - name: elasticsearch-conf
+          configMap:
+            name: elasticsearch-configmap
+            items:
+            - key: elasticsearch.yml
+              path: elasticsearch.yml
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: elasticsearch-configmap
+  namespace: {{ .Values.nsPrefix }}-log
+data:
+{{ (.Files.Glob "resources/elasticsearch/conf/elasticsearch.yml").AsConfig | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/log/templates/kibana-deployment.yaml b/kubernetes/log/templates/kibana-deployment.yaml
new file mode 100644 (file)
index 0000000..f8070ef
--- /dev/null
@@ -0,0 +1,71 @@
+apiVersion: extensions/v1beta1 
+kind: Deployment
+metadata:
+  labels:
+    app: kibana
+  name: kibana
+  namespace: {{ .Values.nsPrefix }}-log
+spec:
+  selector:
+    matchLabels:
+      app: kibana
+  template:
+    metadata:
+      labels:
+        app: kibana
+      name: kibana
+      annotations:
+        pod.beta.kubernetes.io/init-containers: '[
+          {
+              "args": [
+                  "--container-name",
+                  "elasticsearch"
+              ],
+              "command": [
+                  "/root/ready.py"
+              ],
+              "env": [
+                  {
+                      "name": "NAMESPACE",
+                      "valueFrom": {
+                          "fieldRef": {
+                              "apiVersion": "v1",
+                              "fieldPath": "metadata.namespace"
+                          }
+                      }
+                  }
+              ],
+              "image": "{{ .Values.image.readiness }}",
+              "imagePullPolicy": "{{ .Values.pullPolicy }}",
+              "name": "kibana-readiness"
+          }
+          ]'
+    spec:
+      containers:
+      - name: kibana
+        image: {{ .Values.image.kibana }}
+        ports:
+        - containerPort: 5601
+          name: http
+          protocol: TCP
+        readinessProbe:
+          tcpSocket:
+            port: 5601
+        volumeMounts:
+         - name: kibana-conf
+           mountPath: /usr/share/kibana/config/      
+      volumes:
+        - name: kibana-conf
+          configMap:
+            name: kibana-configmap
+            items:
+            - key: kibana.yml
+              path: kibana.yml
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: kibana-configmap
+  namespace: {{ .Values.nsPrefix }}-log
+data:
+{{ (.Files.Glob "resources/kibana/conf/kibana.yml").AsConfig | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/log/templates/log-pv-pvc.yaml b/kubernetes/log/templates/log-pv-pvc.yaml
new file mode 100644 (file)
index 0000000..7e51e4c
--- /dev/null
@@ -0,0 +1,30 @@
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+  name: elasticsearch-db
+  namespace: "{{ .Values.nsPrefix }}-log"
+  labels:
+    name: elasticsearch-db
+spec:
+  capacity:
+    storage: 2Gi
+  accessModes:
+    - ReadWriteMany
+  persistentVolumeReclaimPolicy: Retain
+  hostPath:
+    path: /dockerdata-nfs/{{ .Values.nsPrefix }}/elasticsearch/data
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: elasticsearch-db
+  namespace: "{{ .Values.nsPrefix }}-log"
+spec:
+  accessModes:
+    - ReadWriteMany
+  resources:
+    requests:
+      storage: 2Gi
+  selector:
+    matchLabels:
+      name: elasticsearch-db
diff --git a/kubernetes/log/templates/logstash-deployment.yaml b/kubernetes/log/templates/logstash-deployment.yaml
new file mode 100644 (file)
index 0000000..23d5906
--- /dev/null
@@ -0,0 +1,82 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  labels:
+    app: logstash
+  name: logstash
+  namespace: {{ .Values.nsPrefix }}-log 
+spec:
+  selector:
+    matchLabels:
+      app: logstash
+  template:
+    metadata:
+      labels:
+        app: logstash
+      name: logstash
+      annotations:
+        pod.beta.kubernetes.io/init-containers: '[
+          {
+              "args": [
+                  "--container-name",
+                  "elasticsearch"
+              ],
+              "command": [
+                  "/root/ready.py"
+              ],
+              "env": [
+                  {
+                      "name": "NAMESPACE",
+                      "valueFrom": {
+                          "fieldRef": {
+                              "apiVersion": "v1",
+                              "fieldPath": "metadata.namespace"
+                          }
+                      }
+                  }
+              ],
+              "image": "{{ .Values.image.readiness }}",
+              "imagePullPolicy": "{{ .Values.pullPolicy }}",
+              "name": "logstash-readiness"
+          }
+          ]'
+
+    spec:
+      containers:
+      - name: logstash
+        image: {{ .Values.image.logstash }}
+        ports:
+        - containerPort: 5044 
+          name: transport
+          protocol: TCP
+        readinessProbe:
+          tcpSocket:
+            port: 5044
+        volumeMounts:
+         - mountPath: /usr/share/logstash/config/
+           name: logstash-conf
+         - mountPath: /usr/share/logstash/pipeline/
+           name: logstash-pipeline
+      volumes:
+        - name: logstash-conf
+          configMap:
+            name: logstash-configmap
+            items:
+            - key: logstash.yml
+              path: logstash.yml
+        - name: logstash-pipeline
+          configMap:
+            name: logstash-configmap
+            items:
+            - key: onap-pipeline.conf
+              path: onap-pipeline.conf
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: logstash-configmap
+  namespace: {{ .Values.nsPrefix }}-log
+data:
+{{ (.Files.Glob "resources/logstash/conf/logstash.yml").AsConfig | indent 2 }}
+{{ (.Files.Glob "resources/logstash/pipeline/onap-pipeline.conf").AsConfig | indent 2 }}
diff --git a/kubernetes/log/values.yaml b/kubernetes/log/values.yaml
new file mode 100644 (file)
index 0000000..0441830
--- /dev/null
@@ -0,0 +1,10 @@
+nsPrefix: onap
+pullPolicy: Always 
+nodePortPrefix: 302
+image:
+  readiness: oomk8s/readiness-check:1.0.0
+  logstash: docker.elastic.co/logstash/logstash:5.4.3
+  kibana: docker.elastic.co/kibana/kibana:5.5.0
+  elasticsearch: docker.elastic.co/elasticsearch/elasticsearch:5.5.0
+  es_bb: busybox
+
index 4b0d940..f39b555 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-HELM_APPS=('mso' 'message-router' 'sdnc' 'vid' 'robot' 'portal' 'policy' 'appc' 'aai' 'sdc' 'dcae')
+HELM_APPS=('mso' 'message-router' 'sdnc' 'vid' 'robot' 'portal' 'policy' 'appc' 'aai' 'sdc' 'dcae' 'log')
 ONAP_DOCKER_REGISTRY=${ONAP_DOCKER_REGISTRY:-nexus3.onap.org:10001}
 ONAP_DOCKER_USER=${ONAP_DOCKER_USER:-docker}
 ONAP_DOCKER_PASS=${ONAP_DOCKER_PASS:-docker}