diff --git a/packages/kbn-slo-schema/src/schema/indicators.ts b/packages/kbn-slo-schema/src/schema/indicators.ts index 045d267b04d42..55b5e31af5da0 100644 --- a/packages/kbn-slo-schema/src/schema/indicators.ts +++ b/packages/kbn-slo-schema/src/schema/indicators.ts @@ -19,9 +19,9 @@ const apmTransactionDurationIndicatorSchema = t.type({ transactionType: allOrAnyString, transactionName: allOrAnyString, threshold: t.number, + index: t.string, }), t.partial({ - index: t.string, filter: t.string, }), ]), @@ -36,12 +36,12 @@ const apmTransactionErrorRateIndicatorSchema = t.type({ service: allOrAnyString, transactionType: allOrAnyString, transactionName: allOrAnyString, + index: t.string, }), t.partial({ goodStatusCodes: t.array( t.union([t.literal('2xx'), t.literal('3xx'), t.literal('4xx'), t.literal('5xx')]) ), - index: t.string, filter: t.string, }), ]), diff --git a/x-pack/plugins/observability/dev_docs/slo.md b/x-pack/plugins/observability/dev_docs/slo.md index 1030efa1f87dd..60d327ecf43fb 100644 --- a/x-pack/plugins/observability/dev_docs/slo.md +++ b/x-pack/plugins/observability/dev_docs/slo.md @@ -70,7 +70,8 @@ curl --request POST \ "service": "o11y-app", "transactionType": "request", "transactionName": "GET /api", - "goodStatusCodes": ["2xx", "3xx", "4xx"] + "goodStatusCodes": ["2xx", "3xx", "4xx"], + "index": "metrics-apm*" } }, "timeWindow": { @@ -105,7 +106,8 @@ curl --request POST \ "service": "o11y-app", "transactionType": "request", "transactionName": "GET /api", - "goodStatusCodes": ["2xx", "3xx", "4xx"] + "goodStatusCodes": ["2xx", "3xx", "4xx"], + "index": "metrics-apm*" } }, "timeWindow": { @@ -142,7 +144,8 @@ curl --request POST \ "service": "o11y-app", "transactionType": "request", "transactionName": "GET /api", - "goodStatusCodes": ["2xx", "3xx", "4xx"] + "goodStatusCodes": ["2xx", "3xx", "4xx"], + "index": "metrics-apm*" } }, "timeWindow": { @@ -181,7 +184,8 @@ curl --request POST \ "service": "o11y-app", "transactionType": "request", "transactionName": "GET /api", - "threshold": 500000 + "threshold": 500, + "index": "metrics-apm*" } }, "timeWindow": { @@ -216,7 +220,8 @@ curl --request POST \ "service": "o11y-app", "transactionType": "request", "transactionName": "GET /api", - "threshold": 500000 + "threshold": 500, + "index": "metrics-apm*" } }, "timeWindow": { @@ -253,7 +258,8 @@ curl --request POST \ "service": "o11y-app", "transactionType": "request", "transactionName": "GET /api", - "threshold": 500000 + "threshold": 500, + "index": "metrics-apm*" } }, "timeWindow": { diff --git a/x-pack/plugins/observability/docs/openapi/slo/bundled.yaml b/x-pack/plugins/observability/docs/openapi/slo/bundled.yaml index 9e333d0594c66..8c4f062692a3b 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/bundled.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/bundled.yaml @@ -145,7 +145,7 @@ paths: - $ref: '#/components/parameters/slo_id' responses: '200': - description: Succesful request + description: Successful request content: application/json: schema: @@ -181,7 +181,7 @@ paths: $ref: '#/components/schemas/update_slo_request' responses: '200': - description: Succesful request + description: Successful request content: application/json: schema: @@ -211,7 +211,7 @@ paths: - $ref: '#/components/parameters/slo_id' responses: '204': - description: Succesful request + description: Successful request '400': description: Bad request content: @@ -238,7 +238,7 @@ paths: - $ref: '#/components/parameters/slo_id' responses: '204': - description: Succesful request + description: Successful request '400': description: Bad request content: @@ -265,7 +265,7 @@ paths: - $ref: '#/components/parameters/slo_id' responses: '200': - description: Succesful request + description: Successful request '400': description: Bad request content: @@ -400,6 +400,7 @@ components: - environment - transactionType - transactionName + - index properties: service: description: The APM service name @@ -455,6 +456,7 @@ components: - environment - transactionType - transactionName + - index properties: service: description: The APM service name diff --git a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/indicator_properties_apm_availability.yaml b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/indicator_properties_apm_availability.yaml index 29eca24b8df3b..81fe31ea5d7c7 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/indicator_properties_apm_availability.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/indicator_properties_apm_availability.yaml @@ -14,6 +14,7 @@ properties: - environment - transactionType - transactionName + - index properties: service: description: The APM service name diff --git a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/indicator_properties_apm_latency.yaml b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/indicator_properties_apm_latency.yaml index 7ec3bf40871d8..492b116a7f211 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/indicator_properties_apm_latency.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/indicator_properties_apm_latency.yaml @@ -14,6 +14,7 @@ properties: - environment - transactionType - transactionName + - index properties: service: description: The APM service name diff --git a/x-pack/plugins/observability/public/data/slo/indicator.ts b/x-pack/plugins/observability/public/data/slo/indicator.ts index 6bb36ca54d8c2..bad06ce156e81 100644 --- a/x-pack/plugins/observability/public/data/slo/indicator.ts +++ b/x-pack/plugins/observability/public/data/slo/indicator.ts @@ -18,6 +18,7 @@ export const buildApmAvailabilityIndicator = ( transactionType: 'request', transactionName: 'GET /flaky', goodStatusCodes: ['2xx', '3xx', '4xx'], + index: 'metrics-apm*', ...params, }, }; @@ -33,7 +34,8 @@ export const buildApmLatencyIndicator = ( service: 'o11y-app', transactionType: 'request', transactionName: 'GET /slow', - threshold: 5000000, + threshold: 500, + index: 'metrics-apm*', ...params, }, }; diff --git a/x-pack/plugins/observability/server/services/slo/find_slo.test.ts b/x-pack/plugins/observability/server/services/slo/find_slo.test.ts index c9884f7461c8b..ae015f7b7816d 100644 --- a/x-pack/plugins/observability/server/services/slo/find_slo.test.ts +++ b/x-pack/plugins/observability/server/services/slo/find_slo.test.ts @@ -54,6 +54,7 @@ describe('FindSLO', () => { transactionName: 'irrelevant', transactionType: 'irrelevant', threshold: 500, + index: 'metrics-apm*', }, type: 'sli.apm.transactionDuration', }, diff --git a/x-pack/plugins/observability/server/services/slo/fixtures/slo.ts b/x-pack/plugins/observability/server/services/slo/fixtures/slo.ts index 9117c20bfb274..bc664ae8887a1 100644 --- a/x-pack/plugins/observability/server/services/slo/fixtures/slo.ts +++ b/x-pack/plugins/observability/server/services/slo/fixtures/slo.ts @@ -35,6 +35,7 @@ export const createAPMTransactionErrorRateIndicator = ( transactionName: 'irrelevant', transactionType: 'irrelevant', goodStatusCodes: ['2xx', '3xx', '4xx'], + index: 'metrics-apm*', ...params, }, }); @@ -49,6 +50,7 @@ export const createAPMTransactionDurationIndicator = ( transactionName: 'irrelevant', transactionType: 'irrelevant', threshold: 500, + index: 'metrics-apm*', ...params, }, }); diff --git a/x-pack/plugins/observability/server/services/slo/get_slo.test.ts b/x-pack/plugins/observability/server/services/slo/get_slo.test.ts index 3d1b0c9897192..40ecd56958f8c 100644 --- a/x-pack/plugins/observability/server/services/slo/get_slo.test.ts +++ b/x-pack/plugins/observability/server/services/slo/get_slo.test.ts @@ -54,6 +54,7 @@ describe('GetSLO', () => { transactionName: 'irrelevant', transactionType: 'irrelevant', goodStatusCodes: ['2xx', '3xx', '4xx'], + index: 'metrics-apm*', }, type: 'sli.apm.transactionErrorRate', }, diff --git a/x-pack/plugins/observability/server/services/slo/transform_generators/apm_transaction_duration.ts b/x-pack/plugins/observability/server/services/slo/transform_generators/apm_transaction_duration.ts index 165d40cf07c37..e4ef29c4f6d98 100644 --- a/x-pack/plugins/observability/server/services/slo/transform_generators/apm_transaction_duration.ts +++ b/x-pack/plugins/observability/server/services/slo/transform_generators/apm_transaction_duration.ts @@ -20,7 +20,6 @@ import { import { getSLOTransformTemplate } from '../../../assets/transform_templates/slo_transform_template'; import { SLO, APMTransactionDurationIndicator } from '../../../domain/models'; import { getElastichsearchQueryOrThrow, TransformGenerator } from '.'; -import { DEFAULT_APM_INDEX } from './constants'; import { Query } from './types'; import { parseIndex } from './common'; @@ -92,7 +91,7 @@ export class ApmTransactionDurationTransformGenerator extends TransformGenerator } return { - index: parseIndex(indicator.params.index ?? DEFAULT_APM_INDEX), + index: parseIndex(indicator.params.index), runtime_mappings: this.buildCommonRuntimeMappings(slo), query: { bool: { diff --git a/x-pack/plugins/observability/server/services/slo/transform_generators/apm_transaction_error_rate.ts b/x-pack/plugins/observability/server/services/slo/transform_generators/apm_transaction_error_rate.ts index 6288bcfe3ab4e..4ab19e0176013 100644 --- a/x-pack/plugins/observability/server/services/slo/transform_generators/apm_transaction_error_rate.ts +++ b/x-pack/plugins/observability/server/services/slo/transform_generators/apm_transaction_error_rate.ts @@ -21,7 +21,6 @@ import { getSLOTransformId, } from '../../../assets/constants'; import { APMTransactionErrorRateIndicator, SLO } from '../../../domain/models'; -import { DEFAULT_APM_INDEX } from './constants'; import { Query } from './types'; import { parseIndex } from './common'; @@ -97,7 +96,7 @@ export class ApmTransactionErrorRateTransformGenerator extends TransformGenerato } return { - index: parseIndex(indicator.params.index ?? DEFAULT_APM_INDEX), + index: parseIndex(indicator.params.index), runtime_mappings: this.buildCommonRuntimeMappings(slo), query: { bool: { diff --git a/x-pack/plugins/observability/server/services/slo/transform_generators/constants.ts b/x-pack/plugins/observability/server/services/slo/transform_generators/constants.ts deleted file mode 100644 index 0bd3f7f31edcc..0000000000000 --- a/x-pack/plugins/observability/server/services/slo/transform_generators/constants.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export const DEFAULT_APM_INDEX = 'metrics-apm*';