723 lines
17 KiB
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
|