@oneuptime/common 8.0.5516 → 8.0.5544

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.
Files changed (80) hide show
  1. package/Models/DatabaseModels/AcmeChallenge.ts +3 -0
  2. package/Models/DatabaseModels/Domain.ts +6 -1
  3. package/Server/API/AcmeChallengeAPI.ts +64 -0
  4. package/Server/EnvironmentConfig.ts +54 -0
  5. package/Server/Infrastructure/Queue.ts +12 -16
  6. package/Server/Infrastructure/QueueWorker.ts +2 -6
  7. package/Server/Services/DomainService.ts +48 -40
  8. package/Server/Utils/AnalyticsDatabase/Statement.ts +8 -4
  9. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +47 -15
  10. package/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.ts +13 -12
  11. package/Server/Utils/Monitor/MonitorAlert.ts +46 -1
  12. package/Server/Utils/Monitor/MonitorCriteriaDataExtractor.ts +208 -0
  13. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +439 -0
  14. package/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.ts +141 -0
  15. package/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.ts +88 -0
  16. package/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.ts +196 -0
  17. package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +1123 -0
  18. package/Server/Utils/Monitor/MonitorIncident.ts +46 -1
  19. package/Server/Utils/Monitor/MonitorLogUtil.ts +44 -0
  20. package/Server/Utils/Monitor/MonitorMetricUtil.ts +482 -0
  21. package/Server/Utils/Monitor/MonitorResource.ts +185 -914
  22. package/Server/Utils/StartServer.ts +14 -6
  23. package/Types/Email.ts +3 -7
  24. package/Types/Monitor/IncomingMonitor/IncomingMonitorRequest.ts +2 -0
  25. package/Types/Monitor/LogMonitor/LogMonitorResponse.ts +2 -0
  26. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +2 -0
  27. package/Types/Monitor/MonitorEvaluationSummary.ts +48 -0
  28. package/Types/Monitor/ServerMonitor/ServerMonitorResponse.ts +2 -0
  29. package/Types/Monitor/TraceMonitor/TraceMonitorResponse.ts +2 -0
  30. package/Types/Probe/ProbeApiIngestResponse.ts +2 -0
  31. package/Types/Probe/ProbeMonitorResponse.ts +2 -0
  32. package/build/dist/Models/DatabaseModels/AcmeChallenge.js +3 -0
  33. package/build/dist/Models/DatabaseModels/AcmeChallenge.js.map +1 -1
  34. package/build/dist/Models/DatabaseModels/Domain.js +6 -1
  35. package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
  36. package/build/dist/Server/API/AcmeChallengeAPI.js +39 -0
  37. package/build/dist/Server/API/AcmeChallengeAPI.js.map +1 -0
  38. package/build/dist/Server/EnvironmentConfig.js +44 -0
  39. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  40. package/build/dist/Server/Infrastructure/Queue.js +8 -11
  41. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  42. package/build/dist/Server/Infrastructure/QueueWorker.js +2 -6
  43. package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
  44. package/build/dist/Server/Services/DomainService.js +31 -29
  45. package/build/dist/Server/Services/DomainService.js.map +1 -1
  46. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +2 -1
  47. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
  48. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +34 -16
  49. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
  50. package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js +12 -12
  51. package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js.map +1 -1
  52. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +42 -4
  53. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  54. package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js +119 -0
  55. package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js.map +1 -0
  56. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +312 -0
  57. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -0
  58. package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js +109 -0
  59. package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js.map +1 -0
  60. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.js +45 -0
  61. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.js.map +1 -0
  62. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.js +132 -0
  63. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.js.map +1 -0
  64. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +583 -0
  65. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -0
  66. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +42 -4
  67. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  68. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js +32 -0
  69. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js.map +1 -0
  70. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +361 -0
  71. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -0
  72. package/build/dist/Server/Utils/Monitor/MonitorResource.js +133 -666
  73. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  74. package/build/dist/Server/Utils/StartServer.js +7 -4
  75. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  76. package/build/dist/Types/Email.js +2 -5
  77. package/build/dist/Types/Email.js.map +1 -1
  78. package/build/dist/Types/Monitor/MonitorEvaluationSummary.js +2 -0
  79. package/build/dist/Types/Monitor/MonitorEvaluationSummary.js.map +1 -0
  80. package/package.json +5 -5
