diff options
author | LiZi <li.zi30@zte.com.cn> | 2018-03-14 22:07:08 -0400 |
---|---|---|
committer | LiZi <li.zi30@zte.com.cn> | 2018-03-18 21:11:11 -0400 |
commit | d87e8b869b03cf85dcebc3d817f64d265b9ba98d (patch) | |
tree | d7fd08ad160ebcfe6d516b9eb7a85769259cf309 | |
parent | 0947cdf7e780641e1604ef3752483fa4d29efb3e (diff) |
Add a filebeat container together with esr-server
With this modification, the log of esr-server will be in filebeat.
Change-Id: I647fc665ed383b58c14a34d6598e41cd6842b1ec
Issue-ID: AAI-756
Signed-off-by: LiZi <li.zi30@zte.com.cn>
-rw-r--r-- | kubernetes/esr/Chart.yaml | 2 | ||||
-rw-r--r-- | kubernetes/esr/resources/config/log/esrserver/logback.xml | 27 | ||||
-rw-r--r-- | kubernetes/esr/resources/config/log/filebeat/filebeat.yml | 42 | ||||
-rw-r--r-- | kubernetes/esr/templates/esr-esrserver-deployment.yaml | 34 | ||||
-rw-r--r-- | kubernetes/esr/templates/esr-filebeat-configmap.yaml | 9 | ||||
-rw-r--r-- | kubernetes/esr/templates/esr-server-log-configmap.yaml | 9 | ||||
-rw-r--r-- | kubernetes/esr/values.yaml | 2 |
7 files changed, 120 insertions, 5 deletions
diff --git a/kubernetes/esr/Chart.yaml b/kubernetes/esr/Chart.yaml index 8f55bd69a8..2df1530e48 100644 --- a/kubernetes/esr/Chart.yaml +++ b/kubernetes/esr/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v1 description: A Helm chart for Kubernetes name: esr -version: 1.1.0 +version: v1.0.0 diff --git a/kubernetes/esr/resources/config/log/esrserver/logback.xml b/kubernetes/esr/resources/config/log/esrserver/logback.xml new file mode 100644 index 0000000000..8b2c31052e --- /dev/null +++ b/kubernetes/esr/resources/config/log/esrserver/logback.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration debug="true" scan="true" scanPeriod="3 seconds"> + <!--<jmxConfigurator /> --> + <!-- specify the base path of the log directory --> + <property name="logDir" value="/var/log/onap" /> + <!-- specify the component name --> + <property name="componentName" value="esr" /> + <!-- specify the sub component name --> + <property name="subComponentName" value="xacml-pap-rest" /> + <!-- The directories where logs are written --> + <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" /> + <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" /> + <!-- log file names --> + <property name="errorLogName" value="error" /> + <property name="metricsLogName" value="metrics" /> + <property name="auditLogName" value="audit" /> + <property name="debugLogName" value="debug" /> + <property name="queueSize" value="256" /> + <property name="maxFileSize" value="50MB" /> + <property name="maxHistory" value="30" /> + <property name="totalSizeCap" value="10GB" /> + <!-- Example evaluator filter applied against console appender --> + <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT"> + <encoder> + <pattern>${pattern}</pattern> + </encoder> + </appender>
\ No newline at end of file diff --git a/kubernetes/esr/resources/config/log/filebeat/filebeat.yml b/kubernetes/esr/resources/config/log/filebeat/filebeat.yml new file mode 100644 index 0000000000..16c7943beb --- /dev/null +++ b/kubernetes/esr/resources/config/log/filebeat/filebeat.yml @@ -0,0 +1,42 @@ +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: + - /home/esr/works/logs/*.log +# - /var/log/onap/*/*/*/*.log +# - /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.{{.Values.nsPrefix}}: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/esr/templates/esr-esrserver-deployment.yaml b/kubernetes/esr/templates/esr-esrserver-deployment.yaml index 386d4014e4..a591a7e04c 100644 --- a/kubernetes/esr/templates/esr-esrserver-deployment.yaml +++ b/kubernetes/esr/templates/esr-esrserver-deployment.yaml @@ -17,12 +17,18 @@ spec: name: esr-esrserver spec: containers: - - image: {{ .Values.esrserver.image }} + - name: esr-esrserver + image: {{ .Values.esrserver.image }} imagePullPolicy: {{ .Values.pullPolicy }} - name: esr-esrserver env: - name: MSB_ADDR value: {{ tpl .Values.msbaddr . }} + volumeMounts: + - name: localtime + mountPath: /etc/localtime + readOnly: true + - mountPath: /home/esr/works/logs + name: esr-server-logs ports: - containerPort: {{ .Values.esrserver.port }} readinessProbe: @@ -30,6 +36,26 @@ spec: port: {{ .Values.esrserver.port }} initialDelaySeconds: 5 periodSeconds: 10 - imagePullSecrets: - - name: "{{ .Values.nsPrefix }}-docker-registry-key" + - name: filebeat-onap-esr-server + image: {{ .Values.filebeat.image }} + imagePullPolicy: {{ .Values.pullPolicy }} + volumeMounts: + - mountPath: /usr/share/filebeat/filebeat.yml + subPath: filebeat.yml + name: filebeat-conf + - mountPath: /home/esr/works/logs + name: esr-server-logs + - mountPath: /usr/share/filebeat/data + name: esr-server-filebeat + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: filebeat-conf + configMap: + name: esr-filebeat-configmap + - name: esr-server-logs + emptyDir: {} + - name: esr-server-filebeat + emptyDir: {} #{{ end }} diff --git a/kubernetes/esr/templates/esr-filebeat-configmap.yaml b/kubernetes/esr/templates/esr-filebeat-configmap.yaml new file mode 100644 index 0000000000..4bee5d16ce --- /dev/null +++ b/kubernetes/esr/templates/esr-filebeat-configmap.yaml @@ -0,0 +1,9 @@ +#{{ if not .Values.disableAaiAaiResources }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: esr-filebeat-configmap + namespace: {{ .Values.nsPrefix }} +data: +{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }} +#{{ end }} diff --git a/kubernetes/esr/templates/esr-server-log-configmap.yaml b/kubernetes/esr/templates/esr-server-log-configmap.yaml new file mode 100644 index 0000000000..3b94168515 --- /dev/null +++ b/kubernetes/esr/templates/esr-server-log-configmap.yaml @@ -0,0 +1,9 @@ +#{{ if not .Values.disableAaiAaiResources }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: esr-esrserver-log-configmap + namespace: {{ .Values.nsPrefix }} +data: +{{ tpl (.Files.Glob "resources/config/log/esrserver/logback.xml").AsConfig . | indent 2 }} +#{{ end }} diff --git a/kubernetes/esr/values.yaml b/kubernetes/esr/values.yaml index b942672dfb..85b34ac36a 100644 --- a/kubernetes/esr/values.yaml +++ b/kubernetes/esr/values.yaml @@ -10,3 +10,5 @@ esrgui: image: nexus3.onap.org:10001/onap/aai/esr-gui:v1.0.0 port: 8080 replicas: 1 +filebeat: + image: docker.elastic.co/beats/filebeat:5.5.0 |