From d87e8b869b03cf85dcebc3d817f64d265b9ba98d Mon Sep 17 00:00:00 2001
From: LiZi
Date: Wed, 14 Mar 2018 22:07:08 -0400
Subject: 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
---
kubernetes/esr/Chart.yaml | 2 +-
.../esr/resources/config/log/esrserver/logback.xml | 27 ++++++++++++++
.../esr/resources/config/log/filebeat/filebeat.yml | 42 ++++++++++++++++++++++
.../esr/templates/esr-esrserver-deployment.yaml | 34 +++++++++++++++---
.../esr/templates/esr-filebeat-configmap.yaml | 9 +++++
.../esr/templates/esr-server-log-configmap.yaml | 9 +++++
kubernetes/esr/values.yaml | 2 ++
7 files changed, 120 insertions(+), 5 deletions(-)
create mode 100644 kubernetes/esr/resources/config/log/esrserver/logback.xml
create mode 100644 kubernetes/esr/resources/config/log/filebeat/filebeat.yml
create mode 100644 kubernetes/esr/templates/esr-filebeat-configmap.yaml
create mode 100644 kubernetes/esr/templates/esr-server-log-configmap.yaml
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${pattern}
+
+
\ 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
--
cgit 1.2.3-korg