@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.
- package/Models/DatabaseModels/AcmeChallenge.ts +3 -0
- package/Models/DatabaseModels/Domain.ts +6 -1
- package/Server/API/AcmeChallengeAPI.ts +64 -0
- package/Server/EnvironmentConfig.ts +54 -0
- package/Server/Infrastructure/Queue.ts +12 -16
- package/Server/Infrastructure/QueueWorker.ts +2 -6
- package/Server/Services/DomainService.ts +48 -40
- package/Server/Utils/AnalyticsDatabase/Statement.ts +8 -4
- package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +47 -15
- package/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.ts +13 -12
- package/Server/Utils/Monitor/MonitorAlert.ts +46 -1
- package/Server/Utils/Monitor/MonitorCriteriaDataExtractor.ts +208 -0
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +439 -0
- package/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.ts +141 -0
- package/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.ts +88 -0
- package/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.ts +196 -0
- package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +1123 -0
- package/Server/Utils/Monitor/MonitorIncident.ts +46 -1
- package/Server/Utils/Monitor/MonitorLogUtil.ts +44 -0
- package/Server/Utils/Monitor/MonitorMetricUtil.ts +482 -0
- package/Server/Utils/Monitor/MonitorResource.ts +185 -914
- package/Server/Utils/StartServer.ts +14 -6
- package/Types/Email.ts +3 -7
- package/Types/Monitor/IncomingMonitor/IncomingMonitorRequest.ts +2 -0
- package/Types/Monitor/LogMonitor/LogMonitorResponse.ts +2 -0
- package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +2 -0
- package/Types/Monitor/MonitorEvaluationSummary.ts +48 -0
- package/Types/Monitor/ServerMonitor/ServerMonitorResponse.ts +2 -0
- package/Types/Monitor/TraceMonitor/TraceMonitorResponse.ts +2 -0
- package/Types/Probe/ProbeApiIngestResponse.ts +2 -0
- package/Types/Probe/ProbeMonitorResponse.ts +2 -0
- package/build/dist/Models/DatabaseModels/AcmeChallenge.js +3 -0
- package/build/dist/Models/DatabaseModels/AcmeChallenge.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Domain.js +6 -1
- package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
- package/build/dist/Server/API/AcmeChallengeAPI.js +39 -0
- package/build/dist/Server/API/AcmeChallengeAPI.js.map +1 -0
- package/build/dist/Server/EnvironmentConfig.js +44 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Queue.js +8 -11
- package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
- package/build/dist/Server/Infrastructure/QueueWorker.js +2 -6
- package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
- package/build/dist/Server/Services/DomainService.js +31 -29
- package/build/dist/Server/Services/DomainService.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +2 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +34 -16
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js +12 -12
- package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +42 -4
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js +119 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +312 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js +109 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.js +45 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.js +132 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +583 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +42 -4
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js +32 -0
- package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +361 -0
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +133 -666
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +7 -4
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Types/Email.js +2 -5
- package/build/dist/Types/Email.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorEvaluationSummary.js +2 -0
- package/build/dist/Types/Monitor/MonitorEvaluationSummary.js.map +1 -0
- package/package.json +5 -5
|
@@ -20,8 +20,10 @@ import IncidentStateTimelineService from "../../Services/IncidentStateTimelineSe
|
|
|
20
20
|
import logger from "../Logger";
|
|
21
21
|
import CaptureSpan from "../Telemetry/CaptureSpan";
|
|
22
22
|
import MonitorTemplateUtil from "./MonitorTemplateUtil";
|
|
23
|
+
import OneUptimeDate from "../../../Types/Date";
|
|
23
24
|
export default class MonitorIncident {
|
|
24
25
|
static async checkOpenIncidentsAndCloseIfResolved(input) {
|
|
26
|
+
var _a, _b, _c, _d, _e;
|
|
25
27
|
// check active incidents and if there are open incidents, do not cretae anothr incident.
|
|
26
28
|
const openIncidents = await IncidentService.findBy({
|
|
27
29
|
query: {
|
|
@@ -37,6 +39,7 @@ export default class MonitorIncident {
|
|
|
37
39
|
createdCriteriaId: true,
|
|
38
40
|
createdIncidentTemplateId: true,
|
|
39
41
|
projectId: true,
|
|
42
|
+
incidentNumber: true,
|
|
40
43
|
},
|
|
41
44
|
props: {
|
|
42
45
|
isRoot: true,
|
|
@@ -56,12 +59,21 @@ export default class MonitorIncident {
|
|
|
56
59
|
rootCause: input.rootCause,
|
|
57
60
|
dataToProcess: input.dataToProcess,
|
|
58
61
|
});
|
|
62
|
+
(_a = input.evaluationSummary) === null || _a === void 0 ? void 0 : _a.events.push({
|
|
63
|
+
type: "incident-resolved",
|
|
64
|
+
title: `Incident resolved: ${(_b = openIncident.id) === null || _b === void 0 ? void 0 : _b.toString()}`,
|
|
65
|
+
message: "Incident auto-resolved because autoresolve is enabled for this criteria.",
|
|
66
|
+
relatedIncidentId: (_c = openIncident.id) === null || _c === void 0 ? void 0 : _c.toString(),
|
|
67
|
+
relatedIncidentNumber: openIncident.incidentNumber,
|
|
68
|
+
relatedCriteriaId: (_e = (_d = input.criteriaInstance) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.id,
|
|
69
|
+
at: OneUptimeDate.getCurrentDate(),
|
|
70
|
+
});
|
|
59
71
|
}
|
|
60
72
|
}
|
|
61
73
|
return openIncidents;
|
|
62
74
|
}
|
|
63
75
|
static async criteriaMetCreateIncidentsAndUpdateMonitorStatus(input) {
|
|
64
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
76
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
65
77
|
// check open incidents
|
|
66
78
|
logger.debug(`${(_a = input.monitor.id) === null || _a === void 0 ? void 0 : _a.toString()} - Check open incidents.`);
|
|
67
79
|
// check active incidents and if there are open incidents, do not cretae anothr incident.
|
|
@@ -71,6 +83,7 @@ export default class MonitorIncident {
|
|
|
71
83
|
rootCause: input.rootCause,
|
|
72
84
|
criteriaInstance: input.criteriaInstance,
|
|
73
85
|
dataToProcess: input.dataToProcess,
|
|
86
|
+
evaluationSummary: input.evaluationSummary,
|
|
74
87
|
});
|
|
75
88
|
if ((_b = input.criteriaInstance.data) === null || _b === void 0 ? void 0 : _b.createIncidents) {
|
|
76
89
|
// create incidents
|
|
@@ -88,9 +101,18 @@ export default class MonitorIncident {
|
|
|
88
101
|
logger.debug(`${(_d = input.monitor.id) === null || _d === void 0 ? void 0 : _d.toString()} - Open Incident ${(_e = alreadyOpenIncident === null || alreadyOpenIncident === void 0 ? void 0 : alreadyOpenIncident.id) === null || _e === void 0 ? void 0 : _e.toString()}`);
|
|
89
102
|
logger.debug(`${(_f = input.monitor.id) === null || _f === void 0 ? void 0 : _f.toString()} - Has open incident ${hasAlreadyOpenIncident}`);
|
|
90
103
|
if (hasAlreadyOpenIncident) {
|
|
104
|
+
(_g = input.evaluationSummary) === null || _g === void 0 ? void 0 : _g.events.push({
|
|
105
|
+
type: "incident-skipped",
|
|
106
|
+
title: `Incident already active: ${criteriaIncident.title}`,
|
|
107
|
+
message: "Skipped creating a new incident because an active incident exists for this criteria.",
|
|
108
|
+
relatedCriteriaId: (_h = input.criteriaInstance.data) === null || _h === void 0 ? void 0 : _h.id,
|
|
109
|
+
relatedIncidentId: (_j = alreadyOpenIncident === null || alreadyOpenIncident === void 0 ? void 0 : alreadyOpenIncident.id) === null || _j === void 0 ? void 0 : _j.toString(),
|
|
110
|
+
relatedIncidentNumber: alreadyOpenIncident === null || alreadyOpenIncident === void 0 ? void 0 : alreadyOpenIncident.incidentNumber,
|
|
111
|
+
at: OneUptimeDate.getCurrentDate(),
|
|
112
|
+
});
|
|
91
113
|
continue;
|
|
92
114
|
}
|
|
93
|
-
logger.debug(`${(
|
|
115
|
+
logger.debug(`${(_k = input.monitor.id) === null || _k === void 0 ? void 0 : _k.toString()} - Create incident.`);
|
|
94
116
|
const incident = new Incident();
|
|
95
117
|
const storageMap = MonitorTemplateUtil.buildTemplateStorageMap({
|
|
96
118
|
monitorType: input.monitor.monitorType,
|
|
@@ -137,7 +159,7 @@ export default class MonitorIncident {
|
|
|
137
159
|
incident.createdCriteriaId = input.criteriaInstance.data.id.toString();
|
|
138
160
|
incident.createdIncidentTemplateId = criteriaIncident.id.toString();
|
|
139
161
|
incident.onCallDutyPolicies =
|
|
140
|
-
((
|
|
162
|
+
((_l = criteriaIncident.onCallPolicyIds) === null || _l === void 0 ? void 0 : _l.map((id) => {
|
|
141
163
|
const onCallPolicy = new OnCallDutyPolicy();
|
|
142
164
|
onCallPolicy._id = id.toString();
|
|
143
165
|
return onCallPolicy;
|
|
@@ -157,14 +179,30 @@ export default class MonitorIncident {
|
|
|
157
179
|
});
|
|
158
180
|
}
|
|
159
181
|
if (DisableAutomaticIncidentCreation) {
|
|
182
|
+
(_m = input.evaluationSummary) === null || _m === void 0 ? void 0 : _m.events.push({
|
|
183
|
+
type: "incident-skipped",
|
|
184
|
+
title: "Incident creation skipped",
|
|
185
|
+
message: "Automatic incident creation is disabled by environment configuration.",
|
|
186
|
+
relatedCriteriaId: (_o = input.criteriaInstance.data) === null || _o === void 0 ? void 0 : _o.id,
|
|
187
|
+
at: OneUptimeDate.getCurrentDate(),
|
|
188
|
+
});
|
|
160
189
|
return;
|
|
161
190
|
}
|
|
162
|
-
await IncidentService.create({
|
|
191
|
+
const createdIncident = await IncidentService.create({
|
|
163
192
|
data: incident,
|
|
164
193
|
props: {
|
|
165
194
|
isRoot: true,
|
|
166
195
|
},
|
|
167
196
|
});
|
|
197
|
+
(_p = input.evaluationSummary) === null || _p === void 0 ? void 0 : _p.events.push({
|
|
198
|
+
type: "incident-created",
|
|
199
|
+
title: `Incident created: ${createdIncident.title || criteriaIncident.title}`,
|
|
200
|
+
message: `Incident triggered from criteria "${((_q = input.criteriaInstance.data) === null || _q === void 0 ? void 0 : _q.name) || "Unnamed criteria"}".`,
|
|
201
|
+
relatedCriteriaId: (_r = input.criteriaInstance.data) === null || _r === void 0 ? void 0 : _r.id,
|
|
202
|
+
relatedIncidentId: (_s = createdIncident.id) === null || _s === void 0 ? void 0 : _s.toString(),
|
|
203
|
+
relatedIncidentNumber: createdIncident.incidentNumber,
|
|
204
|
+
at: OneUptimeDate.getCurrentDate(),
|
|
205
|
+
});
|
|
168
206
|
}
|
|
169
207
|
}
|
|
170
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonitorIncident.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorIncident.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,OAAO,qBAAqB,MAAM,sDAAsD,CAAC;AAEzF,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AAMzE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAC7E,OAAO,4BAA4B,MAAM,6CAA6C,CAAC;AACvF,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAEnD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"MonitorIncident.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorIncident.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import MonitorLogService from "../../Services/MonitorLogService";
|
|
2
|
+
import logger from "../Logger";
|
|
3
|
+
import OneUptimeDate from "../../../Types/Date";
|
|
4
|
+
import ObjectID from "../../../Types/ObjectID";
|
|
5
|
+
export default class MonitorLogUtil {
|
|
6
|
+
static saveMonitorLog(data) {
|
|
7
|
+
if (!data.monitorId) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (!data.projectId) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (!data.dataToProcess) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const logIngestionDate = OneUptimeDate.getCurrentDate();
|
|
17
|
+
const logTimestamp = OneUptimeDate.toClickhouseDateTime(logIngestionDate);
|
|
18
|
+
const monitorLogRow = {
|
|
19
|
+
_id: ObjectID.generate().toString(),
|
|
20
|
+
createdAt: logTimestamp,
|
|
21
|
+
updatedAt: logTimestamp,
|
|
22
|
+
projectId: data.projectId.toString(),
|
|
23
|
+
monitorId: data.monitorId.toString(),
|
|
24
|
+
time: logTimestamp,
|
|
25
|
+
logBody: JSON.parse(JSON.stringify(data.dataToProcess)),
|
|
26
|
+
};
|
|
27
|
+
MonitorLogService.insertJsonRows([monitorLogRow]).catch((err) => {
|
|
28
|
+
logger.error(err);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=MonitorLogUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonitorLogUtil.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorLogUtil.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAI/C,MAAM,CAAC,OAAO,OAAO,cAAc;IAC1B,MAAM,CAAC,cAAc,CAAC,IAI5B;QACC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAS,aAAa,CAAC,cAAc,EAAE,CAAC;QAC9D,MAAM,YAAY,GAChB,aAAa,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAEvD,MAAM,aAAa,GAAe;YAChC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YACnC,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACpC,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACxD,CAAC;QAEF,iBAAiB,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YACrE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import logger from "../Logger";
|
|
11
|
+
import CaptureSpan from "../Telemetry/CaptureSpan";
|
|
12
|
+
import TelemetryUtil from "../Telemetry/Telemetry";
|
|
13
|
+
import MetricService from "../../Services/MetricService";
|
|
14
|
+
import { MetricPointType, ServiceType, } from "../../../Models/AnalyticsModels/Metric";
|
|
15
|
+
import MetricType from "../../../Models/DatabaseModels/MetricType";
|
|
16
|
+
import MonitorMetricType from "../../../Types/Monitor/MonitorMetricType";
|
|
17
|
+
import { CheckOn } from "../../../Types/Monitor/CriteriaFilter";
|
|
18
|
+
import ObjectID from "../../../Types/ObjectID";
|
|
19
|
+
import OneUptimeDate from "../../../Types/Date";
|
|
20
|
+
export default class MonitorMetricUtil {
|
|
21
|
+
static buildMonitorMetricAttributes(data) {
|
|
22
|
+
const attributes = {
|
|
23
|
+
monitorId: data.monitorId.toString(),
|
|
24
|
+
projectId: data.projectId.toString(),
|
|
25
|
+
};
|
|
26
|
+
if (data.extraAttributes) {
|
|
27
|
+
Object.assign(attributes, data.extraAttributes);
|
|
28
|
+
}
|
|
29
|
+
if (data.monitorName) {
|
|
30
|
+
attributes["monitorName"] = data.monitorName;
|
|
31
|
+
}
|
|
32
|
+
if (data.probeName) {
|
|
33
|
+
attributes["probeName"] = data.probeName;
|
|
34
|
+
}
|
|
35
|
+
return attributes;
|
|
36
|
+
}
|
|
37
|
+
static buildMonitorMetricRow(data) {
|
|
38
|
+
var _a;
|
|
39
|
+
const ingestionDate = OneUptimeDate.getCurrentDate();
|
|
40
|
+
const ingestionTimestamp = OneUptimeDate.toClickhouseDateTime(ingestionDate);
|
|
41
|
+
const timeUnixNano = OneUptimeDate.toUnixNano(ingestionDate).toString();
|
|
42
|
+
const attributes = Object.assign({}, data.attributes);
|
|
43
|
+
const attributeKeys = TelemetryUtil.getAttributeKeys(attributes);
|
|
44
|
+
return {
|
|
45
|
+
_id: ObjectID.generate().toString(),
|
|
46
|
+
createdAt: ingestionTimestamp,
|
|
47
|
+
updatedAt: ingestionTimestamp,
|
|
48
|
+
projectId: data.projectId.toString(),
|
|
49
|
+
serviceId: data.monitorId.toString(),
|
|
50
|
+
serviceType: ServiceType.Monitor,
|
|
51
|
+
name: data.metricName,
|
|
52
|
+
aggregationTemporality: null,
|
|
53
|
+
metricPointType: data.metricPointType || MetricPointType.Sum,
|
|
54
|
+
time: ingestionTimestamp,
|
|
55
|
+
startTime: null,
|
|
56
|
+
timeUnixNano: timeUnixNano,
|
|
57
|
+
startTimeUnixNano: null,
|
|
58
|
+
attributes: attributes,
|
|
59
|
+
attributeKeys: attributeKeys,
|
|
60
|
+
isMonotonic: null,
|
|
61
|
+
count: null,
|
|
62
|
+
sum: null,
|
|
63
|
+
min: null,
|
|
64
|
+
max: null,
|
|
65
|
+
bucketCounts: [],
|
|
66
|
+
explicitBounds: [],
|
|
67
|
+
value: (_a = data.value) !== null && _a !== void 0 ? _a : null,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
static async saveMonitorMetrics(data) {
|
|
71
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
72
|
+
if (!data.monitorId) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (!data.projectId) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (!data.dataToProcess) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const metricRows = [];
|
|
82
|
+
/*
|
|
83
|
+
* Metric name to serviceId map
|
|
84
|
+
* example: "cpu.usage" -> [serviceId1, serviceId2]
|
|
85
|
+
* since these are monitor metrics. They dont belong to any service so we can keep the array empty.
|
|
86
|
+
*/
|
|
87
|
+
const metricNameServiceNameMap = {};
|
|
88
|
+
if (data.dataToProcess.basicInfrastructureMetrics) {
|
|
89
|
+
// store cpu, memory, disk metrics.
|
|
90
|
+
if (data.dataToProcess.requestReceivedAt) {
|
|
91
|
+
let isOnline = true;
|
|
92
|
+
const differenceInMinutes = OneUptimeDate.getDifferenceInMinutes(data.dataToProcess.requestReceivedAt, OneUptimeDate.getCurrentDate());
|
|
93
|
+
if (differenceInMinutes > 2) {
|
|
94
|
+
isOnline = false;
|
|
95
|
+
}
|
|
96
|
+
const attributes = this.buildMonitorMetricAttributes({
|
|
97
|
+
monitorId: data.monitorId,
|
|
98
|
+
projectId: data.projectId,
|
|
99
|
+
monitorName: data.monitorName,
|
|
100
|
+
probeName: data.probeName,
|
|
101
|
+
});
|
|
102
|
+
const metricRow = this.buildMonitorMetricRow({
|
|
103
|
+
projectId: data.projectId,
|
|
104
|
+
monitorId: data.monitorId,
|
|
105
|
+
metricName: MonitorMetricType.IsOnline,
|
|
106
|
+
value: isOnline ? 1 : 0,
|
|
107
|
+
attributes: attributes,
|
|
108
|
+
metricPointType: MetricPointType.Sum,
|
|
109
|
+
});
|
|
110
|
+
metricRows.push(metricRow);
|
|
111
|
+
// add MetricType
|
|
112
|
+
const metricType = new MetricType();
|
|
113
|
+
metricType.name = MonitorMetricType.IsOnline;
|
|
114
|
+
metricType.description = CheckOn.IsOnline + " status for monitor";
|
|
115
|
+
metricType.unit = "";
|
|
116
|
+
// add to map
|
|
117
|
+
metricNameServiceNameMap[MonitorMetricType.IsOnline] = metricType;
|
|
118
|
+
}
|
|
119
|
+
const basicMetrics = data.dataToProcess.basicInfrastructureMetrics;
|
|
120
|
+
if (!basicMetrics) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (basicMetrics.cpuMetrics) {
|
|
124
|
+
const attributes = this.buildMonitorMetricAttributes({
|
|
125
|
+
monitorId: data.monitorId,
|
|
126
|
+
projectId: data.projectId,
|
|
127
|
+
monitorName: data.monitorName,
|
|
128
|
+
probeName: data.probeName,
|
|
129
|
+
});
|
|
130
|
+
const metricRow = this.buildMonitorMetricRow({
|
|
131
|
+
projectId: data.projectId,
|
|
132
|
+
monitorId: data.monitorId,
|
|
133
|
+
metricName: MonitorMetricType.CPUUsagePercent,
|
|
134
|
+
value: (_a = basicMetrics.cpuMetrics.percentUsed) !== null && _a !== void 0 ? _a : null,
|
|
135
|
+
attributes: attributes,
|
|
136
|
+
metricPointType: MetricPointType.Sum,
|
|
137
|
+
});
|
|
138
|
+
metricRows.push(metricRow);
|
|
139
|
+
const metricType = new MetricType();
|
|
140
|
+
metricType.name = MonitorMetricType.CPUUsagePercent;
|
|
141
|
+
metricType.description = CheckOn.CPUUsagePercent + " of Server/VM";
|
|
142
|
+
metricType.unit = "%";
|
|
143
|
+
metricNameServiceNameMap[MonitorMetricType.CPUUsagePercent] =
|
|
144
|
+
metricType;
|
|
145
|
+
}
|
|
146
|
+
if (basicMetrics.memoryMetrics) {
|
|
147
|
+
const attributes = this.buildMonitorMetricAttributes({
|
|
148
|
+
monitorId: data.monitorId,
|
|
149
|
+
projectId: data.projectId,
|
|
150
|
+
monitorName: data.monitorName,
|
|
151
|
+
probeName: data.probeName,
|
|
152
|
+
});
|
|
153
|
+
const metricRow = this.buildMonitorMetricRow({
|
|
154
|
+
projectId: data.projectId,
|
|
155
|
+
monitorId: data.monitorId,
|
|
156
|
+
metricName: MonitorMetricType.MemoryUsagePercent,
|
|
157
|
+
value: (_b = basicMetrics.memoryMetrics.percentUsed) !== null && _b !== void 0 ? _b : null,
|
|
158
|
+
attributes: attributes,
|
|
159
|
+
metricPointType: MetricPointType.Sum,
|
|
160
|
+
});
|
|
161
|
+
metricRows.push(metricRow);
|
|
162
|
+
const metricType = new MetricType();
|
|
163
|
+
metricType.name = MonitorMetricType.MemoryUsagePercent;
|
|
164
|
+
metricType.description = CheckOn.MemoryUsagePercent + " of Server/VM";
|
|
165
|
+
metricType.unit = "%";
|
|
166
|
+
metricNameServiceNameMap[MonitorMetricType.MemoryUsagePercent] =
|
|
167
|
+
metricType;
|
|
168
|
+
}
|
|
169
|
+
if (basicMetrics.diskMetrics && basicMetrics.diskMetrics.length > 0) {
|
|
170
|
+
for (const diskMetric of basicMetrics.diskMetrics) {
|
|
171
|
+
const extraAttributes = {};
|
|
172
|
+
if (diskMetric.diskPath) {
|
|
173
|
+
extraAttributes["diskPath"] = diskMetric.diskPath;
|
|
174
|
+
}
|
|
175
|
+
const attributes = this.buildMonitorMetricAttributes({
|
|
176
|
+
monitorId: data.monitorId,
|
|
177
|
+
projectId: data.projectId,
|
|
178
|
+
monitorName: data.monitorName,
|
|
179
|
+
probeName: data.probeName,
|
|
180
|
+
extraAttributes: extraAttributes,
|
|
181
|
+
});
|
|
182
|
+
const metricRow = this.buildMonitorMetricRow({
|
|
183
|
+
projectId: data.projectId,
|
|
184
|
+
monitorId: data.monitorId,
|
|
185
|
+
metricName: MonitorMetricType.DiskUsagePercent,
|
|
186
|
+
value: (_c = diskMetric.percentUsed) !== null && _c !== void 0 ? _c : null,
|
|
187
|
+
attributes: attributes,
|
|
188
|
+
metricPointType: MetricPointType.Sum,
|
|
189
|
+
});
|
|
190
|
+
metricRows.push(metricRow);
|
|
191
|
+
const metricType = new MetricType();
|
|
192
|
+
metricType.name = MonitorMetricType.DiskUsagePercent;
|
|
193
|
+
metricType.description = CheckOn.DiskUsagePercent + " of Server/VM";
|
|
194
|
+
metricType.unit = "%";
|
|
195
|
+
metricNameServiceNameMap[MonitorMetricType.DiskUsagePercent] =
|
|
196
|
+
metricType;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if ((_d = data.dataToProcess.customCodeMonitorResponse) === null || _d === void 0 ? void 0 : _d.executionTimeInMS) {
|
|
201
|
+
const extraAttributes = {
|
|
202
|
+
probeId: data.dataToProcess.probeId.toString(),
|
|
203
|
+
};
|
|
204
|
+
const attributes = this.buildMonitorMetricAttributes({
|
|
205
|
+
monitorId: data.monitorId,
|
|
206
|
+
projectId: data.projectId,
|
|
207
|
+
extraAttributes: extraAttributes,
|
|
208
|
+
});
|
|
209
|
+
const metricRow = this.buildMonitorMetricRow({
|
|
210
|
+
projectId: data.projectId,
|
|
211
|
+
monitorId: data.monitorId,
|
|
212
|
+
metricName: MonitorMetricType.ExecutionTime,
|
|
213
|
+
value: (_f = (_e = data.dataToProcess.customCodeMonitorResponse) === null || _e === void 0 ? void 0 : _e.executionTimeInMS) !== null && _f !== void 0 ? _f : null,
|
|
214
|
+
attributes: attributes,
|
|
215
|
+
metricPointType: MetricPointType.Sum,
|
|
216
|
+
});
|
|
217
|
+
metricRows.push(metricRow);
|
|
218
|
+
const metricType = new MetricType();
|
|
219
|
+
metricType.name = MonitorMetricType.ExecutionTime;
|
|
220
|
+
metricType.description = CheckOn.ExecutionTime + " of this monitor";
|
|
221
|
+
metricType.unit = "ms";
|
|
222
|
+
metricNameServiceNameMap[MonitorMetricType.ExecutionTime] = metricType;
|
|
223
|
+
}
|
|
224
|
+
if (data.dataToProcess &&
|
|
225
|
+
data.dataToProcess.syntheticMonitorResponse &&
|
|
226
|
+
(data.dataToProcess.syntheticMonitorResponse ||
|
|
227
|
+
[]).length > 0) {
|
|
228
|
+
const syntheticResponses = data.dataToProcess.syntheticMonitorResponse ||
|
|
229
|
+
[];
|
|
230
|
+
for (const syntheticMonitorResponse of syntheticResponses) {
|
|
231
|
+
const extraAttributes = {
|
|
232
|
+
probeId: data.dataToProcess.probeId.toString(),
|
|
233
|
+
};
|
|
234
|
+
if (syntheticMonitorResponse.browserType) {
|
|
235
|
+
extraAttributes["browserType"] = syntheticMonitorResponse.browserType;
|
|
236
|
+
}
|
|
237
|
+
if (syntheticMonitorResponse.screenSizeType) {
|
|
238
|
+
extraAttributes["screenSizeType"] =
|
|
239
|
+
syntheticMonitorResponse.screenSizeType;
|
|
240
|
+
}
|
|
241
|
+
const attributes = this.buildMonitorMetricAttributes({
|
|
242
|
+
monitorId: data.monitorId,
|
|
243
|
+
projectId: data.projectId,
|
|
244
|
+
monitorName: data.monitorName,
|
|
245
|
+
probeName: data.probeName,
|
|
246
|
+
extraAttributes: extraAttributes,
|
|
247
|
+
});
|
|
248
|
+
const metricRow = this.buildMonitorMetricRow({
|
|
249
|
+
projectId: data.projectId,
|
|
250
|
+
monitorId: data.monitorId,
|
|
251
|
+
metricName: MonitorMetricType.ExecutionTime,
|
|
252
|
+
value: (_g = syntheticMonitorResponse.executionTimeInMS) !== null && _g !== void 0 ? _g : null,
|
|
253
|
+
attributes: attributes,
|
|
254
|
+
metricPointType: MetricPointType.Sum,
|
|
255
|
+
});
|
|
256
|
+
metricRows.push(metricRow);
|
|
257
|
+
const metricType = new MetricType();
|
|
258
|
+
metricType.name = MonitorMetricType.ExecutionTime;
|
|
259
|
+
metricType.description = CheckOn.ExecutionTime + " of this monitor";
|
|
260
|
+
metricType.unit = "ms";
|
|
261
|
+
metricNameServiceNameMap[MonitorMetricType.ExecutionTime] = metricType;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
if (data.dataToProcess.responseTimeInMs) {
|
|
265
|
+
const extraAttributes = {
|
|
266
|
+
probeId: data.dataToProcess.probeId.toString(),
|
|
267
|
+
};
|
|
268
|
+
const attributes = this.buildMonitorMetricAttributes({
|
|
269
|
+
monitorId: data.monitorId,
|
|
270
|
+
projectId: data.projectId,
|
|
271
|
+
monitorName: data.monitorName,
|
|
272
|
+
probeName: data.probeName,
|
|
273
|
+
extraAttributes: extraAttributes,
|
|
274
|
+
});
|
|
275
|
+
const metricRow = this.buildMonitorMetricRow({
|
|
276
|
+
projectId: data.projectId,
|
|
277
|
+
monitorId: data.monitorId,
|
|
278
|
+
metricName: MonitorMetricType.ResponseTime,
|
|
279
|
+
value: (_h = data.dataToProcess.responseTimeInMs) !== null && _h !== void 0 ? _h : null,
|
|
280
|
+
attributes: attributes,
|
|
281
|
+
metricPointType: MetricPointType.Sum,
|
|
282
|
+
});
|
|
283
|
+
metricRows.push(metricRow);
|
|
284
|
+
const metricType = new MetricType();
|
|
285
|
+
metricType.name = MonitorMetricType.ResponseTime;
|
|
286
|
+
metricType.description = CheckOn.ResponseTime + " of this monitor";
|
|
287
|
+
metricType.unit = "ms";
|
|
288
|
+
metricNameServiceNameMap[MonitorMetricType.ResponseTime] = metricType;
|
|
289
|
+
}
|
|
290
|
+
if (data.dataToProcess.isOnline !== undefined) {
|
|
291
|
+
const extraAttributes = {
|
|
292
|
+
probeId: data.dataToProcess.probeId.toString(),
|
|
293
|
+
};
|
|
294
|
+
const attributes = this.buildMonitorMetricAttributes({
|
|
295
|
+
monitorId: data.monitorId,
|
|
296
|
+
projectId: data.projectId,
|
|
297
|
+
monitorName: data.monitorName,
|
|
298
|
+
probeName: data.probeName,
|
|
299
|
+
extraAttributes: extraAttributes,
|
|
300
|
+
});
|
|
301
|
+
const metricRow = this.buildMonitorMetricRow({
|
|
302
|
+
projectId: data.projectId,
|
|
303
|
+
monitorId: data.monitorId,
|
|
304
|
+
metricName: MonitorMetricType.IsOnline,
|
|
305
|
+
value: data.dataToProcess.isOnline ? 1 : 0,
|
|
306
|
+
attributes: attributes,
|
|
307
|
+
metricPointType: MetricPointType.Sum,
|
|
308
|
+
});
|
|
309
|
+
metricRows.push(metricRow);
|
|
310
|
+
const metricType = new MetricType();
|
|
311
|
+
metricType.name = MonitorMetricType.IsOnline;
|
|
312
|
+
metricType.description = CheckOn.IsOnline + " status for monitor";
|
|
313
|
+
metricType.unit = "";
|
|
314
|
+
metricNameServiceNameMap[MonitorMetricType.IsOnline] = metricType;
|
|
315
|
+
}
|
|
316
|
+
if (data.dataToProcess.responseCode) {
|
|
317
|
+
const extraAttributes = {
|
|
318
|
+
probeId: data.dataToProcess.probeId.toString(),
|
|
319
|
+
};
|
|
320
|
+
const attributes = this.buildMonitorMetricAttributes({
|
|
321
|
+
monitorId: data.monitorId,
|
|
322
|
+
projectId: data.projectId,
|
|
323
|
+
monitorName: data.monitorName,
|
|
324
|
+
probeName: data.probeName,
|
|
325
|
+
extraAttributes: extraAttributes,
|
|
326
|
+
});
|
|
327
|
+
const metricRow = this.buildMonitorMetricRow({
|
|
328
|
+
projectId: data.projectId,
|
|
329
|
+
monitorId: data.monitorId,
|
|
330
|
+
metricName: MonitorMetricType.ResponseStatusCode,
|
|
331
|
+
value: (_j = data.dataToProcess.responseCode) !== null && _j !== void 0 ? _j : null,
|
|
332
|
+
attributes: attributes,
|
|
333
|
+
metricPointType: MetricPointType.Sum,
|
|
334
|
+
});
|
|
335
|
+
metricRows.push(metricRow);
|
|
336
|
+
const metricType = new MetricType();
|
|
337
|
+
metricType.name = MonitorMetricType.ResponseStatusCode;
|
|
338
|
+
metricType.description = CheckOn.ResponseStatusCode + " for this monitor";
|
|
339
|
+
metricType.unit = "Status Code";
|
|
340
|
+
metricNameServiceNameMap[MonitorMetricType.ResponseStatusCode] =
|
|
341
|
+
metricType;
|
|
342
|
+
}
|
|
343
|
+
if (metricRows.length > 0) {
|
|
344
|
+
await MetricService.insertJsonRows(metricRows);
|
|
345
|
+
}
|
|
346
|
+
// index metrics
|
|
347
|
+
TelemetryUtil.indexMetricNameServiceNameMap({
|
|
348
|
+
projectId: data.projectId,
|
|
349
|
+
metricNameServiceNameMap: metricNameServiceNameMap,
|
|
350
|
+
}).catch((err) => {
|
|
351
|
+
logger.error(err);
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
__decorate([
|
|
356
|
+
CaptureSpan(),
|
|
357
|
+
__metadata("design:type", Function),
|
|
358
|
+
__metadata("design:paramtypes", [Object]),
|
|
359
|
+
__metadata("design:returntype", Promise)
|
|
360
|
+
], MonitorMetricUtil, "saveMonitorMetrics", null);
|
|
361
|
+
//# sourceMappingURL=MonitorMetricUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonitorMetricUtil.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorMetricUtil.ts"],"names":[],"mappings":"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"}
|