Feature/translate monitoring server(part_2) (#25402)

* Translate monitoring -> server -> metrics

* Add monitooring path to i18nrx.json file

* Fix issues

* Remove eslint rule disabling
This commit is contained in:
Nox911 2018-11-23 12:39:05 +03:00 committed by Maryia Lapata
parent f82d73285a
commit f19945a7df
9 changed files with 1704 additions and 719 deletions

View file

@ -6,6 +6,7 @@
import { ClusterMetric, Metric } from '../classes';
import { SMALL_FLOAT, LARGE_FLOAT } from '../../../../common/formatting';
import { i18n } from '@kbn/i18n';
export class ApmClusterMetric extends ClusterMetric {
constructor(opts) {
@ -83,7 +84,9 @@ export class ApmEventsRateClusterMetric extends ApmClusterMetric {
derivative: true,
format: LARGE_FLOAT,
metricAgg: 'max',
units: '/m'
units: i18n.translate('xpack.monitoring.metrics.apm.perMinuteUnitLabel', {
defaultMessage: '/m'
})
});
this.aggs = {

View file

@ -10,38 +10,66 @@ import {
ApmCpuUtilizationMetric,
ApmEventsRateClusterMetric,
} from './classes';
import { i18n } from '@kbn/i18n';
const instanceSystemLoadTitle = i18n.translate('xpack.monitoring.metrics.apmInstance.systemLoadTitle', {
defaultMessage: 'System Load'
});
const instanceMemoryTitle = i18n.translate('xpack.monitoring.metrics.apmInstance.memoryTitle', {
defaultMessage: 'Memory'
});
const transformationsTitle = i18n.translate('xpack.monitoring.metrics.apm.transformationsTitle', {
defaultMessage: 'Transformations'
});
export const metrics = {
apm_cpu_total: new ApmCpuUtilizationMetric({
title: 'CPU Utilization',
label: 'Total',
description:
'Percentage of CPU time spent executing (user+kernel mode) for the APM process',
title: i18n.translate('xpack.monitoring.metrics.apmInstance.cpuUtilizationTitle', {
defaultMessage: 'CPU Utilization'
}),
label: i18n.translate('xpack.monitoring.metrics.apmInstance.cpuUtilization.totalLabel', {
defaultMessage: 'Total'
}),
description: i18n.translate('xpack.monitoring.metrics.apmInstance.cpuUtilization.totalDescription', {
defaultMessage: 'Percentage of CPU time spent executing (user+kernel mode) for the APM process'
}),
field: 'beats_stats.metrics.beat.cpu.total.value'
}),
apm_system_os_load_1: new ApmMetric({
field: 'beats_stats.metrics.system.load.1',
label: '1m',
title: 'System Load',
description: 'Load average over the last 1 minute',
label: i18n.translate('xpack.monitoring.metrics.apmInstance.systemLoad.last1MinuteLabel', {
defaultMessage: '1m'
}),
title: instanceSystemLoadTitle,
description: i18n.translate('xpack.monitoring.metrics.apmInstance.systemLoad.last1MinuteDescription', {
defaultMessage: 'Load average over the last 1 minute'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
apm_system_os_load_5: new ApmMetric({
field: 'beats_stats.metrics.system.load.5',
label: '5m',
title: 'System Load',
description: 'Load average over the last 5 minutes',
label: i18n.translate('xpack.monitoring.metrics.apmInstance.systemLoad.last5MinutesLabel', {
defaultMessage: '5m'
}),
title: instanceSystemLoadTitle,
description: i18n.translate('xpack.monitoring.metrics.apmInstance.systemLoad.last5MinutesDescription', {
defaultMessage: 'Load average over the last 5 minutes'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
apm_system_os_load_15: new ApmMetric({
field: 'beats_stats.metrics.system.load.15',
label: '15m',
title: 'System Load',
description: 'Load average over the last 15 minutes',
label: i18n.translate('xpack.monitoring.metrics.apmInstance.systemLoad.last15MinutesLabel', {
defaultMessage: '15m'
}),
title: instanceSystemLoadTitle,
description: i18n.translate('xpack.monitoring.metrics.apmInstance.systemLoad.last15MinutesDescription', {
defaultMessage: 'Load average over the last 15 minutes'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
@ -49,29 +77,39 @@ export const metrics = {
apm_mem_gc_next: new ApmMetric({
field: 'beats_stats.metrics.beat.memstats.gc_next',
label: 'GC Next',
title: 'Memory',
description:
'Limit of allocated memory at which garbage collection will occur',
label: i18n.translate('xpack.monitoring.metrics.apmInstance.memory.gcNextLabel', {
defaultMessage: 'GC Next'
}),
title: instanceMemoryTitle,
description: i18n.translate('xpack.monitoring.metrics.apmInstance.memory.gcNextDescription', {
defaultMessage: 'Limit of allocated memory at which garbage collection will occur'
}),
format: LARGE_BYTES,
metricAgg: 'max',
units: 'B'
}),
apm_mem_alloc: new ApmMetric({
field: 'beats_stats.metrics.beat.memstats.memory_alloc',
label: 'Allocated Memory',
title: 'Memory',
description:
'Allocated memory',
label: i18n.translate('xpack.monitoring.metrics.apmInstance.memory.allocatedMemoryLabel', {
defaultMessage: 'Allocated Memory'
}),
title: instanceMemoryTitle,
description: i18n.translate('xpack.monitoring.metrics.apmInstance.memory.allocatedMemoryDescription', {
defaultMessage: 'Allocated memory'
}),
format: LARGE_BYTES,
metricAgg: 'max',
units: 'B'
}),
apm_mem_rss: new ApmMetric({
field: 'beats_stats.metrics.beat.memstats.rss',
label: 'Process Total',
title: 'Memory',
description: 'Resident set size of memory reserved by the APM service from the OS',
label: i18n.translate('xpack.monitoring.metrics.apmInstance.memory.processTotalLabel', {
defaultMessage: 'Process Total'
}),
title: instanceMemoryTitle,
description: i18n.translate('xpack.monitoring.metrics.apmInstance.memory.processTotalDescription', {
defaultMessage: 'Resident set size of memory reserved by the APM service from the OS'
}),
format: LARGE_BYTES,
metricAgg: 'max',
units: 'B'
@ -79,144 +117,276 @@ export const metrics = {
apm_requests: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.request.count',
title: 'Requests',
label: 'Requested',
description: 'HTTP Requests received by server'
title: i18n.translate('xpack.monitoring.metrics.apm.requestsTitle', {
defaultMessage: 'Requests'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.requests.requestedLabel', {
defaultMessage: 'Requested'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.requests.requestedDescription', {
defaultMessage: 'HTTP Requests received by server'
})
}),
apm_responses_count: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.count',
title: 'Response Count',
label: 'Total',
description: 'HTTP Requests responded to by server'
title: i18n.translate('xpack.monitoring.metrics.apm.responseCountTitle', {
defaultMessage: 'Response Count'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseCount.totalLabel', {
defaultMessage: 'Total'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseCount.totalDescription', {
defaultMessage: 'HTTP Requests responded to by server'
})
}),
apm_responses_valid_ok: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.valid.ok',
title: 'Ok',
label: 'Ok',
description: '200 OK response count'
title: i18n.translate('xpack.monitoring.metrics.apm.response.okTitle', {
defaultMessage: 'Ok'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.response.okLabel', {
defaultMessage: 'Ok'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.response.okDescription', {
defaultMessage: '200 OK response count'
})
}),
apm_responses_valid_accepted: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.valid.accepted',
title: 'Accepted',
label: 'Accepted',
description: 'HTTP Requests successfully reporting new events'
title: i18n.translate('xpack.monitoring.metrics.apm.response.acceptedTitle', {
defaultMessage: 'Accepted'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.response.acceptedLabel', {
defaultMessage: 'Accepted'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.response.acceptedDescription', {
defaultMessage: 'HTTP Requests successfully reporting new events'
})
}),
apm_responses_errors_toolarge: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.errors.toolarge',
title: 'Response Errors',
label: 'Too large',
description: 'HTTP Requests rejected due to excessive payload size'
title: i18n.translate('xpack.monitoring.metrics.apm.responseErrorsTitle', {
defaultMessage: 'Response Errors'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.tooLargeLabelTitle', {
defaultMessage: 'Too large'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.tooLargeLabelDescription', {
defaultMessage: 'HTTP Requests rejected due to excessive payload size'
})
}),
apm_responses_errors_validate: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.errors.validate',
title: 'Validate',
label: 'Validate',
description: 'HTTP Requests rejected due to payload validation error'
title: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.validateTitle', {
defaultMessage: 'Validate'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.validateLabel', {
defaultMessage: 'Validate'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.validateDescription', {
defaultMessage: 'HTTP Requests rejected due to payload validation error'
})
}),
apm_responses_errors_method: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.errors.method',
title: 'Method',
label: 'Method',
description: 'HTTP Requests rejected due to incorrect HTTP method'
title: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.methodTitle', {
defaultMessage: 'Method'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.methodLabel', {
defaultMessage: 'Method'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.methodDescription', {
defaultMessage: 'HTTP Requests rejected due to incorrect HTTP method'
})
}),
apm_responses_errors_unauthorized: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.errors.unauthorized',
title: 'Unauthorized',
label: 'Unauthorized',
description: 'HTTP Requests rejected due to invalid secret token'
title: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.unauthorizedTitle', {
defaultMessage: 'Unauthorized'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.unauthorizedLabel', {
defaultMessage: 'Unauthorized'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.unauthorizedDescription', {
defaultMessage: 'HTTP Requests rejected due to invalid secret token'
})
}),
apm_responses_errors_ratelimit: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.errors.ratelimit',
title: 'Rate limit',
label: 'Rate limit',
description: 'HTTP Requests rejected to due excessive rate limit'
title: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.rateLimitTitle', {
defaultMessage: 'Rate limit'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.rateLimitLabel', {
defaultMessage: 'Rate limit'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.rateLimitDescription', {
defaultMessage: 'HTTP Requests rejected to due excessive rate limit'
})
}),
apm_responses_errors_queue: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.errors.queue',
title: 'Queue',
label: 'Queue',
description: 'HTTP Requests rejected to due internal queue filling up'
title: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.queueTitle', {
defaultMessage: 'Queue'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.queueLabel', {
defaultMessage: 'Queue'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.queueDescription', {
defaultMessage: 'HTTP Requests rejected to due internal queue filling up'
})
}),
apm_responses_errors_decode: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.errors.decode',
title: 'Decode',
label: 'Decode',
description: 'HTTP Requests rejected to due decoding errors - invalid json, incorrect data type for entity'
title: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.decodeTitle', {
defaultMessage: 'Decode'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.decodeLabel', {
defaultMessage: 'Decode'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.decodeDescription', {
defaultMessage: 'HTTP Requests rejected to due decoding errors - invalid json, incorrect data type for entity'
})
}),
apm_responses_errors_forbidden: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.errors.forbidden',
title: 'Forbidden',
label: 'Forbidden',
description: 'Forbidden HTTP Requests rejected - CORS violation, disabled enpoint'
title: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.forbiddenTitle', {
defaultMessage: 'Forbidden'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.forbiddenLabel', {
defaultMessage: 'Forbidden'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.forbiddenDescription', {
defaultMessage: 'Forbidden HTTP Requests rejected - CORS violation, disabled enpoint'
})
}),
apm_responses_errors_concurrency: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.errors.concurrency',
title: 'Concurrency',
label: 'Concurrency',
description: 'HTTP Requests rejected due to overall concurrency limit breach'
title: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.concurrencyTitle', {
defaultMessage: 'Concurrency'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.concurrencyLabel', {
defaultMessage: 'Concurrency'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.concurrencyDescription', {
defaultMessage: 'HTTP Requests rejected due to overall concurrency limit breach'
})
}),
apm_responses_errors_closed: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.server.response.errors.closed',
title: 'Closed',
label: 'Closed',
description: 'HTTP Requests rejected during server shutdown'
title: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.closedTitle', {
defaultMessage: 'Closed'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.closedLabel', {
defaultMessage: 'Closed'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.responseErrors.closedDescription', {
defaultMessage: 'HTTP Requests rejected during server shutdown'
})
}),
apm_processor_transaction_transformations: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.processor.transaction.transformations',
title: 'Processed Events',
label: 'Transaction',
description: 'Transaction events processed'
title: i18n.translate('xpack.monitoring.metrics.apm.processedEventsTitle', {
defaultMessage: 'Processed Events'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.processedEvents.transactionLabel', {
defaultMessage: 'Transaction'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.processedEvents.transactionDescription', {
defaultMessage: 'Transaction events processed'
})
}),
apm_processor_span_transformations: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.processor.span.transformations',
title: 'Transformations',
label: 'Span',
description: 'Span events processed'
title: transformationsTitle,
label: i18n.translate('xpack.monitoring.metrics.apm.transformations.spanLabel', {
defaultMessage: 'Span'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.transformations.spanDescription', {
defaultMessage: 'Span events processed'
})
}),
apm_processor_error_transformations: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.processor.error.transformations',
title: 'Transformations',
label: 'Error',
description: 'Error events processed'
title: transformationsTitle,
label: i18n.translate('xpack.monitoring.metrics.apm.transformations.errorLabel', {
defaultMessage: 'Error'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.transformations.errorDescription', {
defaultMessage: 'Error events processed'
})
}),
apm_processor_metric_transformations: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.apm-server.processor.metric.transformations',
title: 'Transformations',
label: 'Metric',
description: 'Metric events processed'
title: transformationsTitle,
label: i18n.translate('xpack.monitoring.metrics.apm.transformations.metricLabel', {
defaultMessage: 'Metric'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.transformations.metricDescription', {
defaultMessage: 'Metric events processed'
})
}),
apm_output_events_total: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.events.total',
title: 'Output Events Rate',
label: 'Total',
description: 'Events processed by the output (including retries)'
title: i18n.translate('xpack.monitoring.metrics.apm.outputEventsRateTitle', {
defaultMessage: 'Output Events Rate'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.outputEventsRate.totalLabel', {
defaultMessage: 'Total'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.outputEventsRate.totalDescription', {
defaultMessage: 'Events processed by the output (including retries)'
})
}),
apm_output_events_failed: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.events.failed',
title: 'Output Failed Events Rate',
label: 'Failed',
description: 'Events processed by the output (including retries)'
title: i18n.translate('xpack.monitoring.metrics.apm.outputFailedEventsRateTitle', {
defaultMessage: 'Output Failed Events Rate'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.outputFailedEventsRate.failedLabel', {
defaultMessage: 'Failed'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.outputFailedEventsRate.failedDescription', {
defaultMessage: 'Events processed by the output (including retries)'
})
}),
apm_output_events_dropped: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.events.dropped',
title: 'Output Dropped Events Rate',
label: 'Dropped',
description: 'Events processed by the output (including retries)'
title: i18n.translate('xpack.monitoring.metrics.apm.outputDroppedEventsRateTitle', {
defaultMessage: 'Output Dropped Events Rate'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.outputDroppedEventsRate.droppedLabel', {
defaultMessage: 'Dropped'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.outputDroppedEventsRate.droppedDescription', {
defaultMessage: 'Events processed by the output (including retries)'
})
}),
apm_output_events_active: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.events.active',
title: 'Output Active Events Rate',
label: 'Active',
description: 'Events processed by the output (including retries)'
title: i18n.translate('xpack.monitoring.metrics.apm.outputActiveEventsRateTitle', {
defaultMessage: 'Output Active Events Rate'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.outputActiveEventsRate.activeLabel', {
defaultMessage: 'Active'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.outputActiveEventsRate.activeDescription', {
defaultMessage: 'Events processed by the output (including retries)'
})
}),
apm_output_events_acked: new ApmEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.events.acked',
title: 'Output Acked Events Rate',
label: 'Acked',
description: 'Events processed by the output (including retries)'
title: i18n.translate('xpack.monitoring.metrics.apm.outputAckedEventsRateTitle', {
defaultMessage: 'Output Acked Events Rate'
}),
label: i18n.translate('xpack.monitoring.metrics.apm.outputAckedEventsRate.ackedLabel', {
defaultMessage: 'Acked'
}),
description: i18n.translate('xpack.monitoring.metrics.apm.outputAckedEventsRate.ackedDescription', {
defaultMessage: 'Events processed by the output (including retries)'
})
}),
};

View file

@ -11,6 +11,11 @@ import {
LARGE_BYTES
} from '../../../../common/formatting';
import { NORMALIZED_DERIVATIVE_UNIT } from '../../../../common/constants';
import { i18n } from '@kbn/i18n';
const perSecondUnitLabel = i18n.translate('xpack.monitoring.metrics.beats.perSecondUnitLabel', {
defaultMessage: '/s'
});
export class BeatsClusterMetric extends ClusterMetric {
constructor(opts) {
@ -36,7 +41,7 @@ export class BeatsEventsRateClusterMetric extends BeatsClusterMetric {
derivative: true,
format: LARGE_FLOAT,
metricAgg: 'max',
units: '/s'
units: perSecondUnitLabel
});
this.aggs = {
@ -102,7 +107,7 @@ export class BeatsEventsRateMetric extends BeatsMetric {
...opts,
format: LARGE_FLOAT,
metricAgg: 'max',
units: '/s',
units: perSecondUnitLabel,
derivative: true
});
}
@ -114,7 +119,7 @@ export class BeatsByteRateMetric extends BeatsMetric {
...opts,
format: LARGE_BYTES,
metricAgg: 'max',
units: '/s',
units: perSecondUnitLabel,
derivative: true
});
}

View file

@ -13,89 +13,164 @@ import {
BeatsMetric
} from './classes';
import { LARGE_FLOAT, LARGE_BYTES, SMALL_FLOAT } from '../../../../common/formatting';
import { i18n } from '@kbn/i18n';
const eventsRateTitle = i18n.translate('xpack.monitoring.metrics.beats.eventsRateTitle', {
defaultMessage: 'Events Rate'
});
const throughputTitle = i18n.translate('xpack.monitoring.metrics.beats.throughputTitle', {
defaultMessage: 'Throughput'
});
const failRatesTitle = i18n.translate('xpack.monitoring.metrics.beats.failRatesTitle', {
defaultMessage: 'Fail Rates'
});
const outputErrorsTitle = i18n.translate('xpack.monitoring.metrics.beats.outputErrorsTitle', {
defaultMessage: 'Output Errors'
});
const instanceEventsRateTitle = i18n.translate('xpack.monitoring.metrics.beatsInstance.eventsRateTitle', {
defaultMessage: 'Events Rate'
});
const instanceFailRatesTitle = i18n.translate('xpack.monitoring.metrics.beatsInstance.failRatesTitle', {
defaultMessage: 'Fail Rates'
});
const instanceThroughputTitle = i18n.translate('xpack.monitoring.metrics.beatsInstance.throughputTitle', {
defaultMessage: 'Throughput'
});
const instanceOutputErrorsTitle = i18n.translate('xpack.monitoring.metrics.beatsInstance.outputErrorsTitle', {
defaultMessage: 'Output Errors'
});
const instanceMemoryTitle = i18n.translate('xpack.monitoring.metrics.beatsInstance.memoryTitle', {
defaultMessage: 'Memory'
});
const instanceSystemLoadTitle = i18n.translate('xpack.monitoring.metrics.beatsInstance.systemLoadTitle', {
defaultMessage: 'System Load'
});
export const metrics = {
beat_cluster_pipeline_events_total_rate: new BeatsEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.pipeline.events.total',
title: 'Events Rate',
label: 'Total',
description: 'All events newly created in the publishing pipeline'
title: eventsRateTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.eventsRate.totalLabel', {
defaultMessage: 'Total'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.eventsRate.totalDescription', {
defaultMessage: 'All events newly created in the publishing pipeline'
})
}),
beat_cluster_output_events_total: new BeatsEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.events.total',
title: 'Events Rate',
label: 'Emitted',
description: 'Events processed by the output (including retries)'
title: eventsRateTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.eventsRate.emittedLabel', {
defaultMessage: 'Emitted'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.eventsRate.emittedDescription', {
defaultMessage: 'Events processed by the output (including retries)'
})
}),
beat_cluster_output_events_ack_rate: new BeatsEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.events.acked',
title: 'Events Rate',
label: 'Acknowledged',
description:
'Events acknowledged by the output (includes events dropped by the output)'
title: eventsRateTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.eventsRate.acknowledgedLabel', {
defaultMessage: 'Acknowledged'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.eventsRate.acknowledgedDescription', {
defaultMessage: 'Events acknowledged by the output (includes events dropped by the output)'
})
}),
beat_cluster_pipeline_events_emitted_rate: new BeatsEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.pipeline.events.published',
title: 'Events Rate',
label: 'Queued',
description: 'Events added to the event pipeline queue'
title: eventsRateTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.eventsRate.queuedLabel', {
defaultMessage: 'Queued'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.eventsRate.queuedDescription', {
defaultMessage: 'Events added to the event pipeline queue'
})
}),
beat_cluster_output_write_bytes_rate: new BeatsByteRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.write.bytes',
title: 'Throughput',
label: 'Bytes Sent',
description:
'Bytes written to the output (consists of size of network headers and compressed payload)'
title: throughputTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.throughput.bytesSentLabel', {
defaultMessage: 'Bytes Sent'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.throughput.bytesSentDescription', {
defaultMessage: 'Bytes written to the output (consists of size of network headers and compressed payload)'
})
}),
beat_cluster_output_read_bytes_rate: new BeatsByteRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.read.bytes',
title: 'Throughput',
label: 'Bytes Received',
description: 'Bytes read in response from the output'
title: throughputTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.throughput.bytesReceivedLabel', {
defaultMessage: 'Bytes Received'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.throughput.bytesReceivedDescription', {
defaultMessage: 'Bytes read in response from the output'
}),
}),
beat_cluster_pipeline_events_failed_rate: new BeatsEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.pipeline.events.failed',
title: 'Fail Rates',
label: 'Failed in Pipeline',
description:
'Failures that happened before event was added to the publishing pipeline (output was disabled or publisher client closed)'
title: failRatesTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.failRates.failedInPipelineLabel', {
defaultMessage: 'Failed in Pipeline'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.failRates.failedInPipelineDescription', {
defaultMessage:
'Failures that happened before event was added to the publishing pipeline (output was disabled or publisher client closed)'
})
}),
beat_cluster_pipeline_events_dropped_rate: new BeatsEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.pipeline.events.dropped',
title: 'Fail Rates',
label: 'Dropped in Pipeline',
description:
'Events that have been dropped after N retries (N = max_retries setting)'
title: failRatesTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.failRates.droppedInPipelineLabel', {
defaultMessage: 'Dropped in Pipeline'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.failRates.droppedInPipelineDescription', {
defaultMessage: 'Events that have been dropped after N retries (N = max_retries setting)'
})
}),
beat_cluster_output_events_dropped_rate: new BeatsEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.events.dropped',
title: 'Fail Rates',
label: 'Dropped in Output',
description:
'(Fatal drop) Events dropped by the output as being "invalid." The output ' +
'still acknowledges the event for the Beat to remove it from the queue.'
title: failRatesTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.failRates.droppedInOutputLabel', {
defaultMessage: 'Dropped in Output'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.failRates.droppedInOutputDescription', {
defaultMessage: '(Fatal drop) Events dropped by the output as being "invalid." The output still acknowledges the event ' +
'for the Beat to remove it from the queue.'
})
}),
beat_cluster_pipeline_events_retry_rate: new BeatsEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.pipeline.events.retry',
title: 'Fail Rates',
label: 'Retry in Pipeline',
description:
'Events in the pipeline that are trying again to be sent to the output'
title: failRatesTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.failRates.retryInPipelineLabel', {
defaultMessage: 'Retry in Pipeline'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.failRates.retryInPipelineDescription', {
defaultMessage: 'Events in the pipeline that are trying again to be sent to the output'
})
}),
beat_cluster_output_sending_errors: new BeatsEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.write.errors',
title: 'Output Errors',
label: 'Sending',
description: 'Errors in writing the response from the output'
title: outputErrorsTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.outputErrors.sendingLabel', {
defaultMessage: 'Sending'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.outputErrors.sendingDescription', {
defaultMessage: 'Errors in writing the response from the output'
})
}),
beat_cluster_output_receiving_errors: new BeatsEventsRateClusterMetric({
field: 'beats_stats.metrics.libbeat.output.read.errors',
title: 'Output Errors',
label: 'Receiving',
description: 'Errors in reading the response from the output'
title: outputErrorsTitle,
label: i18n.translate('xpack.monitoring.metrics.beats.outputErrors.receivingLabel', {
defaultMessage: 'Receiving'
}),
description: i18n.translate('xpack.monitoring.metrics.beats.outputErrors.receivingDescription', {
defaultMessage: 'Errors in reading the response from the output'
})
}),
/*
@ -104,147 +179,218 @@ export const metrics = {
beat_pipeline_events_total_rate: new BeatsEventsRateMetric({
field: 'beats_stats.metrics.libbeat.pipeline.events.total',
title: 'Events Rate',
label: 'New',
description: 'New events sent to the publishing pipeline'
title: instanceEventsRateTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.eventsRate.newLabel', {
defaultMessage: 'New'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.eventsRate.newDescription', {
defaultMessage: 'New events sent to the publishing pipeline'
})
}),
beat_output_events_total: new BeatsEventsRateMetric({
field: 'beats_stats.metrics.libbeat.output.events.total',
title: 'Events Rate',
label: 'Emitted',
description: 'Events processed by the output (including retries)'
title: instanceEventsRateTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.eventsRate.emittedLabel', {
defaultMessage: 'Emitted'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.eventsRate.emittedDescription', {
defaultMessage: 'Events processed by the output (including retries)'
})
}),
beat_output_events_ack_rate: new BeatsEventsRateMetric({
field: 'beats_stats.metrics.libbeat.output.events.acked',
title: 'Events Rate',
label: 'Acknowledged',
description:
'Events acknowledged by the output (includes events dropped by the output)'
title: instanceEventsRateTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.eventsRate.acknowledgedLabel', {
defaultMessage: 'Acknowledged'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.eventsRate.acknowledgedDescription', {
defaultMessage: 'Events acknowledged by the output (includes events dropped by the output)'
})
}),
beat_pipeline_events_emitted_rate: new BeatsEventsRateMetric({
field: 'beats_stats.metrics.libbeat.pipeline.events.published',
title: 'Events Rate',
label: 'Queued',
description: 'Events added to the event pipeline queue'
title: instanceEventsRateTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.eventsRate.queuedLabel', {
defaultMessage: 'Queued'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.eventsRate.queuedDescription', {
defaultMessage: 'Events added to the event pipeline queue'
})
}),
beat_pipeline_events_failed_rate: new BeatsEventsRateMetric({
field: 'beats_stats.metrics.libbeat.pipeline.events.failed',
title: 'Fail Rates',
label: 'Failed in Pipeline',
description:
'Failures that happened before event was added to the publishing pipeline (output was disabled or publisher client closed)'
title: instanceFailRatesTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.failRates.failedInPipelineLabel', {
defaultMessage: 'Failed in Pipeline'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.failRates.failedInPipelineDescription', {
defaultMessage:
'Failures that happened before event was added to the publishing pipeline (output was disabled or publisher client closed)'
})
}),
beat_pipeline_events_dropped_rate: new BeatsEventsRateMetric({
field: 'beats_stats.metrics.libbeat.pipeline.events.dropped',
title: 'Fail Rates',
label: 'Dropped in Pipeline',
description:
'Events that have been dropped after N retries (N = max_retries setting)'
title: instanceFailRatesTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.failRates.droppedInPipelineLabel', {
defaultMessage: 'Dropped in Pipeline'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.failRates.droppedInPipelineDescription', {
defaultMessage: 'Events that have been dropped after N retries (N = max_retries setting)'
})
}),
beat_output_events_dropped_rate: new BeatsEventsRateMetric({
field: 'beats_stats.metrics.libbeat.output.events.dropped',
title: 'Fail Rates',
label: 'Dropped in Output',
description:
'(Fatal drop) Events dropped by the output as being "invalid." The output ' +
'still acknowledges the event for the Beat to remove it from the queue.'
title: instanceFailRatesTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.failRates.droppedInOutputLabel', {
defaultMessage: 'Dropped in Output'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.failRates.droppedInOutputDescription', {
defaultMessage: '(Fatal drop) Events dropped by the output as being "invalid." The output ' +
'still acknowledges the event for the Beat to remove it from the queue.'
})
}),
beat_pipeline_events_retry_rate: new BeatsEventsRateMetric({
field: 'beats_stats.metrics.libbeat.pipeline.events.retry',
title: 'Fail Rates',
label: 'Retry in Pipeline',
description:
'Events in the pipeline that are trying again to be sent to the output'
title: instanceFailRatesTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.failRates.retryInPipelineLabel', {
defaultMessage: 'Retry in Pipeline'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.failRates.retryInPipelineDescription', {
defaultMessage: 'Events in the pipeline that are trying again to be sent to the output'
})
}),
beat_bytes_written: new BeatsByteRateMetric({
field: 'beats_stats.metrics.libbeat.output.write.bytes',
title: 'Throughput',
label: 'Bytes Sent',
description:
'Bytes written to the output (consists of size of network headers and compressed payload)'
title: instanceThroughputTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.throughput.bytesSentLabel', {
defaultMessage: 'Bytes Sent'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.throughput.bytesSentDescription', {
defaultMessage: 'Bytes written to the output (consists of size of network headers and compressed payload)'
})
}),
beat_output_write_bytes_rate: new BeatsByteRateMetric({
field: 'beats_stats.metrics.libbeat.output.read.bytes',
title: 'Throughput',
label: 'Bytes Received',
description: 'Bytes read in response from the output'
title: instanceThroughputTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.throughput.bytesReceivedLabel', {
defaultMessage: 'Bytes Received'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.throughput.bytesReceivedDescription', {
defaultMessage: 'Bytes read in response from the output'
})
}),
beat_output_sending_errors: new BeatsEventsRateMetric({
field: 'beats_stats.metrics.libbeat.output.write.errors',
title: 'Output Errors',
label: 'Sending',
description: 'Errors in writing the response from the output'
title: instanceOutputErrorsTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.outputErrors.sendingLabel', {
defaultMessage: 'Sending'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.outputErrors.sendingDescription', {
defaultMessage: 'Errors in writing the response from the output'
})
}),
beat_output_receiving_errors: new BeatsEventsRateMetric({
field: 'beats_stats.metrics.libbeat.output.read.errors',
title: 'Output Errors',
label: 'Receiving',
description: 'Errors in reading the response from the output'
title: instanceOutputErrorsTitle,
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.outputErrors.receivingLabel', {
defaultMessage: 'Receiving'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.outputErrors.receivingDescription', {
defaultMessage: 'Errors in reading the response from the output'
})
}),
beat_mem_alloc: new BeatsMetric({
field: 'beats_stats.metrics.beat.memstats.memory_alloc',
label: 'Active',
title: 'Memory',
description: 'Private memory in active use by the Beat',
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.memory.activeLabel', {
defaultMessage: 'Active'
}),
title: instanceMemoryTitle,
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.memory.activeDescription', {
defaultMessage: 'Private memory in active use by the Beat'
}),
format: LARGE_BYTES,
metricAgg: 'max',
units: 'B'
}),
beat_mem_rss: new BeatsMetric({
field: 'beats_stats.metrics.beat.memstats.rss',
label: 'Process Total',
title: 'Memory',
description: 'Resident set size of memory reserved by the Beat from the OS',
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.memory.processTotalLabel', {
defaultMessage: 'Process Total'
}),
title: instanceMemoryTitle,
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.memory.processTotalDescription', {
defaultMessage: 'Resident set size of memory reserved by the Beat from the OS'
}),
format: LARGE_BYTES,
metricAgg: 'max',
units: 'B'
}),
beat_mem_gc_next: new BeatsMetric({
field: 'beats_stats.metrics.beat.memstats.gc_next',
label: 'GC Next',
title: 'Memory',
description:
'Limit of allocated memory at which garbage collection will occur',
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.memory.gcNextLabel', {
defaultMessage: 'GC Next'
}),
title: instanceMemoryTitle,
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.memory.gcNextDescription', {
defaultMessage: 'Limit of allocated memory at which garbage collection will occur'
}),
format: LARGE_BYTES,
metricAgg: 'max',
units: 'B'
}),
beat_cpu_utilization: new BeatsCpuUtilizationMetric({
title: 'CPU Utilization',
label: 'Total',
description:
'Percentage of CPU time spent executing (user+kernel mode) for the Beat process',
title: i18n.translate('xpack.monitoring.metrics.beatsInstance.cpuUtilizationTitle', {
defaultMessage: 'CPU Utilization'
}),
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.cpuUtilization.totalLabel', {
defaultMessage: 'Total'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.cpuUtilization.totalDescription', {
defaultMessage: 'Percentage of CPU time spent executing (user+kernel mode) for the Beat process'
}),
field: 'beats_stats.metrics.beat.cpu.total.value'
}),
beat_system_os_load_1: new BeatsMetric({
field: 'beats_stats.metrics.system.load.1',
label: '1m',
title: 'System Load',
description: 'Load average over the last 1 minute',
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.systemLoad.last1MinuteLabel', {
defaultMessage: '1m'
}),
title: instanceSystemLoadTitle,
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.systemLoad.last1MinuteDescription', {
defaultMessage: 'Load average over the last 1 minute'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
beat_system_os_load_5: new BeatsMetric({
field: 'beats_stats.metrics.system.load.5',
label: '5m',
title: 'System Load',
description: 'Load average over the last 5 minutes',
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.systemLoad.last5MinutesLabel', {
defaultMessage: '5m'
}),
title: instanceSystemLoadTitle,
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.systemLoad.last5MinutesDescription', {
defaultMessage: 'Load average over the last 5 minutes'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
beat_system_os_load_15: new BeatsMetric({
field: 'beats_stats.metrics.system.load.15',
label: '15m',
title: 'System Load',
description: 'Load average over the last 15 minutes',
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.systemLoad.last15MinutesLabel', {
defaultMessage: '15m'
}),
title: instanceSystemLoadTitle,
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.systemLoad.last15MinutesDescription', {
defaultMessage: 'Load average over the last 15 minutes'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
@ -252,9 +398,15 @@ export const metrics = {
beat_handles_open: new BeatsMetric({
field: 'beats_stats.metrics.beat.handles.open',
label: 'Open Handles',
title: 'Open Handles',
description: 'Count of open file handlers',
label: i18n.translate('xpack.monitoring.metrics.beatsInstance.openHandlesTitle', {
defaultMessage: 'Open Handles'
}),
title: i18n.translate('xpack.monitoring.metrics.beatsInstance.openHandlesLabel', {
defaultMessage: 'Open Handles'
}),
description: i18n.translate('xpack.monitoring.metrics.beatsInstance.openHandlesDescription', {
defaultMessage: 'Count of open file handlers'
}),
format: SMALL_FLOAT,
metricAgg: 'max',
units: '',

View file

@ -12,6 +12,7 @@ import {
SMALL_BYTES
} from '../../../../common/formatting';
import { NORMALIZED_DERIVATIVE_UNIT } from '../../../../common/constants';
import { i18n } from '@kbn/i18n';
export class ElasticsearchMetric extends Metric {
constructor(opts) {
@ -70,7 +71,9 @@ export class LatencyMetric extends ElasticsearchMetric {
...opts,
format: LARGE_FLOAT,
metricAgg: 'sum', // NOTE: this is used for a pointless aggregation
units: 'ms'
units: i18n.translate('xpack.monitoring.metrics.es.msTimeUnitLabel', {
defaultMessage: 'ms'
})
});
this.checkRequiredParams({
@ -85,7 +88,9 @@ export class LatencyMetric extends ElasticsearchMetric {
metricField = 'search.query';
} else {
throw new Error(
'Latency metric param must be a string equal to `index` or `query`'
i18n.translate('xpack.monitoring.metrics.es.latencyMetricParamErrorMessage', {
defaultMessage: 'Latency metric param must be a string equal to `index` or `query`'
})
);
}
@ -139,7 +144,9 @@ export class RequestRateMetric extends ElasticsearchMetric {
derivative: true,
format: LARGE_FLOAT,
metricAgg: 'max',
units: '/s'
units: i18n.translate('xpack.monitoring.metrics.es.perSecondsUnitLabel', {
defaultMessage: '/s'
})
});
}
}
@ -329,7 +336,9 @@ export class MillisecondsToSecondsMetric extends ElasticsearchMetric {
constructor(opts) {
super({
...opts,
units: 's',
units: i18n.translate('xpack.monitoring.metrics.es.secondsUnitLabel', {
defaultMessage: 's'
})
});
this.calculation = bucket => {

View file

@ -10,122 +10,184 @@ import {
SMALL_FLOAT,
LARGE_BYTES
} from '../../../../common/formatting';
import { i18n } from '@kbn/i18n';
const clientResponseTimeTitle = i18n.translate('xpack.monitoring.metrics.kibana.clientResponseTimeTitle', {
defaultMessage: 'Client Response Time'
});
const instanceSystemLoadTitle = i18n.translate('xpack.monitoring.metrics.kibanaInstance.systemLoadTitle', {
defaultMessage: 'System Load'
});
const instanceMemorySizeTitle = i18n.translate('xpack.monitoring.metrics.kibanaInstance.memorySizeTitle', {
defaultMessage: 'Memory Size'
});
const instanceClientResponseTimeTitle = i18n.translate('xpack.monitoring.metrics.kibanaInstance.clientResponseTimeTitle', {
defaultMessage: 'Client Response Time'
});
const msTimeUnitLabel = i18n.translate('xpack.monitoring.metrics.kibana.msTimeUnitLabel', {
defaultMessage: 'ms'
});
export const metrics = {
kibana_cluster_requests: new KibanaEventsRateClusterMetric({
field: 'kibana_stats.requests.total',
label: 'Client Requests',
description:
'Total number of client requests received by the Kibana instance.',
label: i18n.translate('xpack.monitoring.metrics.kibana.clientRequestsLabel', {
defaultMessage: 'Client Requests'
}),
description: i18n.translate('xpack.monitoring.metrics.kibana.clientRequestsDescription', {
defaultMessage: 'Total number of client requests received by the Kibana instance.'
}),
format: SMALL_FLOAT,
units: ''
}),
kibana_cluster_max_response_times: new KibanaEventsRateClusterMetric({
title: 'Client Response Time',
title: clientResponseTimeTitle,
field: 'kibana_stats.response_times.max',
label: 'Max',
description:
'Maximum response time for client requests to the Kibana instance.',
label: i18n.translate('xpack.monitoring.metrics.kibana.clientResponseTime.maxLabel', {
defaultMessage: 'Max'
}),
description: i18n.translate('xpack.monitoring.metrics.kibana.clientResponseTime.maxDescription', {
defaultMessage: 'Maximum response time for client requests to the Kibana instance.'
}),
format: SMALL_FLOAT,
units: 'ms'
units: msTimeUnitLabel
}),
kibana_cluster_average_response_times: new KibanaEventsRateClusterMetric({
title: 'Client Response Time',
title: clientResponseTimeTitle,
field: 'kibana_stats.response_times.average',
label: 'Average',
description:
'Average response time for client requests to the Kibana instance.',
label: i18n.translate('xpack.monitoring.metrics.kibana.clientResponseTime.averageLabel', {
defaultMessage: 'Average'
}),
description: i18n.translate('xpack.monitoring.metrics.kibana.clientResponseTime.averageDescription', {
defaultMessage: 'Average response time for client requests to the Kibana instance.'
}),
format: SMALL_FLOAT,
units: 'ms'
units: msTimeUnitLabel
}),
kibana_os_load_1m: new KibanaMetric({
title: 'System Load',
title: instanceSystemLoadTitle,
field: 'kibana_stats.os.load.1m',
label: '1m',
description: 'Load average over the last minute.',
label: i18n.translate('xpack.monitoring.metrics.kibanaInstance.systemLoad.last1MinuteLabel', {
defaultMessage: '1m'
}),
description: i18n.translate('xpack.monitoring.metrics.kibanaInstance.systemLoad.last1MinuteDescription', {
defaultMessage: 'Load average over the last minute.'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
kibana_os_load_5m: new KibanaMetric({
title: 'System Load',
title: instanceSystemLoadTitle,
field: 'kibana_stats.os.load.5m',
label: '5m',
description: 'Load average over the last 5 minutes.',
label: i18n.translate('xpack.monitoring.metrics.kibanaInstance.systemLoad.last5MinutesLabel', {
defaultMessage: '5m'
}),
description: i18n.translate('xpack.monitoring.metrics.kibanaInstance.systemLoad.last5MinutesDescription', {
defaultMessage: 'Load average over the last 5 minutes.'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
kibana_os_load_15m: new KibanaMetric({
title: 'System Load',
title: instanceSystemLoadTitle,
field: 'kibana_stats.os.load.15m',
label: '15m',
description: 'Load average over the last 15 minutes.',
label: i18n.translate('xpack.monitoring.metrics.kibanaInstance.systemLoad.last15MinutesLabel', {
defaultMessage: '15m'
}),
description: i18n.translate('xpack.monitoring.metrics.kibanaInstance.systemLoad.last15MinutesDescription', {
defaultMessage: 'Load average over the last 15 minutes.'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
kibana_memory_heap_size_limit: new KibanaMetric({
title: 'Memory Size',
title: instanceMemorySizeTitle,
field: 'kibana_stats.process.memory.heap.size_limit',
label: 'Heap Size Limit',
description: 'Limit of memory usage before garbage collection.',
label: i18n.translate('xpack.monitoring.metrics.kibanaInstance.memorySize.heapSizeLimitLabel', {
defaultMessage: 'Heap Size Limit'
}),
description: i18n.translate('xpack.monitoring.metrics.kibanaInstance.memorySize.heapSizeLimitDescription', {
defaultMessage: 'Limit of memory usage before garbage collection.'
}),
format: LARGE_BYTES,
metricAgg: 'max',
units: 'B'
}),
kibana_memory_size: new KibanaMetric({
title: 'Memory Size',
title: instanceMemorySizeTitle,
field: 'kibana_stats.process.memory.resident_set_size_in_bytes',
label: 'Memory Size',
description: 'Total heap used by Kibana running in Node.js.',
label: i18n.translate('xpack.monitoring.metrics.kibanaInstance.memorySizeLabel', {
defaultMessage: 'Memory Size'
}),
description: i18n.translate('xpack.monitoring.metrics.kibanaInstance.memorySizeDescription', {
defaultMessage: 'Total heap used by Kibana running in Node.js.'
}),
format: LARGE_BYTES,
metricAgg: 'max',
units: 'B'
}),
kibana_process_delay: new KibanaMetric({
field: 'kibana_stats.process.event_loop_delay',
label: 'Event Loop Delay',
description:
'Delay in Kibana server event loops. Longer delays may indicate blocking events in server thread, such as synchronous functions taking large amount of CPU time.', // eslint-disable-line max-len
label: i18n.translate('xpack.monitoring.metrics.kibanaInstance.eventLoopDelayLabel', {
defaultMessage: 'Event Loop Delay'
}),
description: i18n.translate('xpack.monitoring.metrics.kibanaInstance.eventLoopDelayDescription', {
defaultMessage: 'Delay in Kibana server event loops. Longer delays may indicate blocking events in server thread, ' +
'such as synchronous functions taking large amount of CPU time.'
}),
format: SMALL_FLOAT,
metricAgg: 'max',
units: 'ms'
units: msTimeUnitLabel
}),
kibana_average_response_times: new KibanaMetric({
title: 'Client Response Time',
title: instanceClientResponseTimeTitle,
field: 'kibana_stats.response_times.average',
label: 'Average',
description:
'Average response time for client requests to the Kibana instance.',
label: i18n.translate('xpack.monitoring.metrics.kibanaInstance.clientResponseTime.averageLabel', {
defaultMessage: 'Average'
}),
description: i18n.translate('xpack.monitoring.metrics.kibanaInstance.clientResponseTime.averageDescription', {
defaultMessage: 'Average response time for client requests to the Kibana instance.'
}),
format: SMALL_FLOAT,
metricAgg: 'max',
units: 'ms'
units: msTimeUnitLabel
}),
kibana_max_response_times: new KibanaMetric({
title: 'Client Response Time',
title: instanceClientResponseTimeTitle,
field: 'kibana_stats.response_times.max',
label: 'Max',
description:
'Maximum response time for client requests to the Kibana instance.',
label: i18n.translate('xpack.monitoring.metrics.kibanaInstance.clientResponseTime.maxLabel', {
defaultMessage: 'Max'
}),
description: i18n.translate('xpack.monitoring.metrics.kibanaInstance.clientResponseTime.maxDescription', {
defaultMessage: 'Maximum response time for client requests to the Kibana instance.'
}),
format: SMALL_FLOAT,
metricAgg: 'max',
units: 'ms'
units: msTimeUnitLabel
}),
kibana_average_concurrent_connections: new KibanaMetric({
field: 'kibana_stats.concurrent_connections',
label: 'HTTP Connections',
description:
'Total number of open socket connections to the Kibana instance.',
label: i18n.translate('xpack.monitoring.metrics.kibana.httpConnectionsLabel', {
defaultMessage: 'HTTP Connections'
}),
description: i18n.translate('xpack.monitoring.metrics.kibana.httpConnectionsDescription', {
defaultMessage: 'Total number of open socket connections to the Kibana instance.'
}),
format: SMALL_FLOAT,
metricAgg: 'max',
units: ''
}),
kibana_requests: new KibanaMetric({
field: 'kibana_stats.requests.total',
label: 'Client Requests',
description:
'Total number of client requests received by the Kibana instance.',
label: i18n.translate('xpack.monitoring.metrics.kibanaInstance.clientRequestsLabel', {
defaultMessage: 'Client Requests'
}),
description: i18n.translate('xpack.monitoring.metrics.kibanaInstance.clientRequestsDescription', {
defaultMessage: 'Total number of client requests received by the Kibana instance.'
}),
format: SMALL_FLOAT,
metricAgg: 'max',
units: ''

View file

@ -8,6 +8,14 @@ import _ from 'lodash';
import { ClusterMetric, Metric } from '../classes';
import { LARGE_FLOAT } from '../../../../common/formatting';
import { NORMALIZED_DERIVATIVE_UNIT } from '../../../../common/constants';
import { i18n } from '@kbn/i18n';
const msTimeUnitLabel = i18n.translate('xpack.monitoring.metrics.logstash.msTimeUnitLabel', {
defaultMessage: 'ms'
});
const perSecondUnitLabel = i18n.translate('xpack.monitoring.metrics.logstash.perSecondUnitLabel', {
defaultMessage: '/s'
});
export class LogstashClusterMetric extends ClusterMetric {
constructor(opts) {
@ -32,7 +40,7 @@ export class LogstashEventsLatencyClusterMetric extends LogstashClusterMetric {
...opts,
format: LARGE_FLOAT,
metricAgg: 'max',
units: 'ms'
units: msTimeUnitLabel
});
this.aggs = {
@ -106,7 +114,7 @@ export class LogstashEventsRateClusterMetric extends LogstashClusterMetric {
derivative: true,
format: LARGE_FLOAT,
metricAgg: 'max',
units: '/s'
units: perSecondUnitLabel
});
this.aggs = {
@ -163,7 +171,7 @@ export class LogstashEventsLatencyMetric extends LogstashMetric {
...opts,
format: LARGE_FLOAT,
metricAgg: 'sum',
units: 'ms'
units: msTimeUnitLabel
});
this.aggs = {
@ -213,7 +221,7 @@ export class LogstashEventsRateMetric extends LogstashMetric {
derivative: true,
format: LARGE_FLOAT,
metricAgg: 'max',
units: '/s'
units: perSecondUnitLabel
});
}
}

View file

@ -21,106 +21,185 @@ import {
SMALL_BYTES,
LARGE_ABBREVIATED
} from '../../../../common/formatting';
import { i18n } from '@kbn/i18n';
const instanceSystemLoadTitle = i18n.translate('xpack.monitoring.metrics.logstash.systemLoadTitle', {
defaultMessage: 'System Load'
});
const instanceJvmHeapTitle = i18n.translate('xpack.monitoring.metrics.logstashInstance.jvmHeapTitle', {
defaultMessage: '{javaVirtualMachine} Heap',
values: { javaVirtualMachine: 'JVM' }
});
const instanceCpuUtilizationLabel = i18n.translate('xpack.monitoring.metrics.logstashInstance.cpuUtilizationLabel', {
defaultMessage: 'CPU Utilization'
});
const instanceCgroupCfsStatsTitle = i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCfsStatsTitle', {
defaultMessage: 'Cgroup CFS Stats'
});
const instanceCgroupCpuPerformanceTitle = i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCpuPerformanceTitle', {
defaultMessage: 'Cgroup CPU Performance'
});
const pipelineThroughputLabel = i18n.translate('xpack.monitoring.metrics.logstashInstance.pipelineThroughputLabel', {
defaultMessage: 'Pipeline Throughput'
});
const pipelineThroughputDescription = i18n.translate('xpack.monitoring.metrics.logstashInstance.pipelineThroughputDescription', {
defaultMessage: 'Number of events emitted per second by the Logstash pipeline at the outputs stage.'
});
const pipelineNodeCountLabel = i18n.translate('xpack.monitoring.metrics.logstashInstance.pipelineNodeCountLabel', {
defaultMessage: 'Pipeline Node Count'
});
const pipelineNodeCountDescription = i18n.translate('xpack.monitoring.metrics.logstashInstance.pipelineNodeCountDescription', {
defaultMessage: 'Number of nodes on which the Logstash pipeline is running.'
});
const nsTimeUnitLabel = i18n.translate('xpack.monitoring.metrics.logstash.nsTimeUnitLabel', {
defaultMessage: 'ns'
});
const eventsPerSecondUnitLabel = i18n.translate('xpack.monitoring.metrics.logstash.eventsPerSecondUnitLabel', {
defaultMessage: 'e/s'
});
export const metrics = {
logstash_cluster_events_input_rate: new LogstashEventsRateClusterMetric({
field: 'logstash_stats.events.in',
label: 'Events Received Rate',
description:
'Number of events received per second by all Logstash nodes at the inputs stage.'
label: i18n.translate('xpack.monitoring.metrics.logstash.eventsReceivedRateLabel', {
defaultMessage: 'Events Received Rate'
}),
description: i18n.translate('xpack.monitoring.metrics.logstash.eventsReceivedRateDescription', {
defaultMessage: 'Number of events received per second by all Logstash nodes at the inputs stage.'
})
}),
logstash_cluster_events_output_rate: new LogstashEventsRateClusterMetric({
field: 'logstash_stats.events.out',
label: 'Events Emitted Rate',
description:
'Number of events emitted per second by all Logstash nodes at the outputs stage.'
label: i18n.translate('xpack.monitoring.metrics.logstash.eventsEmittedRateLabel', {
defaultMessage: 'Events Emitted Rate'
}),
description: i18n.translate('xpack.monitoring.metrics.logstash.eventsEmittedRateDescription', {
defaultMessage: 'Number of events emitted per second by all Logstash nodes at the outputs stage.'
})
}),
logstash_cluster_events_latency: new LogstashEventsLatencyClusterMetric({
field: 'logstash_stats.events.out',
label: 'Event Latency',
description:
'Average time spent by events in the filter and output stages, which is the total ' +
'time it takes to process events divided by number of events emitted.'
label: i18n.translate('xpack.monitoring.metrics.logstash.eventLatencyLabel', {
defaultMessage: 'Event Latency'
}),
description: i18n.translate('xpack.monitoring.metrics.logstash.eventLatencyDescription', {
defaultMessage: 'Average time spent by events in the filter and output stages, which is the total ' +
'time it takes to process events divided by number of events emitted.'
})
}),
logstash_events_input_rate: new LogstashEventsRateMetric({
field: 'logstash_stats.events.in',
label: 'Events Received Rate',
description:
'Number of events received per second by the Logstash node at the inputs stage.'
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.eventsReceivedRateLabel', {
defaultMessage: 'Events Received Rate'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.eventsReceivedRateDescription', {
defaultMessage: 'Number of events received per second by the Logstash node at the inputs stage.'
})
}),
logstash_events_output_rate: new LogstashEventsRateMetric({
field: 'logstash_stats.events.out',
label: 'Events Emitted Rate',
description:
'Number of events emitted per second by the Logstash node at the outputs stage.'
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.eventsEmittedRateLabel', {
defaultMessage: 'Events Emitted Rate'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.eventsEmittedRateDescription', {
defaultMessage: 'Number of events emitted per second by the Logstash node at the outputs stage.'
})
}),
logstash_events_latency: new LogstashEventsLatencyMetric({
field: 'logstash_stats.events.out',
label: 'Event Latency',
description:
'Average time spent by events in the filter and output stages, which is the total ' +
'time it takes to process events divided by number of events emitted.'
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.eventLatencyLabel', {
defaultMessage: 'Event Latency'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.eventLatencyDescription', {
defaultMessage: 'Average time spent by events in the filter and output stages, which is the total ' +
'time it takes to process events divided by number of events emitted.'
})
}),
logstash_os_load_1m: new LogstashMetric({
title: 'System Load',
title: instanceSystemLoadTitle,
field: 'logstash_stats.os.cpu.load_average.1m',
label: '1m',
description: 'Load average over the last minute.',
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.systemLoad.last1MinuteLabel', {
defaultMessage: '1m'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.systemLoad.last1MinuteDescription', {
defaultMessage: 'Load average over the last minute.'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
logstash_os_load_5m: new LogstashMetric({
title: 'System Load',
title: instanceSystemLoadTitle,
field: 'logstash_stats.os.cpu.load_average.5m',
label: '5m',
description: 'Load average over the last 5 minutes.',
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.systemLoad.last5MinutesLabel', {
defaultMessage: '5m'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.systemLoad.last5MinutesDescription', {
defaultMessage: 'Load average over the last 5 minutes.'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
logstash_os_load_15m: new LogstashMetric({
title: 'System Load',
title: instanceSystemLoadTitle,
field: 'logstash_stats.os.cpu.load_average.15m',
label: '15m',
description: 'Load average over the last 15 minutes.',
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.systemLoad.last15MinutesLabel', {
defaultMessage: '15m'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.systemLoad.last15MinutesDescription', {
defaultMessage: 'Load average over the last 15 minutes.'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
logstash_node_jvm_mem_max_in_bytes: new LogstashMetric({
field: 'logstash_stats.jvm.mem.heap_max_in_bytes',
title: 'JVM Heap',
label: 'Max Heap',
description: 'Total heap available to Logstash running in the JVM.',
title: instanceJvmHeapTitle,
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.jvmHeap.maxHeapLabel', {
defaultMessage: 'Max Heap'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.jvmHeap.maxHeapDescription', {
defaultMessage: 'Total heap available to Logstash running in the JVM.'
}),
format: SMALL_BYTES,
metricAgg: 'max',
units: 'B'
}),
logstash_node_jvm_mem_used_in_bytes: new LogstashMetric({
field: 'logstash_stats.jvm.mem.heap_used_in_bytes',
title: 'JVM Heap',
label: 'Used Heap',
description: 'Total heap used by Logstash running in the JVM.',
title: instanceJvmHeapTitle,
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.jvmHeap.usedHeapLabel', {
defaultMessage: 'Used Heap'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.jvmHeap.usedHeapDescription', {
defaultMessage: 'Total heap used by Logstash running in the JVM.'
}),
format: SMALL_BYTES,
metricAgg: 'max',
units: 'B'
}),
logstash_node_cpu_utilization: new LogstashMetric({
field: 'logstash_stats.process.cpu.percent',
label: 'CPU Utilization',
description:
'Percentage of CPU usage reported by the OS (100% is the max).',
label: instanceCpuUtilizationLabel,
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.cpuUtilizationDescription', {
defaultMessage: 'Percentage of CPU usage reported by the OS (100% is the max).'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: '%'
}),
logstash_node_cgroup_periods: new LogstashMetric({
field: 'logstash_stats.os.cgroup.cpu.stat.number_of_elapsed_periods',
title: 'Cgroup CFS Stats',
label: 'Cgroup Elapsed Periods',
description:
'The number of sampling periods from the Completely Fair Scheduler (CFS). Compare against the number of times throttled.',
title: instanceCgroupCfsStatsTitle,
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCfsStats.cgroupElapsedPeriodsLabel', {
defaultMessage: 'Cgroup Elapsed Periods'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCfsStats.cgroupElapsedPeriodsDescription', {
defaultMessage:
'The number of sampling periods from the Completely Fair Scheduler (CFS). Compare against the number of times throttled.'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
derivative: true,
@ -128,21 +207,27 @@ export const metrics = {
}),
logstash_node_cgroup_throttled: new LogstashMetric({
field: 'logstash_stats.os.cgroup.cpu.stat.time_throttled_nanos',
title: 'Cgroup CPU Performance',
label: 'Cgroup Throttling',
description:
'The amount of throttled time, reported in nanoseconds, of the Cgroup.',
title: instanceCgroupCpuPerformanceTitle,
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCpuPerformance.cgroupThrottlingLabel', {
defaultMessage: 'Cgroup Throttling'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCpuPerformance.cgroupThrottlingDescription', {
defaultMessage: 'The amount of throttled time, reported in nanoseconds, of the Cgroup.'
}),
format: LARGE_ABBREVIATED,
metricAgg: 'max',
derivative: true,
units: 'ns'
units: nsTimeUnitLabel
}),
logstash_node_cgroup_throttled_count: new LogstashMetric({
field: 'logstash_stats.os.cgroup.cpu.stat.number_of_times_throttled',
title: 'Cgroup CFS Stats',
label: 'Cgroup Throttled Count',
description:
'The number of times that the CPU was throttled by the Cgroup.',
title: instanceCgroupCfsStatsTitle,
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCfsStats.cgroupThrottledCountLabel', {
defaultMessage: 'Cgroup Throttled Count'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCfsStats.cgroupThrottledCountDescription', {
defaultMessage: 'The number of times that the CPU was throttled by the Cgroup.'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
derivative: true,
@ -150,14 +235,17 @@ export const metrics = {
}),
logstash_node_cgroup_usage: new LogstashMetric({
field: 'logstash_stats.os.cgroup.cpuacct.usage_nanos',
title: 'Cgroup CPU Performance',
label: 'Cgroup Usage',
description:
'The usage, reported in nanoseconds, of the Cgroup. Compare this with the throttling to discover issues.',
title: instanceCgroupCpuPerformanceTitle,
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCpuPerformance.cgroupUsageLabel', {
defaultMessage: 'Cgroup Usage'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCpuPerformance.cgroupUsageDescription', {
defaultMessage: 'The usage, reported in nanoseconds, of the Cgroup. Compare this with the throttling to discover issues.'
}),
format: LARGE_ABBREVIATED,
metricAgg: 'max',
derivative: true,
units: 'ns'
units: nsTimeUnitLabel
}),
...(() => {
// CGroup CPU Utilization Fields
@ -170,77 +258,94 @@ export const metrics = {
periodsField: 'cpu.stat.number_of_elapsed_periods',
quotaField: 'cpu.cfs_quota_micros',
field: 'logstash_stats.process.cpu.percent', // backup field if quota is not configured
label: 'Cgroup CPU Utilization',
description:
'CPU Usage time compared to the CPU quota shown in percentage. If CPU ' +
'quotas are not set, then no data will be shown.'
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.cpuUtilization.cgroupCpuUtilizationLabel', {
defaultMessage: 'Cgroup CPU Utilization'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.cgroupCpuUtilizationDescription', {
defaultMessage:
'CPU Usage time compared to the CPU quota shown in percentage. If CPU quotas are not set, then no data will be shown.'
})
};
return {
logstash_node_cgroup_quota: new QuotaMetric({
...quotaMetricConfig,
title: 'CPU Utilization'
title: i18n.translate('xpack.monitoring.metrics.logstashInstance.cpuUtilizationTitle', {
defaultMessage: 'CPU Utilization'
})
}),
logstash_node_cgroup_quota_as_cpu_utilization: new QuotaMetric({
...quotaMetricConfig,
label: 'CPU Utilization' // override the "Cgroup CPU..." label
label: instanceCpuUtilizationLabel // override the "Cgroup CPU..." label
})
};
})(),
logstash_queue_events_count: new LogstashMetric({
field: 'logstash_stats.queue.events_count',
label: 'Events Queued',
title: 'Persistent Queue Events',
description:
'Average number of events in the persistent queue waiting to be processed by the filter and output stages.',
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.eventsQueuedLabel', {
defaultMessage: 'Events Queued'
}),
title: i18n.translate('xpack.monitoring.metrics.logstashInstance.persistentQueueEventsTitle', {
defaultMessage: 'Persistent Queue Events'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.eventsQueuedDescription', {
defaultMessage: 'Average number of events in the persistent queue waiting to be processed by the filter and output stages.'
}),
format: LARGE_FLOAT,
metricAgg: 'max',
units: ''
}),
logstash_pipeline_queue_size: new LogstashPipelineQueueSizeMetric({
field: 'logstash_stats.pipelines.queue.queue_size_in_bytes',
label: 'Queue Size',
description:
'Current size of all persistent queues in the Logstash pipelines on this node.',
title: 'Persistent Queue Size',
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.queueSizeLabel', {
defaultMessage: 'Queue Size'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.queueSizeDescription', {
defaultMessage: 'Current size of all persistent queues in the Logstash pipelines on this node.'
}),
title: i18n.translate('xpack.monitoring.metrics.logstashInstance.persistentQueueSizeTitle', {
defaultMessage: 'Persistent Queue Size'
}),
format: LARGE_BYTES,
units: 'B'
}),
logstash_pipeline_max_queue_size: new LogstashPipelineQueueSizeMetric({
field: 'logstash_stats.pipelines.queue.max_queue_size_in_bytes',
label: 'Max Queue Size',
description: 'Maximum size set for the persistent queues on this node.',
label: i18n.translate('xpack.monitoring.metrics.logstashInstance.maxQueueSizeLabel', {
defaultMessage: 'Max Queue Size'
}),
description: i18n.translate('xpack.monitoring.metrics.logstashInstance.maxQueueSizeDescription', {
defaultMessage: 'Maximum size set for the persistent queues on this node.'
}),
format: LARGE_BYTES,
units: 'B'
}),
logstash_cluster_pipeline_throughput: new LogstashPipelineThroughputMetric({
field: 'logstash_stats.pipelines.events.out',
label: 'Pipeline Throughput',
description:
'Number of events emitted per second by the Logstash pipeline at the outputs stage.',
label: pipelineThroughputLabel,
description: pipelineThroughputDescription,
format: LARGE_FLOAT,
units: 'e/s'
units: eventsPerSecondUnitLabel
}),
logstash_node_pipeline_throughput: new LogstashPipelineThroughputMetric({
uuidField: 'logstash_stats.logstash.uuid', // TODO: add comment explaining why
field: 'logstash_stats.pipelines.events.out',
label: 'Pipeline Throughput',
description:
'Number of events emitted per second by the Logstash pipeline at the outputs stage.',
label: pipelineThroughputLabel,
description: pipelineThroughputDescription,
format: LARGE_FLOAT,
units: 'e/s'
units: eventsPerSecondUnitLabel
}),
logstash_cluster_pipeline_nodes_count: new LogstashPipelineNodeCountMetric({
field: 'logstash_stats.logstash.uuid',
label: 'Pipeline Node Count',
description: 'Number of nodes on which the Logstash pipeline is running.',
label: pipelineNodeCountLabel,
description: pipelineNodeCountDescription,
format: LARGE_FLOAT,
units: ''
}),
logstash_node_pipeline_nodes_count: new LogstashPipelineNodeCountMetric({
uuidField: 'logstash_stats.logstash.uuid', // TODO: add comment explaining why
field: 'logstash_stats.logstash.uuid',
label: 'Pipeline Node Count',
description: 'Number of nodes on which the Logstash pipeline is running.',
label: pipelineNodeCountLabel,
description: pipelineNodeCountDescription,
format: LARGE_FLOAT,
units: ''
})