monitor-armada-app/stx-monitor-helm/stx-monitor-helm/manifests/monitor_manifest.yaml

723 lines
17 KiB
YAML

---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: nginx-ingress
data:
chart_name: nginx-ingress
release: nginx-ingress
namespace: monitor
wait:
timeout: 600
labels:
release: mon-nginx-ingress
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release: mon-nginx-ingress
values:
controller:
kind: DaemonSet
daemonset:
useHostPort: false
nodeSelector:
elastic-controller: "enabled"
config:
# https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/
nginx-status-ipv4-whitelist: 0.0.0.0/0
# See https://bugs.launchpad.net/starlingx/+bug/1823803
# Note quotes are necessary.
worker-processes: '1'
scope:
enabled: true
namespace: "monitor"
service:
type: "NodePort"
nodePorts:
http: 31001
livenessProbe:
initialDelaySeconds: 30
readinessProbe:
initialDelaySeconds: 30
defaultBackend:
nodeSelector:
elastic-controller: "enabled"
service:
nodePorts:
http: 31001
livenessProbe:
initialDelaySeconds: 30
readinessProbe:
initialDelaySeconds: 30
source:
type: tar
location: http://172.17.0.1:8080/helm_charts/starlingx/nginx-ingress-1.4.0.tgz
subpath: nginx-ingress
reference: master
dependencies: []
---
schema: armada/Chart/v1
data:
chart_name: elasticsearch-data
dependencies: []
install:
no_hooks: false
namespace: monitor
release: elasticsearch-data
source:
location: http://172.17.0.1:8080/helm_charts/starlingx/elasticsearch-7.4.0.tgz
reference: master
subpath: elasticsearch
type: tar
test:
enabled: false
upgrade:
no_hooks: false
pre:
delete:
- labels:
release: mon-elasticsearch-data
type: job
- labels:
component: test
release: mon-elasticsearch-data
type: pod
values:
clusterName: 'mon-elasticsearch'
nodeGroup: 'data'
roles:
master: 'false'
data: 'true'
ingest: 'false'
replicas: 2
minimumMasterNodes: 1
nodeSelector:
elastic-data: enabled
image: docker.elastic.co/elasticsearch/elasticsearch-oss
imageTag: 7.4.0
esMajorVersion: 7
wait:
labels:
release: mon-elasticsearch-data
timeout: 600
metadata:
name: elasticsearch-data
schema: metadata/Document/v1
---
schema: armada/Chart/v1
data:
chart_name: elasticsearch-client
dependencies: []
install:
no_hooks: false
namespace: monitor
release: elasticsearch-client
source:
location: http://172.17.0.1:8080/helm_charts/starlingx/elasticsearch-7.4.0.tgz
reference: master
subpath: elasticsearch
type: tar
test:
enabled: false
upgrade:
no_hooks: false
pre:
delete:
- labels:
release: mon-elasticsearch-client
type: job
- labels:
component: test
release: mon-elasticsearch-client
type: pod
values:
clusterName: 'mon-elasticsearch'
nodeGroup: 'client'
roles:
master: 'false'
data: 'false'
ingest: 'true'
replicas: 2
minimumMasterNodes: 1
livenessProbe:
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 30
readinessProbe:
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 30
persistence:
enabled: false
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/force-ssl-redirect: 'false'
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/ssl-redirect: 'false'
hosts:
- ''
path: /mon-elasticsearch-client(/|$)(.*)
nodeSelector:
elastic-client: enabled
image: docker.elastic.co/elasticsearch/elasticsearch-oss
imageTag: 7.4.0
esMajorVersion: 7
wait:
labels:
release: mon-elasticsearch-client
timeout: 600
metadata:
name: elasticsearch-client
schema: metadata/Document/v1
---
schema: armada/Chart/v1
data:
chart_name: elasticsearch-master
dependencies: []
install:
no_hooks: false
namespace: monitor
release: elasticsearch-master
source:
location: http://172.17.0.1:8080/helm_charts/starlingx/elasticsearch-7.4.0.tgz
reference: master
subpath: elasticsearch
type: tar
test:
enabled: false
upgrade:
no_hooks: false
pre:
delete:
- labels:
release: mon-elasticsearch-master
type: job
- labels:
component: test
release: mon-elasticsearch-master
type: pod
values:
clusterName: 'mon-elasticsearch'
nodeGroup: 'master'
roles:
master: 'true'
data: 'false'
ingest: 'false'
replicas: 1
minimumMasterNodes: 1
nodeSelector:
elastic-master: enabled
image: docker.elastic.co/elasticsearch/elasticsearch-oss
imageTag: 7.4.0
esMajorVersion: 7
wait:
labels:
release: mon-elasticsearch-master
timeout: 600
metadata:
name: elasticsearch-master
schema: metadata/Document/v1
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: filebeat
data:
chart_name: filebeat
release: filebeat
namespace: monitor
wait:
timeout: 600
labels:
release: mon-filebeat
test:
enabled: false
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release: mon-filebeat
- type: pod
labels:
release: mon-filebeat
component: test
values:
image:
repository: "docker.elastic.co/beats/filebeat-oss"
tag: 7.4.0
config:
output.file:
enabled: false
output.logstash:
enabled: true
hosts: ["mon-logstash:5044"]
output.elasticsearch:
enabled: false
hosts: ["http://mon-elasticsearch-client:9200"]
ilm.pattern: "000001"
index: ${INDEX_NAME}-%{+yyyy.MM.dd}
setup.template:
name: ${INDEX_NAME}
pattern: ${INDEX_PATTERN}
setup.kibana:
# Note port 5601 is default
host: "mon-kibana"
setup.dashboards:
enabled: true
filebeat.autodiscover:
providers:
- type: kubernetes
host: ${NODE_NAME}
hints.enabled: true
# Mount the setup_script to main container for visibility
# even though not used there.
extraVolumeMounts:
- mountPath: /usr/share/filebeat/setup-script.sh
name: setupscript
subPath: setup-script.sh
extraVolumes:
- configMap:
defaultMode: 493
name: mon-filebeat
name: setupscript
tolerations:
- key: "services"
operator: "Equal"
value: "disabled"
effect: "NoExecute"
source:
type: tar
location: http://172.17.0.1:8080/helm_charts/starlingx/filebeat-1.5.1.tgz
subpath: filebeat
reference: master
dependencies: []
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: metricbeat
data:
chart_name: metricbeat
release: metricbeat
namespace: monitor
wait:
timeout: 600
labels:
release: mon-metricbeat
test:
enabled: false
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release: mon-metricbeat
- type: pod
labels:
release: mon-metricbeat
component: test
values:
image:
repository: "docker.elastic.co/beats/metricbeat-oss"
# 7.4.0 is required to monitor elastic
tag: 7.4.0
daemonset:
config:
output.file:
enabled: false
output.logstash:
enabled: true
hosts: ["mon-logstash:5044"]
output.elasticsearch:
# this must be opposite of above output.logstash.enabled
enabled: false
hosts: ["http://mon-elasticsearch-client:9200"]
ilm.pattern: "000001"
index: ${INDEX_NAME}-%{+yyyy.MM.dd}
setup.template:
name: ${INDEX_NAME}
pattern: ${INDEX_PATTERN}
processors:
- add_kubernetes_metadata:
in_cluster: true
setup.kibana:
# for on box kibana, note port 5601 is default
host: "mon-kibana"
setup.dashboards:
enabled: true
metricbeat.autodiscover:
providers:
- type: kubernetes
host: ${NODE_NAME}
hints.enabled: true
tolerations:
- key: "services"
operator: "Equal"
value: "disabled"
effect: "NoExecute"
deployment:
nodeSelector:
elastic-controller: "enabled"
config:
output.file:
enabled: false
output.logstash:
enabled: true
hosts: ["mon-logstash:5044"]
output.elasticsearch:
enabled: false
hosts: ["http://mon-elasticsearch-client:9200"]
ilm.pattern: "000001"
index: ${INDEX_NAME}-%{+yyyy.MM.dd}
setup.template:
name: ${INDEX_NAME}
pattern: ${INDEX_PATTERN}
setup.kibana:
# for onbox kibana, note port 5601 is default
host: "mon-kibana"
# for offbox kibana, will fail if we can't connect
# host: "128.224.140.223"
setup.dashboards:
enabled: true
metricbeat.autodiscover:
providers:
- type: kubernetes
host: ${NODE_NAME}
hints.enabled: true
source:
type: tar
location: http://172.17.0.1:8080/helm_charts/starlingx/metricbeat-1.6.0.tgz
subpath: metricbeat
reference: master
dependencies: []
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: kube-state-metrics
data:
chart_name: kube-state-metrics
release: kube-state-metrics
namespace: monitor
wait:
timeout: 600
labels:
release: mon-kube-state-metrics
test:
enabled: false
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release: mon-kube-state-metrics
- type: pod
labels:
release: mon-kube-state-metrics
component: test
values:
image:
tag: v1.5.0
nodeSelector:
elastic-controller: "enabled"
livenessProbe:
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 30
readinessProbe:
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 30
source:
type: tar
location: http://172.17.0.1:8080/helm_charts/starlingx/kube-state-metrics-0.16.0.tgz
subpath: kube-state-metrics
reference: master
dependencies: []
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: kibana
data:
chart_name: kibana
release: kibana
namespace: monitor
wait:
timeout: 600
labels:
release: mon-kibana
test:
enabled: false
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release: mon-kibana
- type: pod
labels:
release: mon-kibana
component: test
values:
image:
repository: "docker.elastic.co/kibana/kibana-oss"
tag: 7.4.0
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
hosts:
- ""
files:
kibana.yml:
elasticsearch.hosts: http://mon-elasticsearch-client:9200
server.host: "::"
nodeSelector:
elastic-controller: "enabled"
source:
type: tar
location: http://172.17.0.1:8080/helm_charts/starlingx/kibana-2.2.0.tgz
subpath: kibana
reference: master
dependencies: []
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: logstash
data:
chart_name: logstash
release: logstash
namespace: monitor
wait:
timeout: 600
labels:
release: mon-logstash
test:
enabled: false
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release: mon-logstash
- type: pod
labels:
release: mon-logstash
component: test
values:
image:
repository: "docker.elastic.co/logstash/logstash-oss"
tag: 7.4.0
nodeSelector:
elastic-controller: "enabled"
elasticsearch:
host: mon-elasticsearch-client
config:
elasticsearch.path: ""
queue.type: "memory"
persistence:
enabled: false
livenessProbe:
initialDelaySeconds: 90
periodSeconds: 60
timeoutSeconds: 60
readinessProbe:
initialDelaySeconds: 90
periodSeconds: 60
timeoutSeconds: 60
outputs:
main: |-
output {
# Note uncomment below and can see raw input in logs
#stdout { codec => rubydebug }
if [type] == "collectd" {
elasticsearch {
hosts => ["${ELASTICSEARCH_HOST}:${ELASTICSEARCH_PORT}${ELASTICSEARCH_PATH}"]
manage_template => false
index => "collectd${SYSTEM_NAME_FOR_INDEX}-%{+YYYY.MM.dd}"
}
}
if [type] == "beats" {
elasticsearch {
hosts => ["${ELASTICSEARCH_HOST}:${ELASTICSEARCH_PORT}${ELASTICSEARCH_PATH}"]
manage_template => false
index => "%{[@metadata][beat]}-%{[@metadata][version]}${SYSTEM_NAME_FOR_INDEX}-%{+YYYY.MM.dd}"
}
}
}
inputs:
main: |-
input {
udp {
#Note default port 25826 in use by influxdb.
#port => 25826
host => "::"
port => 31005
buffer_size => 1452
codec => collectd { }
type => 'collectd'
}
beats {
port => 5044
type => 'beats'
}
}
ports:
# influxdb port conflict, can't use 25826
# - containerPort: 25826
# name: collectd-udp
# protocol: UDP
- containerPort: 31005
name: collectd-udp
protocol: UDP
- containerPort: 5044
name: beats
protocol: TCP
service:
ports:
# collectd-udp:
# port: 25826
# targetPort: collectd-udp
# protocol: UDP
collectd-udp:
port: 31005
targetPort: collectd-udp
protocol: UDP
monitor:
port: 9600
targetPort: monitor
protocol: TCP
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
path: /mon-logstash(/|$)(.*)
servicePort: 9600
hosts:
- ""
source:
type: tar
location: http://172.17.0.1:8080/helm_charts/starlingx/logstash-1.7.0.tgz
subpath: logstash
reference: master
dependencies: []
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: logstash
data:
description: "Deploy logstash"
sequenced: true
chart_group:
- logstash
---
schema: armada/ChartGroup/v1
metadata:
name: elasticsearch
schema: metadata/Document/v1
data:
chart_group:
- elasticsearch-master
- elasticsearch-data
- elasticsearch-client
description: "Deploy elasticsearch"
sequenced: true
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: filebeat
data:
description: "Deploy filebeat"
sequenced: true
chart_group:
- filebeat
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: metricbeat
data:
description: "Deploy metricbeat"
sequenced: true
chart_group:
- metricbeat
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: kube-state-metrics
data:
description: "Deploy kube-state-metrics"
sequenced: true
chart_group:
- kube-state-metrics
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: nginx-ingress
data:
description: "Deploy ingress"
sequenced: true
chart_group:
- nginx-ingress
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: kibana
data:
description: "Deploy kibana"
sequenced: true
chart_group:
- kibana
---
schema: armada/Manifest/v1
metadata:
schema: metadata/Document/v1
name: monitor-armada-manifest
data:
release_prefix: mon
chart_groups:
- nginx-ingress
- kibana
- elasticsearch
- logstash
- filebeat
- metricbeat
- kube-state-metrics