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:
parent
f82d73285a
commit
f19945a7df
|
@ -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 = {
|
||||
|
|
|
@ -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)'
|
||||
})
|
||||
}),
|
||||
};
|
||||
|
|
|
@ -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
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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:
|
||||
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:
|
||||
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 ' +
|
||||
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: '',
|
||||
|
|
|
@ -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 => {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -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: ''
|
||||
|
|
|
@ -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
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 ' +
|
||||
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 ' +
|
||||
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: ''
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue