diff --git a/lib/monitoring/addon/components/enable-monitoring/component.js b/lib/monitoring/addon/components/enable-monitoring/component.js index f08bb4b9f..f9d739e37 100644 --- a/lib/monitoring/addon/components/enable-monitoring/component.js +++ b/lib/monitoring/addon/components/enable-monitoring/component.js @@ -3,6 +3,8 @@ import { on } from '@ember/object/evented'; import Component from '@ember/component'; import { set, get, computed, observer } from '@ember/object'; import { alias } from '@ember/object/computed'; +import { convertToMillis } from 'shared/utils/util'; +import { parseSi } from 'shared/utils/parse-unit'; import layout from './template'; const PROMETHEUS = 'prometheus'; @@ -23,10 +25,14 @@ export default Component.extend({ enableNodeExporter: true, prometheusPersistenceSize: '50Gi', grafanaPersistenceSize: '10Gi', + requestsCpu: '200', + limitsCpu: '1000', + requestsMemory: '100', + limitsMemory: '500', prometheusStorageClass: null, grafanaStorageClass: null, nodeSelectors: null, - retention: 360, + retention: 12, port: 9796, cluster: alias('scope.currentCluster'), @@ -63,6 +69,10 @@ export default Component.extend({ answers['grafana.persistence.storageClass'] = `${ get(this, 'grafanaStorageClass') === null ? 'default' : get(this, 'grafanaStorageClass') }`; answers['grafana.persistence.size'] = `${ get(this, 'grafanaPersistenceSize') }`; answers['prometheus.persistence.size'] = `${ get(this, 'prometheusPersistenceSize') }`; + answers['prometheus.resources.core.requests.cpu'] = `${ get(this, 'requestsCpu') }m`; + answers['prometheus.resources.core.limits.cpu'] = `${ get(this, 'limitsCpu') }m`; + answers['prometheus.resources.core.requests.memory'] = `${ get(this, 'requestsMemory') }Mi`; + answers['prometheus.resources.core.limits.memory'] = `${ get(this, 'limitsMemory') }Mi`; Object.keys(answers).filter((key) => key.startsWith('prometheus.nodeSelectors[') ).forEach((key) => { delete answers[key] @@ -137,6 +147,22 @@ export default Component.extend({ }, updateConfig(answers) { + if ( answers['prometheus.resources.core.requests.cpu'] ) { + set(this, 'requestsCpu', convertToMillis(answers['prometheus.resources.core.requests.cpu'])); + } + + if ( answers['prometheus.resources.core.limits.cpu'] ) { + set(this, 'limitsCpu', convertToMillis(answers['prometheus.resources.core.limits.cpu'])); + } + + if ( answers['prometheus.resources.core.requests.memory'] ) { + set(this, 'requestsMemory', parseSi(answers['prometheus.resources.core.requests.memory'], 1024) / 1048576); + } + + if ( answers['prometheus.resources.core.limits.memory'] ) { + set(this, 'limitsMemory', parseSi(answers['prometheus.resources.core.limits.memory'], 1024) / 1048576); + } + if ( answers['prometheus.retention'] ) { set(this, 'retention', answers['prometheus.retention'].substr(0, answers['prometheus.retention'].length - 1)); } diff --git a/lib/monitoring/addon/components/enable-monitoring/template.hbs b/lib/monitoring/addon/components/enable-monitoring/template.hbs index 8dd254a11..2e0df3314 100644 --- a/lib/monitoring/addon/components/enable-monitoring/template.hbs +++ b/lib/monitoring/addon/components/enable-monitoring/template.hbs @@ -65,14 +65,7 @@ {{schema/input-boolean value=enableGrafanaPersistence}} - {{#if (and (eq level "cluster") enableNodeExporter)}} -