@@ -0,0 +1,119 @@
1
+ export default class MonitorCriteriaDataExtractor {
2
+ static getProbeMonitorResponse(dataToProcess) {
3
+ if (dataToProcess.monitorStepId) {
4
+ return dataToProcess;
5
+ }
6
+ return null;
7
+ }
8
+ static getServerMonitorResponse(dataToProcess) {
9
+ if (dataToProcess.hostname) {
10
+ return dataToProcess;
11
+ }
12
+ return null;
13
+ }
14
+ static getIncomingMonitorRequest(dataToProcess) {
15
+ if (dataToProcess.incomingRequestReceivedAt !==
16
+ undefined) {
17
+ return dataToProcess;
18
+ }
19
+ return null;
20
+ }
21
+ static getLogMonitorResponse(dataToProcess) {
22
+ if (dataToProcess.logCount !== undefined) {
23
+ return dataToProcess;
24
+ }
25
+ return null;
26
+ }
27
+ static getTraceMonitorResponse(dataToProcess) {
28
+ if (dataToProcess.spanCount !== undefined) {
29
+ return dataToProcess;
30
+ }
31
+ return null;
32
+ }
33
+ static getMetricMonitorResponse(dataToProcess) {
34
+ if (dataToProcess.metricResult !== undefined) {
35
+ return dataToProcess;
36
+ }
37
+ return null;
38
+ }
39
+ static getCustomCodeMonitorResponse(dataToProcess) {
40
+ const probeResponse = MonitorCriteriaDataExtractor.getProbeMonitorResponse(dataToProcess);
41
+ if (probeResponse === null || probeResponse === void 0 ? void 0 : probeResponse.customCodeMonitorResponse) {
42
+ return probeResponse.customCodeMonitorResponse;
43
+ }
44
+ return null;
45
+ }
46
+ static getSyntheticMonitorResponses(dataToProcess) {
47
+ const probeResponse = MonitorCriteriaDataExtractor.getProbeMonitorResponse(dataToProcess);
48
+ return (probeResponse === null || probeResponse === void 0 ? void 0 : probeResponse.syntheticMonitorResponse) || [];
49
+ }
50
+ static getSslResponse(dataToProcess) {
51
+ const probeResponse = MonitorCriteriaDataExtractor.getProbeMonitorResponse(dataToProcess);
52
+ if (probeResponse === null || probeResponse === void 0 ? void 0 : probeResponse.sslResponse) {
53
+ return probeResponse.sslResponse;
54
+ }
55
+ return null;
56
+ }
57
+ static extractMetricValues(input) {
58
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
59
+ const metricResponse = MonitorCriteriaDataExtractor.getMetricMonitorResponse(input.dataToProcess);
60
+ if (!metricResponse) {
61
+ return null;
62
+ }
63
+ const aggregatedResults = metricResponse.metricResult || [];
64
+ if (!aggregatedResults.length) {
65
+ return {
66
+ alias: ((_a = input.criteriaFilter.metricMonitorOptions) === null || _a === void 0 ? void 0 : _a.metricAlias) || null,
67
+ values: [],
68
+ };
69
+ }
70
+ let alias = ((_b = input.criteriaFilter.metricMonitorOptions) === null || _b === void 0 ? void 0 : _b.metricAlias) || null;
71
+ let result;
72
+ if (alias) {
73
+ const queryConfigs = ((_e = (_d = (_c = input.monitorStep.data) === null || _c === void 0 ? void 0 : _c.metricMonitor) === null || _d === void 0 ? void 0 : _d.metricViewConfig) === null || _e === void 0 ? void 0 : _e.queryConfigs) ||
74
+ [];
75
+ let aliasIndex = queryConfigs.findIndex((queryConfig) => {
76
+ var _a;
77
+ return ((_a = queryConfig.metricAliasData) === null || _a === void 0 ? void 0 : _a.metricVariable) === alias;
78
+ });
79
+ if (aliasIndex < 0) {
80
+ const formulaConfigs = ((_h = (_g = (_f = input.monitorStep.data) === null || _f === void 0 ? void 0 : _f.metricMonitor) === null || _g === void 0 ? void 0 : _g.metricViewConfig) === null || _h === void 0 ? void 0 : _h.formulaConfigs) || [];
81
+ const formulaIndex = formulaConfigs.findIndex((formulaConfig) => {
82
+ var _a;
83
+ return ((_a = formulaConfig.metricAliasData) === null || _a === void 0 ? void 0 : _a.metricVariable) === alias;
84
+ });
85
+ if (formulaIndex >= 0) {
86
+ aliasIndex = queryConfigs.length + formulaIndex;
87
+ }
88
+ }
89
+ if (aliasIndex >= 0 && aliasIndex < aggregatedResults.length) {
90
+ result = aggregatedResults[aliasIndex];
91
+ }
92
+ }
93
+ if (!result) {
94
+ result = aggregatedResults[0];
95
+ if (!alias) {
96
+ const defaultAlias = (_p = (_o = (_m = (_l = (_k = (_j = input.monitorStep.data) === null || _j === void 0 ? void 0 : _j.metricMonitor) === null || _k === void 0 ? void 0 : _k.metricViewConfig) === null || _l === void 0 ? void 0 : _l.queryConfigs) === null || _m === void 0 ? void 0 : _m[0]) === null || _o === void 0 ? void 0 : _o.metricAliasData) === null || _p === void 0 ? void 0 : _p.metricVariable;
97
+ alias = defaultAlias || null;
98
+ }
99
+ }
100
+ if (!result) {
101
+ return {
102
+ alias: alias,
103
+ values: [],
104
+ };
105
+ }
106
+ const values = result.data
107
+ .map((entry) => {
108
+ return entry.value;
109
+ })
110
+ .filter((value) => {
111
+ return typeof value === "number" && !isNaN(value);
112
+ });
113
+ return {
114
+ alias: alias,
115
+ values: values,
116
+ };
117
+ }
118
+ }
119
+ //# sourceMappingURL=MonitorCriteriaDataExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorCriteriaDataExtractor.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorCriteriaDataExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,312 @@
1
+ import logger from "../Logger";
2
+ import VMUtil from "../VM/VMAPI";
3
+ import APIRequestCriteria from "./Criteria/APIRequestCriteria";
4
+ import CustomCodeMonitoringCriteria from "./Criteria/CustomCodeMonitorCriteria";
5
+ import IncomingRequestCriteria from "./Criteria/IncomingRequestCriteria";
6
+ import SSLMonitorCriteria from "./Criteria/SSLMonitorCriteria";
7
+ import ServerMonitorCriteria from "./Criteria/ServerMonitorCriteria";
8
+ import SyntheticMonitoringCriteria from "./Criteria/SyntheticMonitor";
9
+ import LogMonitorCriteria from "./Criteria/LogMonitorCriteria";
10
+ import MetricMonitorCriteria from "./Criteria/MetricMonitorCriteria";
11
+ import TraceMonitorCriteria from "./Criteria/TraceMonitorCriteria";
12
+ import MonitorCriteriaMessageBuilder from "./MonitorCriteriaMessageBuilder";
13
+ import FilterCondition from "../../../Types/Filter/FilterCondition";
14
+ import MonitorType from "../../../Types/Monitor/MonitorType";
15
+ import { CheckOn } from "../../../Types/Monitor/CriteriaFilter";
16
+ import OneUptimeDate from "../../../Types/Date";
17
+ import Typeof from "../../../Types/Typeof";
18
+ export default class MonitorCriteriaEvaluator {
19
+ static async processMonitorStep(input) {
20
+ var _a, _b, _c, _d, _e, _f;
21
+ const criteria = (_a = input.monitorStep.data) === null || _a === void 0 ? void 0 : _a.monitorCriteria;
22
+ if (!criteria || !criteria.data) {
23
+ return input.probeApiIngestResponse;
24
+ }
25
+ for (const criteriaInstance of criteria.data.monitorCriteriaInstanceArray) {
26
+ const criteriaResult = {
27
+ criteriaId: (_b = criteriaInstance.data) === null || _b === void 0 ? void 0 : _b.id,
28
+ criteriaName: (_c = criteriaInstance.data) === null || _c === void 0 ? void 0 : _c.name,
29
+ filterCondition: ((_d = criteriaInstance.data) === null || _d === void 0 ? void 0 : _d.filterCondition) || FilterCondition.All,
30
+ met: false,
31
+ message: "",
32
+ filters: [],
33
+ };
34
+ input.evaluationSummary.criteriaResults.push(criteriaResult);
35
+ const rootCause = await MonitorCriteriaEvaluator.processMonitorCriteriaInstance({
36
+ dataToProcess: input.dataToProcess,
37
+ monitorStep: input.monitorStep,
38
+ monitor: input.monitor,
39
+ probeApiIngestResponse: input.probeApiIngestResponse,
40
+ criteriaInstance: criteriaInstance,
41
+ criteriaResult: criteriaResult,
42
+ });
43
+ if (!criteriaResult.message) {
44
+ criteriaResult.message = criteriaResult.met
45
+ ? "Criteria met."
46
+ : "Criteria was not met.";
47
+ }
48
+ const criteriaEvent = {
49
+ type: criteriaResult.met ? "criteria-met" : "criteria-not-met",
50
+ title: `${criteriaResult.met ? "Criteria met" : "Criteria not met"}: ${criteriaResult.criteriaName || "Unnamed criteria"}`,
51
+ message: criteriaResult.message,
52
+ relatedCriteriaId: criteriaResult.criteriaId,
53
+ at: OneUptimeDate.getCurrentDate(),
54
+ };
55
+ input.evaluationSummary.events.push(criteriaEvent);
56
+ if (rootCause) {
57
+ input.probeApiIngestResponse.criteriaMetId = (_e = criteriaInstance.data) === null || _e === void 0 ? void 0 : _e.id;
58
+ input.probeApiIngestResponse.rootCause = `
59
+ **Created because the following criteria was met**:
60
+
61
+ **Criteria Name**: ${(_f = criteriaInstance.data) === null || _f === void 0 ? void 0 : _f.name}
62
+ `;
63
+ input.probeApiIngestResponse.rootCause += `
64
+ **Filter Conditions Met**: ${rootCause}
65
+ `;
66
+ if (input.dataToProcess.failureCause) {
67
+ input.probeApiIngestResponse.rootCause += `
68
+ **Cause**: ${input.dataToProcess.failureCause || ""}
69
+ `;
70
+ }
71
+ break;
72
+ }
73
+ }
74
+ return input.probeApiIngestResponse;
75
+ }
76
+ static async processMonitorCriteriaInstance(input) {
77
+ return MonitorCriteriaEvaluator.isMonitorInstanceCriteriaFiltersMet({
78
+ dataToProcess: input.dataToProcess,
79
+ monitorStep: input.monitorStep,
80
+ monitor: input.monitor,
81
+ probeApiIngestResponse: input.probeApiIngestResponse,
82
+ criteriaInstance: input.criteriaInstance,
83
+ criteriaResult: input.criteriaResult,
84
+ });
85
+ }
86
+ static async isMonitorInstanceCriteriaFiltersMet(input) {
87
+ var _a, _b;
88
+ const filterCondition = ((_a = input.criteriaInstance.data) === null || _a === void 0 ? void 0 : _a.filterCondition) || FilterCondition.All;
89
+ const matchedFilterMessages = [];
90
+ let hasMatch = false;
91
+ let allFiltersMet = true;
92
+ for (const criteriaFilter of ((_b = input.criteriaInstance.data) === null || _b === void 0 ? void 0 : _b.filters) || []) {
93
+ const rootCause = await MonitorCriteriaEvaluator.isMonitorInstanceCriteriaFilterMet({
94
+ dataToProcess: input.dataToProcess,
95
+ monitorStep: input.monitorStep,
96
+ monitor: input.monitor,
97
+ probeApiIngestResponse: input.probeApiIngestResponse,
98
+ criteriaInstance: input.criteriaInstance,
99
+ criteriaFilter: criteriaFilter,
100
+ });
101
+ const didMeetCriteria = Boolean(rootCause);
102
+ const filterMessage = MonitorCriteriaMessageBuilder.buildCriteriaFilterMessage({
103
+ monitor: input.monitor,
104
+ criteriaFilter: criteriaFilter,
105
+ dataToProcess: input.dataToProcess,
106
+ monitorStep: input.monitorStep,
107
+ didMeetCriteria: didMeetCriteria,
108
+ matchMessage: rootCause,
109
+ });
110
+ const filterSummary = {
111
+ checkOn: criteriaFilter.checkOn,
112
+ filterType: criteriaFilter.filterType,
113
+ value: criteriaFilter.value,
114
+ met: didMeetCriteria,
115
+ message: filterMessage,
116
+ };
117
+ input.criteriaResult.filters.push(filterSummary);
118
+ if (didMeetCriteria) {
119
+ hasMatch = true;
120
+ matchedFilterMessages.push(filterMessage);
121
+ }
122
+ else if (filterCondition === FilterCondition.All) {
123
+ allFiltersMet = false;
124
+ }
125
+ }
126
+ if (filterCondition === FilterCondition.All) {
127
+ if (allFiltersMet && input.criteriaResult.filters.length > 0) {
128
+ let message = "All filters met.";
129
+ if (matchedFilterMessages.length > 0) {
130
+ message += matchedFilterMessages
131
+ .map((item) => {
132
+ return `\n- ${item}`;
133
+ })
134
+ .join("");
135
+ }
136
+ input.criteriaResult.met = true;
137
+ input.criteriaResult.message = message;
138
+ return message;
139
+ }
140
+ input.criteriaResult.met = false;
141
+ input.criteriaResult.message =
142
+ "One or more filters did not meet the configured conditions.";
143
+ return null;
144
+ }
145
+ if (filterCondition === FilterCondition.Any) {
146
+ if (hasMatch) {
147
+ const firstMatch = matchedFilterMessages[0] ||
148
+ "At least one filter met the configured condition.";
149
+ input.criteriaResult.met = true;
150
+ input.criteriaResult.message = firstMatch;
151
+ return firstMatch;
152
+ }
153
+ input.criteriaResult.met = false;
154
+ input.criteriaResult.message =
155
+ "No filters met the configured conditions.";
156
+ return null;
157
+ }
158
+ return null;
159
+ }
160
+ static async isMonitorInstanceCriteriaFilterMet(input) {
161
+ if (input.criteriaFilter.checkOn === CheckOn.JavaScriptExpression) {
162
+ let storageMap = {};
163
+ if (input.monitor.monitorType === MonitorType.API ||
164
+ input.monitor.monitorType === MonitorType.Website) {
165
+ let responseBody = null;
166
+ try {
167
+ responseBody = JSON.parse(input.dataToProcess
168
+ .responseBody || "{}");
169
+ }
170
+ catch (err) {
171
+ logger.error(err);
172
+ responseBody = input.dataToProcess
173
+ .responseBody;
174
+ }
175
+ if (typeof responseBody === Typeof.String &&
176
+ (responseBody === null || responseBody === void 0 ? void 0 : responseBody.toString()) === "") {
177
+ responseBody = {};
178
+ }
179
+ storageMap = {
180
+ responseBody: responseBody,
181
+ responseHeaders: input.dataToProcess
182
+ .responseHeaders,
183
+ responseStatusCode: input.dataToProcess
184
+ .responseCode,
185
+ responseTimeInMs: input.dataToProcess
186
+ .responseTimeInMs,
187
+ isOnline: input.dataToProcess.isOnline,
188
+ };
189
+ }
190
+ if (input.monitor.monitorType === MonitorType.IncomingRequest) {
191
+ storageMap = {
192
+ requestBody: input.dataToProcess
193
+ .requestBody,
194
+ requestHeaders: input.dataToProcess
195
+ .requestHeaders,
196
+ };
197
+ }
198
+ let expression = input.criteriaFilter.value;
199
+ expression = VMUtil.replaceValueInPlace(storageMap, expression, false);
200
+ const code = `return Boolean(${expression});`;
201
+ let result = null;
202
+ try {
203
+ result = await VMUtil.runCodeInSandbox({
204
+ code: code,
205
+ options: {
206
+ args: {},
207
+ },
208
+ });
209
+ }
210
+ catch (err) {
211
+ logger.error(err);
212
+ return null;
213
+ }
214
+ if (result && result.returnValue) {
215
+ return `JavaScript Expression - ${expression} - evaluated to true.`;
216
+ }
217
+ return null;
218
+ }
219
+ if (input.monitor.monitorType === MonitorType.API ||
220
+ input.monitor.monitorType === MonitorType.Website ||
221
+ input.monitor.monitorType === MonitorType.IP ||
222
+ input.monitor.monitorType === MonitorType.Ping ||
223
+ input.monitor.monitorType === MonitorType.Port) {
224
+ const apiRequestCriteriaResult = await APIRequestCriteria.isMonitorInstanceCriteriaFilterMet({
225
+ dataToProcess: input.dataToProcess,
226
+ criteriaFilter: input.criteriaFilter,
227
+ });
228
+ if (apiRequestCriteriaResult) {
229
+ return apiRequestCriteriaResult;
230
+ }
231
+ }
232
+ if (input.monitor.monitorType === MonitorType.CustomJavaScriptCode &&
233
+ input.dataToProcess.customCodeMonitorResponse) {
234
+ const criteriaResult = await CustomCodeMonitoringCriteria.isMonitorInstanceCriteriaFilterMet({
235
+ monitorResponse: input.dataToProcess
236
+ .customCodeMonitorResponse,
237
+ criteriaFilter: input.criteriaFilter,
238
+ });
239
+ if (criteriaResult) {
240
+ return criteriaResult;
241
+ }
242
+ }
243
+ if (input.monitor.monitorType === MonitorType.SyntheticMonitor &&
244
+ input.dataToProcess.syntheticMonitorResponse) {
245
+ const criteriaResult = await SyntheticMonitoringCriteria.isMonitorInstanceCriteriaFilterMet({
246
+ monitorResponse: input.dataToProcess
247
+ .syntheticMonitorResponse || [],
248
+ criteriaFilter: input.criteriaFilter,
249
+ });
250
+ if (criteriaResult) {
251
+ return criteriaResult;
252
+ }
253
+ }
254
+ if (input.monitor.monitorType === MonitorType.IncomingRequest) {
255
+ const incomingRequestResult = await IncomingRequestCriteria.isMonitorInstanceCriteriaFilterMet({
256
+ dataToProcess: input.dataToProcess,
257
+ criteriaFilter: input.criteriaFilter,
258
+ });
259
+ if (incomingRequestResult) {
260
+ return incomingRequestResult;
261
+ }
262
+ }
263
+ if (input.monitor.monitorType === MonitorType.SSLCertificate) {
264
+ const sslMonitorResult = await SSLMonitorCriteria.isMonitorInstanceCriteriaFilterMet({
265
+ dataToProcess: input.dataToProcess,
266
+ criteriaFilter: input.criteriaFilter,
267
+ });
268
+ if (sslMonitorResult) {
269
+ return sslMonitorResult;
270
+ }
271
+ }
272
+ if (input.monitor.monitorType === MonitorType.Server) {
273
+ const serverMonitorResult = await ServerMonitorCriteria.isMonitorInstanceCriteriaFilterMet({
274
+ dataToProcess: input.dataToProcess,
275
+ criteriaFilter: input.criteriaFilter,
276
+ });
277
+ if (serverMonitorResult) {
278
+ return serverMonitorResult;
279
+ }
280
+ }
281
+ if (input.monitor.monitorType === MonitorType.Logs) {
282
+ const logMonitorResult = await LogMonitorCriteria.isMonitorInstanceCriteriaFilterMet({
283
+ dataToProcess: input.dataToProcess,
284
+ criteriaFilter: input.criteriaFilter,
285
+ });
286
+ if (logMonitorResult) {
287
+ return logMonitorResult;
288
+ }
289
+ }
290
+ if (input.monitor.monitorType === MonitorType.Metrics) {
291
+ const metricMonitorResult = await MetricMonitorCriteria.isMonitorInstanceCriteriaFilterMet({
292
+ dataToProcess: input.dataToProcess,
293
+ criteriaFilter: input.criteriaFilter,
294
+ monitorStep: input.monitorStep,
295
+ });
296
+ if (metricMonitorResult) {
297
+ return metricMonitorResult;
298
+ }
299
+ }
300
+ if (input.monitor.monitorType === MonitorType.Traces) {
301
+ const traceMonitorResult = await TraceMonitorCriteria.isMonitorInstanceCriteriaFilterMet({
302
+ dataToProcess: input.dataToProcess,
303
+ criteriaFilter: input.criteriaFilter,
304
+ });
305
+ if (traceMonitorResult) {
306
+ return traceMonitorResult;
307
+ }
308
+ }
309
+ return null;
310
+ }
311
+ }
312
+ //# sourceMappingURL=MonitorCriteriaEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorCriteriaEvaluator.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorCriteriaEvaluator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import { FilterType, } from "../../../Types/Monitor/CriteriaFilter";
2
+ export default class MonitorCriteriaExpectationBuilder {
3
+ static getCriteriaFilterDescription(criteriaFilter) {
4
+ const parts = [criteriaFilter.checkOn];
5
+ if (criteriaFilter.filterType) {
6
+ parts.push(criteriaFilter.filterType);
7
+ }
8
+ if (criteriaFilter.value !== undefined && criteriaFilter.value !== null) {
9
+ parts.push(String(criteriaFilter.value));
10
+ }
11
+ return parts.join(" ").trim();
12
+ }
13
+ static describeCriteriaExpectation(criteriaFilter) {
14
+ if (!criteriaFilter.filterType) {
15
+ return null;
16
+ }
17
+ let expectation;
18
+ const value = criteriaFilter.value;
19
+ switch (criteriaFilter.filterType) {
20
+ case FilterType.GreaterThan:
21
+ expectation = `to be greater than ${value}`;
22
+ break;
23
+ case FilterType.GreaterThanOrEqualTo:
24
+ expectation = `to be greater than or equal to ${value}`;
25
+ break;
26
+ case FilterType.LessThan:
27
+ expectation = `to be less than ${value}`;
28
+ break;
29
+ case FilterType.LessThanOrEqualTo:
30
+ expectation = `to be less than or equal to ${value}`;
31
+ break;
32
+ case FilterType.EqualTo:
33
+ expectation = `to equal ${value}`;
34
+ break;
35
+ case FilterType.NotEqualTo:
36
+ expectation = `to not equal ${value}`;
37
+ break;
38
+ case FilterType.Contains:
39
+ expectation = `to contain ${value}`;
40
+ break;
41
+ case FilterType.NotContains:
42
+ expectation = `to not contain ${value}`;
43
+ break;
44
+ case FilterType.StartsWith:
45
+ expectation = `to start with ${value}`;
46
+ break;
47
+ case FilterType.EndsWith:
48
+ expectation = `to end with ${value}`;
49
+ break;
50
+ case FilterType.IsEmpty:
51
+ expectation = "to be empty";
52
+ break;
53
+ case FilterType.IsNotEmpty:
54
+ expectation = "to not be empty";
55
+ break;
56
+ case FilterType.True:
57
+ expectation = "to be true";
58
+ break;
59
+ case FilterType.False:
60
+ expectation = "to be false";
61
+ break;
62
+ case FilterType.IsExecuting:
63
+ expectation = "to be executing";
64
+ break;
65
+ case FilterType.IsNotExecuting:
66
+ expectation = "to not be executing";
67
+ break;
68
+ case FilterType.RecievedInMinutes:
69
+ expectation = value
70
+ ? `to receive a heartbeat within ${value} minutes`
71
+ : "to receive a heartbeat within the configured window";
72
+ break;
73
+ case FilterType.NotRecievedInMinutes:
74
+ expectation = value
75
+ ? `to miss a heartbeat for at least ${value} minutes`
76
+ : "to miss a heartbeat within the configured window";
77
+ break;
78
+ case FilterType.EvaluatesToTrue:
79
+ expectation = "to evaluate to true";
80
+ break;
81
+ default:
82
+ expectation = `${criteriaFilter.filterType}${value ? ` ${value}` : ""}`;
83
+ break;
84
+ }
85
+ const evaluationWindow = MonitorCriteriaExpectationBuilder.getEvaluationWindowDescription(criteriaFilter);
86
+ if (evaluationWindow) {
87
+ expectation += ` ${evaluationWindow}`;
88
+ }
89
+ return expectation.trim();
90
+ }
91
+ static getEvaluationWindowDescription(criteriaFilter) {
92
+ var _a, _b, _c;
93
+ const parts = [];
94
+ if (criteriaFilter.eveluateOverTime &&
95
+ ((_a = criteriaFilter.evaluateOverTimeOptions) === null || _a === void 0 ? void 0 : _a.timeValueInMinutes)) {
96
+ parts.push(`over the last ${criteriaFilter.evaluateOverTimeOptions.timeValueInMinutes} minutes`);
97
+ }
98
+ const aggregation = ((_b = criteriaFilter.evaluateOverTimeOptions) === null || _b === void 0 ? void 0 : _b.evaluateOverTimeType) ||
99
+ ((_c = criteriaFilter.metricMonitorOptions) === null || _c === void 0 ? void 0 : _c.metricAggregationType);
100
+ if (aggregation) {
101
+ parts.push(`using ${aggregation.toLowerCase()}`);
102
+ }
103
+ if (!parts.length) {
104
+ return null;
105
+ }
106
+ return parts.join(" ");
107
+ }
108
+ }
109
+ //# sourceMappingURL=MonitorCriteriaExpectationBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorCriteriaExpectationBuilder.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import MonitorCriteriaExpectationBuilder from "./MonitorCriteriaExpectationBuilder";
2
+ import MonitorCriteriaObservationBuilder from "./MonitorCriteriaObservationBuilder";
3
+ export default class MonitorCriteriaMessageBuilder {
4
+ static buildCriteriaFilterMessage(input) {
5
+ if (input.matchMessage) {
6
+ return input.matchMessage;
7
+ }
8
+ if (input.didMeetCriteria) {
9
+ const description = MonitorCriteriaExpectationBuilder.getCriteriaFilterDescription(input.criteriaFilter);
10
+ return `${description} condition met.`;
11
+ }
12
+ const failureMessage = MonitorCriteriaMessageBuilder.buildCriteriaFilterFailureMessage({
13
+ monitor: input.monitor,
14
+ criteriaFilter: input.criteriaFilter,
15
+ dataToProcess: input.dataToProcess,
16
+ monitorStep: input.monitorStep,
17
+ });
18
+ if (failureMessage) {
19
+ return failureMessage;
20
+ }
21
+ const description = MonitorCriteriaExpectationBuilder.getCriteriaFilterDescription(input.criteriaFilter);
22
+ return `${description} condition was not met.`;
23
+ }
24
+ static buildCriteriaFilterFailureMessage(input) {
25
+ const expectation = MonitorCriteriaExpectationBuilder.describeCriteriaExpectation(input.criteriaFilter);
26
+ const observation = MonitorCriteriaObservationBuilder.describeFilterObservation({
27
+ monitor: input.monitor,
28
+ criteriaFilter: input.criteriaFilter,
29
+ dataToProcess: input.dataToProcess,
30
+ monitorStep: input.monitorStep,
31
+ });
32
+ if (observation) {
33
+ if (expectation) {
34
+ return `${observation} (expected ${expectation}).`;
35
+ }
36
+ return `${observation}; configured filter was not met.`;
37
+ }
38
+ if (expectation) {
39
+ const description = MonitorCriteriaExpectationBuilder.getCriteriaFilterDescription(input.criteriaFilter);
40
+ return `${description} did not satisfy the configured condition (${expectation}).`;
41
+ }
42
+ return null;
43
+ }
44
+ }
45
+ //# sourceMappingURL=MonitorCriteriaMessageBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorCriteriaMessageBuilder.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorCriteriaMessageBuilder.ts"],"names":[],"mappings":"AAIA,OAAO,iCAAiC,MAAM,qCAAqC,CAAC;AACpF,OAAO,iCAAiC,MAAM,qCAAqC,CAAC;AAEpF,MAAM,CAAC,OAAO,OAAO,6BAA6B;IACzC,MAAM,CAAC,0BAA0B,CAAC,KAOxC;QACC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;QAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,WAAW,GACf,iCAAiC,CAAC,4BAA4B,CAC5D,KAAK,CAAC,cAAc,CACrB,CAAC;YAEJ,OAAO,GAAG,WAAW,iBAAiB,CAAC;QACzC,CAAC;QAED,MAAM,cAAc,GAClB,6BAA6B,CAAC,iCAAiC,CAAC;YAC9D,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;QAEL,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,MAAM,WAAW,GACf,iCAAiC,CAAC,4BAA4B,CAC5D,KAAK,CAAC,cAAc,CACrB,CAAC;QAEJ,OAAO,GAAG,WAAW,yBAAyB,CAAC;IACjD,CAAC;IAEO,MAAM,CAAC,iCAAiC,CAAC,KAKhD;QACC,MAAM,WAAW,GACf,iCAAiC,CAAC,2BAA2B,CAC3D,KAAK,CAAC,cAAc,CACrB,CAAC;QAEJ,MAAM,WAAW,GACf,iCAAiC,CAAC,yBAAyB,CAAC;YAC1D,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;QAEL,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,GAAG,WAAW,cAAc,WAAW,IAAI,CAAC;YACrD,CAAC;YAED,OAAO,GAAG,WAAW,kCAAkC,CAAC;QAC1D,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,GACf,iCAAiC,CAAC,4BAA4B,CAC5D,KAAK,CAAC,cAAc,CACrB,CAAC;YAEJ,OAAO,GAAG,WAAW,8CAA8C,WAAW,IAAI,CAAC;QACrF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}