mirror of https://github.com/rancher/ui.git
commit
82a1bf2e44
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,14 +65,7 @@
|
|||
{{schema/input-boolean value=enableGrafanaPersistence}}
|
||||
</div>
|
||||
</div>
|
||||
{{#if (and (eq level "cluster") enableNodeExporter)}}
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t "monitoringPage.config.nodeexporter.label"}}</label>
|
||||
{{input-integer min=1 max=65535 value=port}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if enablePrometheusPersistence}}
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
|
|
@ -99,6 +92,85 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t "monitoringPage.config.prometheus.cpuLimit.label"}}</label>
|
||||
<span class="with-input">
|
||||
<div class="input-group">
|
||||
{{input-integer
|
||||
min="0"
|
||||
step="100"
|
||||
value=limitsCpu
|
||||
classNames="form-control"
|
||||
placeholder=(t "monitoringPage.config.prometheus.cpuLimit.placeholder")
|
||||
}}
|
||||
<div class="input-group-addon bg-default">
|
||||
{{t "monitoringPage.config.prometheus.cpuLimit.unit"}}
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
|
||||
<label class="acc-label mt-20">{{t "monitoringPage.config.prometheus.cpuRequest.label"}}</label>
|
||||
<span class="with-input">
|
||||
<div class="input-group">
|
||||
{{input-integer
|
||||
min="0"
|
||||
step="100"
|
||||
value=requestsCpu
|
||||
classNames="form-control"
|
||||
placeholder=(t "monitoringPage.config.prometheus.cpuRequest.placeholder")
|
||||
}}
|
||||
<div class="input-group-addon bg-default">
|
||||
{{t "monitoringPage.config.prometheus.cpuRequest.unit"}}
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t "monitoringPage.config.prometheus.memoryLimit.label"}}</label>
|
||||
<div class="input-group">
|
||||
{{input-integer
|
||||
min="4"
|
||||
step="1"
|
||||
value=limitsMemory
|
||||
classNames="form-control"
|
||||
placeholder=(t "monitoringPage.config.prometheus.memoryLimit.placeholder")
|
||||
}}
|
||||
<div class="input-group-addon bg-default">
|
||||
{{t "generic.mibibyte"}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="acc-label mt-20">{{t "monitoringPage.config.prometheus.memoryRequest.label"}}</label>
|
||||
<div class="input-group">
|
||||
{{input-integer
|
||||
min="4"
|
||||
step="1"
|
||||
value=requestsMemory
|
||||
classNames="form-control"
|
||||
placeholder=(t "monitoringPage.config.prometheus.memoryRequest.placeholder")
|
||||
}}
|
||||
<div class="input-group-addon bg-default">
|
||||
{{t "generic.mibibyte"}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#if (and (eq level "cluster") enableNodeExporter)}}
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t "monitoringPage.config.nodeexporter.label"}}</label>
|
||||
{{input-integer
|
||||
min=1
|
||||
max=65535
|
||||
value=port
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-12">
|
||||
<label class="acc-label">{{t "monitoringPage.nodeSelector.helpText"}}</label>
|
||||
|
|
|
|||
|
|
@ -100,6 +100,20 @@ monitoringPage:
|
|||
prometheus: Prometheus
|
||||
header: Prometheus Configuration
|
||||
prometheus:
|
||||
cpuLimit:
|
||||
label: Prometheus CPU Limit
|
||||
placeholder: e.g. 1000
|
||||
unit: milli CPUs
|
||||
cpuRequest:
|
||||
label: Prometheus CPU Reservation
|
||||
placeholder: e.g. 1000
|
||||
unit: milli CPUs
|
||||
memoryLimit:
|
||||
label: Prometheus Memory Limit
|
||||
placeholder: e.g. 1000
|
||||
memoryRequest:
|
||||
label: Prometheus Memory Reservation
|
||||
placeholder: e.g. 1000
|
||||
enablePersistence:
|
||||
label: Enable Persistent Storage for Prometheus
|
||||
size:
|
||||
|
|
|
|||
Loading…
Reference in New Issue