Skip to content

Commit a0fded5

Browse files
jgowdyelasticelasticmachinekibanamachine
authored
[ML] Adding space aware jobs (#77916)
* [ML] Adding space aware jobs * adding mlClient * switching to type includes * adding additional job checks * fixing conflict * adding dfa checks * refactoring jobs in spaces checks * filtering calendars * adding initial job object status and repair endpoints * enabling repair endpoint * fixing listed jobs in status * adding datafeed repair * updating shared services * adding results job id check * fixing conflicts * don't remove SO on delete * fixing non-ml plugins * filtering job audit messages * fixing types * fixing tests * adding job ids wildcard support * removing empty migration test * fixing tests and disabling spaces test user * adding saved objects all permission * fixing calendars * updating job 404 * updating job wildcard search * renaming services * fixing conflicts * fixing log tests * disabling apm test * skipping more apm tests * optimzing repair * fixing types * updating apm test archive to include ML saved objects * enabling disabled test * removing comment * adding space assigning endpoints * adding saved object default permissions * removing commented code * loading all jobs for all spaces for status check * adding spaces list endpoint * adding job spaces to management page * adding trained model fltering * fixing trained model id check and job wildcard check * fixing types * fixing bug when adding new job to calendar * changes based on review * updating schema * changes based on review * fixing types * rolling back http service injection * fixing http service injection * adding errrors to repair endpoint response * updating api doc * improving types * disabling id check on ad get endpoints * fixing tests * fixing group requests * adding comments * using filter in saved object search * fixing fake request issue * removing console log * making job saved object hidden * removing acccidentally included file * renaming saved object client * updating apidoc * unhiding ml saved objects * moving route guard * improving error when SOC is null * fixing types after merge with master * fixing tests Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
1 parent 2db4244 commit a0fded5

File tree

133 files changed

+6110
-1399
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+6110
-1399
lines changed

x-pack/plugins/apm/server/lib/alerts/register_transaction_duration_anomaly_alert_type.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,14 @@ export function registerTransactionDurationAnomalyAlertType({
7373
}
7474
const alertParams = params;
7575
const request = {} as KibanaRequest;
76-
const { mlAnomalySearch } = ml.mlSystemProvider(request);
77-
const anomalyDetectors = ml.anomalyDetectorsProvider(request);
76+
const { mlAnomalySearch } = ml.mlSystemProvider(
77+
request,
78+
services.savedObjectsClient
79+
);
80+
const anomalyDetectors = ml.anomalyDetectorsProvider(
81+
request,
82+
services.savedObjectsClient
83+
);
7884

7985
const mlJobs = await getMLJobs(anomalyDetectors, alertParams.environment);
8086

@@ -94,6 +100,7 @@ export function registerTransactionDurationAnomalyAlertType({
94100
return {};
95101
}
96102

103+
const jobIds = mlJobs.map((job) => job.job_id);
97104
const anomalySearchParams = {
98105
terminateAfter: 1,
99106
body: {
@@ -102,7 +109,7 @@ export function registerTransactionDurationAnomalyAlertType({
102109
bool: {
103110
filter: [
104111
{ term: { result_type: 'record' } },
105-
{ terms: { job_id: mlJobs.map((job) => job.job_id) } },
112+
{ terms: { job_id: jobIds } },
106113
{
107114
range: {
108115
timestamp: {
@@ -163,7 +170,8 @@ export function registerTransactionDurationAnomalyAlertType({
163170
};
164171

165172
const response = ((await mlAnomalySearch(
166-
anomalySearchParams
173+
anomalySearchParams,
174+
jobIds
167175
)) as unknown) as {
168176
hits: { total: { value: number } };
169177
aggregations?: {

x-pack/plugins/apm/server/lib/helpers/setup_request.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ function getMlSetup(
123123
request: KibanaRequest
124124
) {
125125
return {
126-
mlSystem: ml.mlSystemProvider(request),
127-
anomalyDetectors: ml.anomalyDetectorsProvider(request),
126+
mlSystem: ml.mlSystemProvider(request, savedObjectsClient),
127+
anomalyDetectors: ml.anomalyDetectorsProvider(request, savedObjectsClient),
128128
modules: ml.modulesProvider(request, savedObjectsClient),
129129
};
130130
}

x-pack/plugins/apm/server/lib/service_map/get_service_anomalies.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ export async function getServiceAnomalies({
104104
},
105105
};
106106

107-
const response = await ml.mlSystem.mlAnomalySearch(params);
107+
const response = await ml.mlSystem.mlAnomalySearch(params, mlJobIds);
108108

109109
return {
110110
mlJobIds,

x-pack/plugins/apm/server/lib/transactions/charts/get_anomaly_data/fetcher.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export async function anomalySeriesFetcher({
8181
const response: ESSearchResponse<
8282
unknown,
8383
typeof params
84-
> = (await ml.mlSystem.mlAnomalySearch(params)) as any;
84+
> = (await ml.mlSystem.mlAnomalySearch(params, [jobId])) as any;
8585

8686
return response;
8787
} catch (err) {

x-pack/plugins/apm/server/lib/transactions/charts/get_anomaly_data/get_ml_bucket_size.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export async function getMlBucketSize({
4949
};
5050

5151
try {
52-
const resp = await ml.mlSystem.mlAnomalySearch<ESResponse>(params);
52+
const resp = await ml.mlSystem.mlAnomalySearch<ESResponse>(params, [jobId]);
5353
return resp.hits.hits[0]?._source.bucket_span;
5454
} catch (err) {
5555
const isHttpError = 'statusCode' in err;

x-pack/plugins/infra/server/lib/infra_ml/common.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ export async function getLogEntryDatasets(
6262
endTime,
6363
COMPOSITE_AGGREGATION_BATCH_SIZE,
6464
afterLatestBatchKey
65-
)
65+
),
66+
jobIds
6667
)
6768
);
6869

x-pack/plugins/infra/server/lib/infra_ml/metrics_hosts_anomalies.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ async function fetchMetricsHostsAnomalies(
177177

178178
const results = decodeOrThrow(metricsHostsAnomaliesResponseRT)(
179179
await mlSystem.mlAnomalySearch(
180-
createMetricsHostsAnomaliesQuery(jobIds, startTime, endTime, sort, expandedPagination)
180+
createMetricsHostsAnomaliesQuery(jobIds, startTime, endTime, sort, expandedPagination),
181+
jobIds
181182
)
182183
);
183184

x-pack/plugins/infra/server/lib/infra_ml/metrics_k8s_anomalies.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,8 @@ async function fetchMetricK8sAnomalies(
173173

174174
const results = decodeOrThrow(metricsK8sAnomaliesResponseRT)(
175175
await mlSystem.mlAnomalySearch(
176-
createMetricsK8sAnomaliesQuery(jobIds, startTime, endTime, sort, expandedPagination)
176+
createMetricsK8sAnomaliesQuery(jobIds, startTime, endTime, sort, expandedPagination),
177+
jobIds
177178
)
178179
);
179180

x-pack/plugins/infra/server/lib/log_analysis/common.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ export async function getLogEntryDatasets(
6262
endTime,
6363
COMPOSITE_AGGREGATION_BATCH_SIZE,
6464
afterLatestBatchKey
65-
)
65+
),
66+
jobIds
6667
)
6768
);
6869

x-pack/plugins/infra/server/lib/log_analysis/log_entry_anomalies.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,8 @@ async function fetchLogEntryAnomalies(
223223

224224
const results = decodeOrThrow(logEntryAnomaliesResponseRT)(
225225
await mlSystem.mlAnomalySearch(
226-
createLogEntryAnomaliesQuery(jobIds, startTime, endTime, sort, expandedPagination, datasets)
226+
createLogEntryAnomaliesQuery(jobIds, startTime, endTime, sort, expandedPagination, datasets),
227+
jobIds
227228
)
228229
);
229230

0 commit comments

Comments
 (0)