@oneuptime/common 11.3.4 → 11.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Server/Infrastructure/Queue.ts +103 -16
- package/Server/Services/AnalyticsDatabaseService.ts +9 -5
- package/Server/Services/TeamMemberService.ts +38 -1
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +31 -0
- package/Server/Utils/Monitor/IncomingRequestIncidentGrouping.ts +428 -0
- package/Server/Utils/Monitor/MonitorAlert.ts +158 -8
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +26 -0
- package/Server/Utils/Monitor/MonitorIncident.ts +147 -2
- package/Server/Utils/Monitor/MonitorResource.ts +74 -0
- package/Tests/Server/Utils/AnalyticsDatabase/ClusterAwareSchema.test.ts +2 -1
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +32 -0
- package/Tests/Server/Utils/Monitor/IncomingRequestIncidentGrouping.test.ts +389 -0
- package/Tests/Server/Utils/Monitor/SeriesAbsenceResolutionGuard.test.ts +177 -0
- package/Tests/Types/Events/Recurring.test.ts +475 -0
- package/Tests/Types/Monitor/CriteriaFilter.test.ts +348 -0
- package/Tests/Types/OnCallDutyPolicy/RestrictionTimes.test.ts +331 -0
- package/Tests/UI/Components/Alert.test.tsx +23 -15
- package/Tests/UI/Components/Breadcrumbs.test.tsx +18 -6
- package/Tests/UI/Components/Button.test.tsx +3 -3
- package/Tests/UI/Components/DictionaryFilterOperator.test.ts +174 -0
- package/Tests/UI/Components/EmptyState/EmptyState.test.tsx +4 -3
- package/Tests/UI/Components/Input.test.tsx +3 -2
- package/Tests/UI/Components/Pill.test.tsx +4 -2
- package/Tests/UI/Components/SideMenuItem.test.tsx +18 -8
- package/Tests/UI/Components/TextArea.test.tsx +6 -4
- package/Types/Monitor/IncomingMonitor/IncidentGroupingConfig.ts +74 -0
- package/Types/Monitor/MonitorCriteriaInstance.ts +22 -0
- package/UI/Components/Dictionary/Dictionary.tsx +123 -50
- package/UI/Components/Dictionary/DictionaryFilterOperator.ts +96 -1
- package/UI/Components/MasterPage/MasterPage.tsx +6 -1
- package/build/dist/Server/Infrastructure/Queue.js +83 -15
- package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +9 -5
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +37 -1
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +26 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/IncomingRequestIncidentGrouping.js +288 -0
- package/build/dist/Server/Utils/Monitor/IncomingRequestIncidentGrouping.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +119 -8
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +24 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +103 -2
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +62 -0
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Types/Monitor/IncomingMonitor/IncidentGroupingConfig.js +8 -0
- package/build/dist/Types/Monitor/IncomingMonitor/IncidentGroupingConfig.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +10 -0
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
- package/build/dist/UI/Components/Dictionary/Dictionary.js +60 -9
- package/build/dist/UI/Components/Dictionary/Dictionary.js.map +1 -1
- package/build/dist/UI/Components/Dictionary/DictionaryFilterOperator.js +69 -0
- package/build/dist/UI/Components/Dictionary/DictionaryFilterOperator.js.map +1 -1
- package/build/dist/UI/Components/MasterPage/MasterPage.js +7 -1
- package/build/dist/UI/Components/MasterPage/MasterPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import logger from "../Logger";
|
|
2
|
+
import VMUtil from "../VM/VMAPI";
|
|
3
|
+
import MetricSeriesFingerprint from "../../../Utils/Metrics/MetricSeriesFingerprint";
|
|
4
|
+
import Typeof from "../../../Types/Typeof";
|
|
5
|
+
const DEFAULT_MAX_KEYS_PER_PAYLOAD = 100;
|
|
6
|
+
const ARRAY_WILDCARD = "[*]";
|
|
7
|
+
/**
|
|
8
|
+
* Turns an incoming-request / webhook payload into per-key incident
|
|
9
|
+
* matches, so a single monitor can hold multiple concurrent incidents —
|
|
10
|
+
* one per distinct value (Grafana alert name, fingerprint, etc.). This
|
|
11
|
+
* reuses the same `seriesFingerprint` mechanism metric monitors use for
|
|
12
|
+
* per-series incidents; see {@link IncidentGroupingConfig}.
|
|
13
|
+
*/
|
|
14
|
+
export default class IncomingRequestIncidentGrouping {
|
|
15
|
+
/**
|
|
16
|
+
* Parse the request body into a JSON object. Bodies arrive either
|
|
17
|
+
* pre-parsed (JSONObject) or as a raw JSON string depending on the
|
|
18
|
+
* ingestion path; both are handled. Non-JSON / non-object bodies
|
|
19
|
+
* (e.g. a bare string heartbeat) return null — grouping is a no-op.
|
|
20
|
+
*/
|
|
21
|
+
static getRequestBodyObject(dataToProcess) {
|
|
22
|
+
const body = dataToProcess.requestBody;
|
|
23
|
+
if (!body) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
if (typeof body === Typeof.String) {
|
|
27
|
+
try {
|
|
28
|
+
const parsed = JSON.parse(body);
|
|
29
|
+
return parsed &&
|
|
30
|
+
typeof parsed === Typeof.Object &&
|
|
31
|
+
!Array.isArray(parsed)
|
|
32
|
+
? parsed
|
|
33
|
+
: null;
|
|
34
|
+
}
|
|
35
|
+
catch (_a) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (typeof body === Typeof.Object && !Array.isArray(body)) {
|
|
40
|
+
return body;
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Firing matches for one criteria — used by the criteria evaluator to
|
|
46
|
+
* fan a matched incoming-request criteria into one incident per key.
|
|
47
|
+
* Returns an empty array when grouping is not configured (preserving
|
|
48
|
+
* the legacy single-incident behaviour) or when there is no usable
|
|
49
|
+
* payload (e.g. the heartbeat-timeout re-evaluation cron, which carries
|
|
50
|
+
* no fresh body).
|
|
51
|
+
*/
|
|
52
|
+
static collectFiringMatches(input) {
|
|
53
|
+
var _a, _b;
|
|
54
|
+
const grouping = (_a = input.criteriaInstance.data) === null || _a === void 0 ? void 0 : _a.incidentGrouping;
|
|
55
|
+
if (!(grouping === null || grouping === void 0 ? void 0 : grouping.groupByJSONPath)) {
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
58
|
+
if (input.dataToProcess
|
|
59
|
+
.onlyCheckForIncomingRequestReceivedAt) {
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
const criteriaId = (_b = input.criteriaInstance.data) === null || _b === void 0 ? void 0 : _b.id;
|
|
63
|
+
if (!criteriaId) {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
const body = this.getRequestBodyObject(input.dataToProcess);
|
|
67
|
+
if (!body) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
const matches = [];
|
|
71
|
+
for (const item of this.extractItems({ requestBody: body, grouping })) {
|
|
72
|
+
if (item.isResolved) {
|
|
73
|
+
// A resolved event never opens an incident.
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
matches.push({
|
|
77
|
+
criteriaMetId: criteriaId,
|
|
78
|
+
fingerprint: item.fingerprint,
|
|
79
|
+
labels: item.labels,
|
|
80
|
+
rootCause: input.rootCause ||
|
|
81
|
+
`Incoming request matched grouping key \`${item.keyValue}\`.`,
|
|
82
|
+
metricContext: undefined,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
return matches;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Fingerprints the payload explicitly classifies as resolved, across
|
|
89
|
+
* every grouping-enabled criteria on the monitor's step. The caller
|
|
90
|
+
* resolves the matching open incidents (event-driven resolution: only
|
|
91
|
+
* keys the payload says recovered are closed — never by absence).
|
|
92
|
+
*/
|
|
93
|
+
static collectResolvedFingerprints(input) {
|
|
94
|
+
var _a;
|
|
95
|
+
if (input.dataToProcess
|
|
96
|
+
.onlyCheckForIncomingRequestReceivedAt) {
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
const body = this.getRequestBodyObject(input.dataToProcess);
|
|
100
|
+
if (!body) {
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
103
|
+
const fingerprints = new Set();
|
|
104
|
+
for (const criteriaInstance of input.criteriaInstances) {
|
|
105
|
+
const grouping = (_a = criteriaInstance.data) === null || _a === void 0 ? void 0 : _a.incidentGrouping;
|
|
106
|
+
if (!(grouping === null || grouping === void 0 ? void 0 : grouping.groupByJSONPath)) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
for (const item of this.extractItems({ requestBody: body, grouping })) {
|
|
110
|
+
if (item.isResolved) {
|
|
111
|
+
fingerprints.add(item.fingerprint);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return Array.from(fingerprints);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Whether any criteria on the step has grouping configured. Used to
|
|
119
|
+
* force per-series mode so a grouped criteria never falls back to a
|
|
120
|
+
* single whole-monitor incident on a payload that yields no firing key.
|
|
121
|
+
*/
|
|
122
|
+
static isGroupingConfigured(criteriaInstance) {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
return Boolean((_b = (_a = criteriaInstance === null || criteriaInstance === void 0 ? void 0 : criteriaInstance.data) === null || _a === void 0 ? void 0 : _a.incidentGrouping) === null || _b === void 0 ? void 0 : _b.groupByJSONPath);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Extract all distinct keys from a payload for one grouping config,
|
|
128
|
+
* classifying each as firing or resolved. Deduplicates by fingerprint
|
|
129
|
+
* and caps the count at `maxKeysPerPayload` to bound cardinality.
|
|
130
|
+
*/
|
|
131
|
+
static extractItems(input) {
|
|
132
|
+
const { requestBody, grouping } = input;
|
|
133
|
+
const groupByPath = this.normalizePath(grouping.groupByJSONPath);
|
|
134
|
+
if (!groupByPath) {
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
const labelKey = this.labelKeyFromPath(groupByPath);
|
|
138
|
+
const maxKeys = grouping.maxKeysPerPayload && grouping.maxKeysPerPayload > 0
|
|
139
|
+
? grouping.maxKeysPerPayload
|
|
140
|
+
: DEFAULT_MAX_KEYS_PER_PAYLOAD;
|
|
141
|
+
const items = [];
|
|
142
|
+
const seenFingerprints = new Set();
|
|
143
|
+
const addItem = (keyValue, isResolved) => {
|
|
144
|
+
const labels = { [labelKey]: keyValue };
|
|
145
|
+
const fingerprint = MetricSeriesFingerprint.computeFingerprint(labels);
|
|
146
|
+
if (seenFingerprints.has(fingerprint)) {
|
|
147
|
+
// Same key twice in one payload — keep the first occurrence.
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
seenFingerprints.add(fingerprint);
|
|
151
|
+
items.push({ fingerprint, labels, keyValue, isResolved });
|
|
152
|
+
};
|
|
153
|
+
const wildcardIndex = groupByPath.indexOf(ARRAY_WILDCARD);
|
|
154
|
+
// Simple (non-array) path: a single key for the whole payload.
|
|
155
|
+
if (wildcardIndex === -1) {
|
|
156
|
+
const keyValue = this.toScalarString(VMUtil.deepFind(requestBody, groupByPath));
|
|
157
|
+
if (keyValue === null) {
|
|
158
|
+
return [];
|
|
159
|
+
}
|
|
160
|
+
addItem(keyValue, this.isResolvedForScope(requestBody, requestBody, grouping, false));
|
|
161
|
+
return items;
|
|
162
|
+
}
|
|
163
|
+
// Array fan-out: one key per element of the array at the `[*]` prefix.
|
|
164
|
+
const prefixPath = groupByPath
|
|
165
|
+
.slice(0, wildcardIndex)
|
|
166
|
+
.replace(/\.$/, "");
|
|
167
|
+
const elementSuffix = this.stripLeadingDot(groupByPath.slice(wildcardIndex + ARRAY_WILDCARD.length));
|
|
168
|
+
const arrayValue = prefixPath
|
|
169
|
+
? VMUtil.deepFind(requestBody, prefixPath)
|
|
170
|
+
: requestBody;
|
|
171
|
+
if (!Array.isArray(arrayValue)) {
|
|
172
|
+
return [];
|
|
173
|
+
}
|
|
174
|
+
for (const element of arrayValue) {
|
|
175
|
+
if (items.length >= maxKeys) {
|
|
176
|
+
logger.warn(`IncomingRequestIncidentGrouping: payload produced more than ${maxKeys} keys for path "${groupByPath}"; remaining keys ignored.`);
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
const isObjectElement = Boolean(element) && typeof element === Typeof.Object;
|
|
180
|
+
let keyValue;
|
|
181
|
+
if (elementSuffix) {
|
|
182
|
+
// `prefix[*].sub.path` — element must be an object to dig into.
|
|
183
|
+
if (!isObjectElement) {
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
keyValue = this.toScalarString(VMUtil.deepFind(element, elementSuffix));
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
// `prefix[*]` — the array element itself is the key (array of scalars).
|
|
190
|
+
keyValue = this.toScalarString(element);
|
|
191
|
+
}
|
|
192
|
+
if (keyValue === null) {
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
/*
|
|
196
|
+
* Per-element resolve classification only applies when the element
|
|
197
|
+
* is an object (so `[*].status` can be read off it). For scalar
|
|
198
|
+
* elements there is no per-element field, so fall back to root scope.
|
|
199
|
+
*/
|
|
200
|
+
addItem(keyValue, this.isResolvedForScope(isObjectElement ? element : requestBody, requestBody, grouping, isObjectElement));
|
|
201
|
+
}
|
|
202
|
+
return items;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Classify whether the configured resolve condition holds. When the
|
|
206
|
+
* resolve path uses `[*]` AND we are evaluating a specific array element
|
|
207
|
+
* (`isElementContext`), it is read off that element (`elementScope`).
|
|
208
|
+
* Otherwise it is evaluated against the whole payload (`rootScope`).
|
|
209
|
+
*
|
|
210
|
+
* If the resolve path uses `[*]` but the group-by path does NOT (so we
|
|
211
|
+
* are not in element context — a self-contradictory config), the path is
|
|
212
|
+
* evaluated verbatim against the root: `deepFind` does not interpret
|
|
213
|
+
* `[*]`, so it returns undefined (not resolved) rather than silently
|
|
214
|
+
* rebinding to a same-named top-level field.
|
|
215
|
+
*/
|
|
216
|
+
static isResolvedForScope(elementScope, rootScope, grouping, isElementContext) {
|
|
217
|
+
if (!grouping.resolvedWhenJSONPath ||
|
|
218
|
+
grouping.resolvedWhenValue === undefined) {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
const resolvedPath = this.normalizePath(grouping.resolvedWhenJSONPath);
|
|
222
|
+
const wildcardIndex = resolvedPath.indexOf(ARRAY_WILDCARD);
|
|
223
|
+
let scope = rootScope;
|
|
224
|
+
let path = resolvedPath;
|
|
225
|
+
if (wildcardIndex !== -1 && isElementContext) {
|
|
226
|
+
scope = elementScope;
|
|
227
|
+
path = this.stripLeadingDot(resolvedPath.slice(wildcardIndex + ARRAY_WILDCARD.length));
|
|
228
|
+
}
|
|
229
|
+
if (!path) {
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
const value = this.toScalarString(VMUtil.deepFind(scope, path));
|
|
233
|
+
return value !== null && value === grouping.resolvedWhenValue;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Derive a human-friendly label key from a JSON path — the last named
|
|
237
|
+
* segment, with array/wildcard syntax stripped. `alerts[*].labels.alertname`
|
|
238
|
+
* → `alertname`. Used as the template variable name (so titles can say
|
|
239
|
+
* `{{alertname}}`) and as the fingerprint label key.
|
|
240
|
+
*/
|
|
241
|
+
static labelKeyFromPath(path) {
|
|
242
|
+
const cleaned = path
|
|
243
|
+
.replace(/\[\*\]/g, "")
|
|
244
|
+
.replace(/\[[^\]]*\]/g, "");
|
|
245
|
+
const parts = cleaned.split(".").filter(Boolean);
|
|
246
|
+
return parts.length > 0 ? parts[parts.length - 1] : "key";
|
|
247
|
+
}
|
|
248
|
+
static stripLeadingDot(path) {
|
|
249
|
+
return path.startsWith(".") ? path.slice(1) : path;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Resolve the `requestBody`-rooted path users write — the same convention
|
|
253
|
+
* incident templates and JavaScript-expression filters use — into a path
|
|
254
|
+
* relative to the body (the actual scope `deepFind` resolves against).
|
|
255
|
+
* Both of these forms are accepted and resolve identically:
|
|
256
|
+
*
|
|
257
|
+
* `{{requestBody.alerts[*].labels.alertname}}` (template wrapper)
|
|
258
|
+
* `requestBody.alerts[*].labels.alertname`
|
|
259
|
+
*
|
|
260
|
+
* The `requestBody` root is REQUIRED — a path not rooted there resolves
|
|
261
|
+
* to nothing, so the field has exactly one convention.
|
|
262
|
+
*/
|
|
263
|
+
static normalizePath(rawPath) {
|
|
264
|
+
let path = rawPath.trim();
|
|
265
|
+
if (path.startsWith("{{") && path.endsWith("}}")) {
|
|
266
|
+
path = path.slice(2, -2).trim();
|
|
267
|
+
}
|
|
268
|
+
if (path.startsWith("requestBody.")) {
|
|
269
|
+
return path.slice("requestBody.".length);
|
|
270
|
+
}
|
|
271
|
+
return "";
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Coerce an extracted value to a non-empty scalar string. Objects and
|
|
275
|
+
* arrays cannot be a grouping key and return null (the item is skipped).
|
|
276
|
+
*/
|
|
277
|
+
static toScalarString(value) {
|
|
278
|
+
if (value === undefined || value === null) {
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
if (typeof value === Typeof.Object) {
|
|
282
|
+
return null;
|
|
283
|
+
}
|
|
284
|
+
const stringValue = String(value);
|
|
285
|
+
return stringValue.length > 0 ? stringValue : null;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=IncomingRequestIncidentGrouping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IncomingRequestIncidentGrouping.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/IncomingRequestIncidentGrouping.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,uBAAuB,MAAM,gDAAgD,CAAC;AAOrF,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAiB3C,MAAM,4BAA4B,GAAW,GAAG,CAAC;AACjD,MAAM,cAAc,GAAW,KAAK,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,+BAA+B;IAClD;;;;;OAKG;IACI,MAAM,CAAC,oBAAoB,CAChC,aAA4B;QAE5B,MAAM,IAAI,GACR,aACD,CAAC,WAAW,CAAC;QAEd,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;gBACnD,OAAO,MAAM;oBACX,OAAO,MAAM,KAAK,MAAM,CAAC,MAAM;oBAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBACtB,CAAC,CAAE,MAAqB;oBACxB,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAkB,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,oBAAoB,CAAC,KAIlC;;QACC,MAAM,QAAQ,GACZ,MAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI,0CAAE,gBAAgB,CAAC;QAEhD,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAA,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IACG,KAAK,CAAC,aAAwC;aAC5C,qCAAqC,EACxC,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAuB,MAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI,0CAAE,EAAE,CAAC;QACvE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAsB,IAAI,CAAC,oBAAoB,CACvD,KAAK,CAAC,aAAa,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAkC,EAAE,CAAC;QAElD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACtE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,4CAA4C;gBAC5C,SAAS;YACX,CAAC;YAED,OAAO,CAAC,IAAI,CAAC;gBACX,aAAa,EAAE,UAAU;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EACP,KAAK,CAAC,SAAS;oBACf,2CAA2C,IAAI,CAAC,QAAQ,KAAK;gBAC/D,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,2BAA2B,CAAC,KAGzC;;QACC,IACG,KAAK,CAAC,aAAwC;aAC5C,qCAAqC,EACxC,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAsB,IAAI,CAAC,oBAAoB,CACvD,KAAK,CAAC,aAAa,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,YAAY,GAAgB,IAAI,GAAG,EAAU,CAAC;QAEpD,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YACvD,MAAM,QAAQ,GACZ,MAAA,gBAAgB,CAAC,IAAI,0CAAE,gBAAgB,CAAC;YAE1C,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAA,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACtE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,oBAAoB,CAChC,gBAAqD;;QAErD,OAAO,OAAO,CAAC,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,0CAAE,gBAAgB,0CAAE,eAAe,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CAAC,KAG1B;QACC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAExC,MAAM,WAAW,GAAW,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,OAAO,GACX,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB,GAAG,CAAC;YAC1D,CAAC,CAAC,QAAQ,CAAC,iBAAiB;YAC5B,CAAC,CAAC,4BAA4B,CAAC;QAEnC,MAAM,KAAK,GAAuC,EAAE,CAAC;QACrD,MAAM,gBAAgB,GAAgB,IAAI,GAAG,EAAU,CAAC;QAExD,MAAM,OAAO,GAAoD,CAC/D,QAAgB,EAChB,UAAmB,EACb,EAAE;YACR,MAAM,MAAM,GAAe,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;YACpD,MAAM,WAAW,GACf,uBAAuB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAErD,IAAI,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,6DAA6D;gBAC7D,OAAO;YACT,CAAC;YAED,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,MAAM,aAAa,GAAW,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAElE,+DAA+D;QAC/D,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAkB,IAAI,CAAC,cAAc,CACjD,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAC1C,CAAC;YAEF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,CACL,QAAQ,EACR,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CACnE,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uEAAuE;QACvE,MAAM,UAAU,GAAW,WAAW;aACnC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;aACvB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtB,MAAM,aAAa,GAAW,IAAI,CAAC,eAAe,CAChD,WAAW,CAAC,KAAK,CAAC,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CACzD,CAAC;QAEF,MAAM,UAAU,GAA0B,UAAU;YAClD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;YAC1C,CAAC,CAAE,WAAoC,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CACT,+DAA+D,OAAO,mBAAmB,WAAW,4BAA4B,CACjI,CAAC;gBACF,MAAM;YACR,CAAC;YAED,MAAM,eAAe,GACnB,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC;YAEvD,IAAI,QAAuB,CAAC;YAE5B,IAAI,aAAa,EAAE,CAAC;gBAClB,gEAAgE;gBAChE,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,SAAS;gBACX,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC,cAAc,CAC5B,MAAM,CAAC,QAAQ,CAAC,OAAqB,EAAE,aAAa,CAAC,CACtD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,wEAAwE;gBACxE,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAoB,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YAED;;;;eAIG;YACH,OAAO,CACL,QAAQ,EACR,IAAI,CAAC,kBAAkB,CACrB,eAAe,CAAC,CAAC,CAAE,OAAsB,CAAC,CAAC,CAAC,WAAW,EACvD,WAAW,EACX,QAAQ,EACR,eAAe,CAChB,CACF,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IACK,MAAM,CAAC,kBAAkB,CAC/B,YAAwB,EACxB,SAAqB,EACrB,QAAgC,EAChC,gBAAyB;QAEzB,IACE,CAAC,QAAQ,CAAC,oBAAoB;YAC9B,QAAQ,CAAC,iBAAiB,KAAK,SAAS,EACxC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAW,IAAI,CAAC,aAAa,CAC7C,QAAQ,CAAC,oBAAoB,CAC9B,CAAC;QACF,MAAM,aAAa,GAAW,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEnE,IAAI,KAAK,GAAe,SAAS,CAAC;QAClC,IAAI,IAAI,GAAW,YAAY,CAAC;QAEhC,IAAI,aAAa,KAAK,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC7C,KAAK,GAAG,YAAY,CAAC;YACrB,IAAI,GAAG,IAAI,CAAC,eAAe,CACzB,YAAY,CAAC,KAAK,CAAC,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAC1D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAkB,IAAI,CAAC,cAAc,CAC9C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAC7B,CAAC;QAEF,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,QAAQ,CAAC,iBAAiB,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,gBAAgB,CAAC,IAAY;QAC1C,MAAM,OAAO,GAAW,IAAI;aACzB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAkB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,IAAY;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;OAWG;IACK,MAAM,CAAC,aAAa,CAAC,OAAe;QAC1C,IAAI,IAAI,GAAW,OAAO,CAAC,IAAI,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,cAAc,CAAC,KAA4B;QACxD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;CACF"}
|
|
@@ -64,6 +64,7 @@ export default class MonitorAlert {
|
|
|
64
64
|
autoResolveCriteriaInstanceIdAlertIdsDictionary: input.autoResolveCriteriaInstanceIdAlertIdsDictionary,
|
|
65
65
|
criteriaInstance: input.criteriaInstance,
|
|
66
66
|
breachingSeriesFingerprints: input.breachingSeriesFingerprints,
|
|
67
|
+
disableSeriesAbsenceResolution: input.disableSeriesAbsenceResolution,
|
|
67
68
|
});
|
|
68
69
|
if (shouldClose) {
|
|
69
70
|
// then resolve alert.
|
|
@@ -86,6 +87,71 @@ export default class MonitorAlert {
|
|
|
86
87
|
}
|
|
87
88
|
return openAlerts;
|
|
88
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Event-driven (incoming-request / webhook) resolution: resolve the open
|
|
92
|
+
* alerts for the given payload-derived fingerprints — and only those —
|
|
93
|
+
* when the criteria that created them has auto-resolve enabled. Mirrors
|
|
94
|
+
* MonitorIncident.resolveSeriesIncidentsByFingerprint; never resolves by
|
|
95
|
+
* absence (a webhook describes only the keys in its payload).
|
|
96
|
+
*/
|
|
97
|
+
static async resolveSeriesAlertsByFingerprint(input) {
|
|
98
|
+
var _a, _b, _c, _d;
|
|
99
|
+
if (!input.fingerprints || input.fingerprints.length === 0) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const fingerprintSet = new Set(input.fingerprints);
|
|
103
|
+
const openAlerts = await AlertService.findBy({
|
|
104
|
+
query: {
|
|
105
|
+
monitor: input.monitor.id,
|
|
106
|
+
currentAlertState: {
|
|
107
|
+
isResolvedState: false,
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
skip: 0,
|
|
111
|
+
limit: LIMIT_PER_PROJECT,
|
|
112
|
+
select: {
|
|
113
|
+
_id: true,
|
|
114
|
+
title: true,
|
|
115
|
+
createdCriteriaId: true,
|
|
116
|
+
projectId: true,
|
|
117
|
+
alertNumber: true,
|
|
118
|
+
alertNumberWithPrefix: true,
|
|
119
|
+
seriesFingerprint: true,
|
|
120
|
+
},
|
|
121
|
+
props: {
|
|
122
|
+
isRoot: true,
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
for (const openAlert of openAlerts) {
|
|
126
|
+
const fingerprint = openAlert.seriesFingerprint || undefined;
|
|
127
|
+
if (!fingerprint || !fingerprintSet.has(fingerprint)) {
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
const createdCriteriaId = (_a = openAlert.createdCriteriaId) === null || _a === void 0 ? void 0 : _a.toString();
|
|
131
|
+
if (!createdCriteriaId) {
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
// Only auto-resolve when the creating criteria opted into it.
|
|
135
|
+
const autoResolveTemplates = input.autoResolveCriteriaInstanceIdAlertIdsDictionary[createdCriteriaId];
|
|
136
|
+
if (!autoResolveTemplates || autoResolveTemplates.length === 0) {
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
await this.resolveOpenAlert({
|
|
140
|
+
openAlert: openAlert,
|
|
141
|
+
rootCause: input.rootCause,
|
|
142
|
+
dataToProcess: input.dataToProcess,
|
|
143
|
+
});
|
|
144
|
+
(_b = input.evaluationSummary) === null || _b === void 0 ? void 0 : _b.events.push({
|
|
145
|
+
type: "alert-resolved",
|
|
146
|
+
title: `Alert resolved: ${(_c = openAlert.id) === null || _c === void 0 ? void 0 : _c.toString()}`,
|
|
147
|
+
message: "Alert auto-resolved because the incoming payload reported this key as resolved.",
|
|
148
|
+
relatedAlertId: (_d = openAlert.id) === null || _d === void 0 ? void 0 : _d.toString(),
|
|
149
|
+
relatedAlertNumber: openAlert.alertNumber,
|
|
150
|
+
relatedAlertNumberWithPrefix: openAlert.alertNumberWithPrefix,
|
|
151
|
+
at: OneUptimeDate.getCurrentDate(),
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}
|
|
89
155
|
static async criteriaMetCreateAlertsAndUpdateMonitorStatus(input) {
|
|
90
156
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
|
|
91
157
|
const alertLogAttributes = {
|
|
@@ -93,7 +159,7 @@ export default class MonitorAlert {
|
|
|
93
159
|
};
|
|
94
160
|
// check open alerts
|
|
95
161
|
logger.debug(`${(_b = input.monitor.id) === null || _b === void 0 ? void 0 : _b.toString()} - Check open alerts.`, alertLogAttributes);
|
|
96
|
-
const breachingSeriesFingerprints = input.matchesPerSeries
|
|
162
|
+
const breachingSeriesFingerprints = input.matchesPerSeries && !input.disableSeriesAbsenceResolution
|
|
97
163
|
? new Set(input.matchesPerSeries.map((m) => {
|
|
98
164
|
return m.fingerprint;
|
|
99
165
|
}))
|
|
@@ -107,6 +173,7 @@ export default class MonitorAlert {
|
|
|
107
173
|
dataToProcess: input.dataToProcess,
|
|
108
174
|
evaluationSummary: input.evaluationSummary,
|
|
109
175
|
breachingSeriesFingerprints,
|
|
176
|
+
disableSeriesAbsenceResolution: input.disableSeriesAbsenceResolution,
|
|
110
177
|
});
|
|
111
178
|
if (!((_c = input.criteriaInstance.data) === null || _c === void 0 ? void 0 : _c.createAlerts)) {
|
|
112
179
|
return;
|
|
@@ -122,7 +189,14 @@ export default class MonitorAlert {
|
|
|
122
189
|
const clusterContext = await MonitorClusterContextUtil.resolveClusterContextForMonitor({
|
|
123
190
|
monitor: input.monitor,
|
|
124
191
|
});
|
|
125
|
-
|
|
192
|
+
/*
|
|
193
|
+
* `undefined` matchesPerSeries → legacy single-alert path. A defined
|
|
194
|
+
* (even empty) array → per-series mode: iterate exactly the matches.
|
|
195
|
+
* An empty array therefore creates nothing — used by grouped
|
|
196
|
+
* incoming-request criteria on a payload with no firing key so they
|
|
197
|
+
* don't fall back to a single whole-monitor alert.
|
|
198
|
+
*/
|
|
199
|
+
const seriesToProcess = input.matchesPerSeries !== undefined
|
|
126
200
|
? input.matchesPerSeries
|
|
127
201
|
: [undefined];
|
|
128
202
|
for (const criteriaAlert of ((_d = input.criteriaInstance.data) === null || _d === void 0 ? void 0 : _d.alerts) || []) {
|
|
@@ -400,6 +474,7 @@ export default class MonitorAlert {
|
|
|
400
474
|
}
|
|
401
475
|
}
|
|
402
476
|
static async resolveOpenAlert(input) {
|
|
477
|
+
var _a;
|
|
403
478
|
const resolvedStateId = await AlertStateTimelineService.getResolvedStateIdForProject(input.openAlert.projectId);
|
|
404
479
|
const alertStateTimeline = new AlertStateTimeline();
|
|
405
480
|
alertStateTimeline.alertId = input.openAlert.id;
|
|
@@ -413,16 +488,46 @@ export default class MonitorAlert {
|
|
|
413
488
|
if (input.dataToProcess) {
|
|
414
489
|
alertStateTimeline.stateChangeLog = JSON.parse(JSON.stringify(input.dataToProcess));
|
|
415
490
|
}
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
491
|
+
try {
|
|
492
|
+
await AlertStateTimelineService.create({
|
|
493
|
+
data: alertStateTimeline,
|
|
494
|
+
props: {
|
|
495
|
+
isRoot: true,
|
|
496
|
+
},
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
catch (err) {
|
|
500
|
+
/*
|
|
501
|
+
* Idempotent concurrency race: two evaluations for the same monitor
|
|
502
|
+
* (e.g. the explicit per-key resolveSeriesAlertsByFingerprint path and
|
|
503
|
+
* the checkOpenAlertsAndCloseIfResolved path) can both decide to resolve
|
|
504
|
+
* the same open alert near-simultaneously. The loser's onBeforeCreate
|
|
505
|
+
* dedupe throws this exact BadDataException. Treat as a no-op at debug
|
|
506
|
+
* level instead of failing the queue job. Mirrors resolveOpenIncident.
|
|
507
|
+
*/
|
|
508
|
+
if (err instanceof BadDataException &&
|
|
509
|
+
err.message === "Alert state cannot be same as previous state.") {
|
|
510
|
+
logger.debug(`${(_a = input.openAlert.id) === null || _a === void 0 ? void 0 : _a.toString()} - Alert already in resolved state; skipping duplicate state timeline (concurrent race).`);
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
throw err;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
422
516
|
}
|
|
423
517
|
static shouldCloseAlert(input) {
|
|
424
518
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
425
519
|
const openSeriesFingerprint = input.openAlert.seriesFingerprint || undefined;
|
|
520
|
+
/*
|
|
521
|
+
* Event-driven (incoming-request / webhook) per-key alerts must NEVER
|
|
522
|
+
* be resolved by absence — only explicitly, via
|
|
523
|
+
* resolveSeriesAlertsByFingerprint, when the payload reports the key as
|
|
524
|
+
* recovered. Mirrors MonitorIncident.shouldCloseIncident. Without this
|
|
525
|
+
* guard, a heartbeat-timeout cron tick or a rejected webhook would
|
|
526
|
+
* bulk-resolve all open per-key alerts by absence.
|
|
527
|
+
*/
|
|
528
|
+
if (input.disableSeriesAbsenceResolution && openSeriesFingerprint) {
|
|
529
|
+
return false;
|
|
530
|
+
}
|
|
426
531
|
/*
|
|
427
532
|
* Per-series auto-resolve: when a breaching-series set is given and
|
|
428
533
|
* this alert has a fingerprint, resolve whenever the fingerprint is
|
|
@@ -470,6 +575,12 @@ __decorate([
|
|
|
470
575
|
__metadata("design:paramtypes", [Object]),
|
|
471
576
|
__metadata("design:returntype", Promise)
|
|
472
577
|
], MonitorAlert, "checkOpenAlertsAndCloseIfResolved", null);
|
|
578
|
+
__decorate([
|
|
579
|
+
CaptureSpan(),
|
|
580
|
+
__metadata("design:type", Function),
|
|
581
|
+
__metadata("design:paramtypes", [Object]),
|
|
582
|
+
__metadata("design:returntype", Promise)
|
|
583
|
+
], MonitorAlert, "resolveSeriesAlertsByFingerprint", null);
|
|
473
584
|
__decorate([
|
|
474
585
|
CaptureSpan(),
|
|
475
586
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonitorAlert.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorAlert.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MonitorAlert.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorAlert.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import APIRequestCriteria from "./Criteria/APIRequestCriteria";
|
|
|
5
5
|
import CustomCodeMonitoringCriteria from "./Criteria/CustomCodeMonitorCriteria";
|
|
6
6
|
import IncomingEmailCriteria from "./Criteria/IncomingEmailCriteria";
|
|
7
7
|
import IncomingRequestCriteria from "./Criteria/IncomingRequestCriteria";
|
|
8
|
+
import IncomingRequestIncidentGrouping from "./IncomingRequestIncidentGrouping";
|
|
8
9
|
import SSLMonitorCriteria from "./Criteria/SSLMonitorCriteria";
|
|
9
10
|
import ServerMonitorCriteria from "./Criteria/ServerMonitorCriteria";
|
|
10
11
|
import SyntheticMonitoringCriteria from "./Criteria/SyntheticMonitor";
|
|
@@ -142,6 +143,16 @@ ${contextBlock}
|
|
|
142
143
|
if (perSeriesMatches.length > 0) {
|
|
143
144
|
input.probeApiIngestResponse.perSeriesMatches = perSeriesMatches;
|
|
144
145
|
}
|
|
146
|
+
else if (input.monitor.monitorType === MonitorType.IncomingRequest &&
|
|
147
|
+
IncomingRequestIncidentGrouping.isGroupingConfigured(criteriaInstance)) {
|
|
148
|
+
/*
|
|
149
|
+
* Grouped incoming-request criteria that produced no firing key
|
|
150
|
+
* (e.g. a pure "resolved" webhook). Force per-series mode with an
|
|
151
|
+
* empty set so the create path does NOT fall back to opening a
|
|
152
|
+
* single whole-monitor incident.
|
|
153
|
+
*/
|
|
154
|
+
input.probeApiIngestResponse.perSeriesMatches = [];
|
|
155
|
+
}
|
|
145
156
|
break;
|
|
146
157
|
}
|
|
147
158
|
}
|
|
@@ -157,6 +168,19 @@ ${contextBlock}
|
|
|
157
168
|
*/
|
|
158
169
|
static async collectPerSeriesMatches(input) {
|
|
159
170
|
var _a, _b, _c, _d;
|
|
171
|
+
/*
|
|
172
|
+
* Incoming Request / webhook monitors fan out per payload-derived key
|
|
173
|
+
* (e.g. one incident per Grafana alert name) when incidentGrouping is
|
|
174
|
+
* configured. No-op (returns []) when grouping is not configured, so
|
|
175
|
+
* existing incoming-request monitors keep their single-incident
|
|
176
|
+
* behaviour.
|
|
177
|
+
*/
|
|
178
|
+
if (input.monitor.monitorType === MonitorType.IncomingRequest) {
|
|
179
|
+
return IncomingRequestIncidentGrouping.collectFiringMatches({
|
|
180
|
+
dataToProcess: input.dataToProcess,
|
|
181
|
+
criteriaInstance: input.criteriaInstance,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
160
184
|
if (input.monitor.monitorType !== MonitorType.Metrics &&
|
|
161
185
|
input.monitor.monitorType !== MonitorType.Kubernetes &&
|
|
162
186
|
input.monitor.monitorType !== MonitorType.Docker &&
|