diff --git a/README.md b/README.md index 1156d24..ea04f5c 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,27 @@ For Amazon For Azure `helm install openstudio-server ./openstudio-server --set provider.name=azure` +## Installing optional logging stack + +The helm chart contains optional subcharts for advanced logging features. This includes the Elastic logging stack with a GUI dashboard called Kibana. It allows users to access the web GUI Kibana and investigate container logs and resource consumption such as cpu, memory, disk utilization, network I/O. To enable this optional logging feature, first you will need to install the dependencies (command below starting in the root of the repo) + +```bash +cd openstudio-server +helm repo add elastic https://helm.elastic.co +helm dependency update +``` + +Once the dependencies ares installed, pass in the optional arg `tags.log_stack=true` to helm (examples below) to enable this feature. + +For Google +`helm install openstudio-server ./openstudio-server --set provider.name=google--set tags.log_stack=true` + +For Amazon +`helm install openstudio-server ./openstudio-server --set provider.name=aws --set tags.log_stack=true` + +For Azure +`helm install openstudio-server ./openstudio-server --set provider.name=azure --set tags.log_stack=true` + ## Uninstalling the Chart To uninstall/delete the `openstudio-server` helm chart: diff --git a/openstudio-server/Chart.yaml b/openstudio-server/Chart.yaml index 0297a39..3c92187 100644 --- a/openstudio-server/Chart.yaml +++ b/openstudio-server/Chart.yaml @@ -28,3 +28,24 @@ appVersion: 3.3.0 # - name: nfs-server-provisioner # version: 1.0.0 # repository: "@stable" +dependencies: + - name: elasticsearch + version: 7.16.3 + repository: https://helm.elastic.co + tags: + - log_stack + - name: filebeat + version: 7.16.3 + repository: https://helm.elastic.co + tags: + - log_stack + - name: kibana + version: 7.16.3 + repository: https://helm.elastic.co + tags: + - log_stack + - name: metricbeat + version: 7.16.3 + repository: https://helm.elastic.co + tags: + - log_stack diff --git a/openstudio-server/templates/loadbalancer/loadbalancer.yaml b/openstudio-server/templates/loadbalancer/loadbalancer.yaml index 1e76125..90d9fae 100644 --- a/openstudio-server/templates/loadbalancer/loadbalancer.yaml +++ b/openstudio-server/templates/loadbalancer/loadbalancer.yaml @@ -15,4 +15,9 @@ spec: - name: {{ .Values.load_balancer.ports.https_name }} protocol: {{ .Values.load_balancer.ports.https_protocol }} port: {{ .Values.load_balancer.ports.https_port }} + - name: {{ .Values.load_balancer.ports.kibana_name }} + protocol: {{ .Values.load_balancer.ports.kibana_protocol }} + port: {{ .Values.load_balancer.ports.kibana_port }} + + diff --git a/openstudio-server/values.yaml b/openstudio-server/values.yaml index 2100c61..49f7002 100644 --- a/openstudio-server/values.yaml +++ b/openstudio-server/values.yaml @@ -7,6 +7,9 @@ provider: name: "" +tags: + log_stack: false + cluster: name: "openstudio-server" @@ -55,6 +58,33 @@ load_balancer: https_name: "https" https_port: 443 https_protocol: "TCP" + kibana_name: "kibana" + kibana_port: 5601 + kibana_protocol: "TCP" + loadBalancerSourceRanges: 0.0.0.0/0 + + +elastic_job: + name: "elastic-job" + label: "elastic-job" + container: + name: "elastic-job" + image: "elasticdump/elasticsearch-dump" + resources: + limits: + cpu: 0.25 + memory: "512Mi" + requests: + cpu: 0.1 + memory: "256Mi" + +elasticsearch: + replicas: 1 + persistence: + enabled: true + esConfig: + elasticsearch.yml: | + xpack.security.enabled: false nfs: name: "nfs"