@oneuptime/common 11.1.2 → 11.2.1

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 (155) hide show
  1. package/Models/DatabaseModels/Alert.ts +55 -0
  2. package/Models/DatabaseModels/Incident.ts +55 -0
  3. package/Models/DatabaseModels/Index.ts +12 -0
  4. package/Models/DatabaseModels/IoTDevice.ts +690 -0
  5. package/Models/DatabaseModels/IoTFleet.ts +862 -0
  6. package/Models/DatabaseModels/IoTFleetLabelRule.ts +514 -0
  7. package/Models/DatabaseModels/IoTFleetOwnerRule.ts +596 -0
  8. package/Models/DatabaseModels/IoTFleetOwnerTeam.ts +485 -0
  9. package/Models/DatabaseModels/IoTFleetOwnerUser.ts +484 -0
  10. package/Models/DatabaseModels/ScheduledMaintenance.ts +55 -0
  11. package/Server/API/IoTDeviceAPI.ts +128 -0
  12. package/Server/API/TelemetryAPI.ts +104 -35
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.ts +399 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.ts +97 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.ts +979 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  17. package/Server/Services/AlertService.ts +24 -3
  18. package/Server/Services/IncidentService.ts +24 -3
  19. package/Server/Services/IoTDeviceService.ts +356 -0
  20. package/Server/Services/IoTFleetLabelRuleEngineService.ts +198 -0
  21. package/Server/Services/IoTFleetLabelRuleService.ts +14 -0
  22. package/Server/Services/IoTFleetOwnerRuleEngineService.ts +216 -0
  23. package/Server/Services/IoTFleetOwnerRuleService.ts +14 -0
  24. package/Server/Services/IoTFleetOwnerTeamService.ts +10 -0
  25. package/Server/Services/IoTFleetOwnerUserService.ts +10 -0
  26. package/Server/Services/IoTFleetService.ts +376 -0
  27. package/Server/Services/OpenTelemetryIngestService.ts +16 -0
  28. package/Server/Services/StatusPageService.ts +69 -26
  29. package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +36 -0
  30. package/Server/Services/TelemetryUsageBillingService.ts +18 -0
  31. package/Server/Services/TraceAggregationService.ts +174 -0
  32. package/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.ts +1 -1
  33. package/Server/Utils/Monitor/MonitorAlert.ts +24 -4
  34. package/Server/Utils/Monitor/MonitorClusterContext.ts +26 -2
  35. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +4 -2
  36. package/Server/Utils/Monitor/MonitorIncident.ts +39 -5
  37. package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +14 -0
  38. package/Server/Utils/Monitor/SeriesResourceLabels.ts +22 -0
  39. package/Server/Utils/Telemetry/IoTSnapshotScan.ts +408 -0
  40. package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +36 -0
  41. package/Types/Icon/IconProp.ts +1 -0
  42. package/Types/Monitor/IotAlertTemplates.ts +593 -0
  43. package/Types/Monitor/IotMetricCatalog.ts +146 -0
  44. package/Types/Monitor/MonitorStep.ts +31 -0
  45. package/Types/Monitor/MonitorStepIoTMonitor.ts +65 -0
  46. package/Types/Monitor/MonitorType.ts +12 -1
  47. package/Types/Permission.ts +230 -0
  48. package/Types/StatusPage/StatusPageSubscriberNotificationEventType.ts +3 -0
  49. package/Types/Telemetry/ServiceType.ts +1 -0
  50. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +5 -5
  51. package/UI/Components/Icon/Icon.tsx +18 -2
  52. package/UI/Components/Page/Page.tsx +1 -2
  53. package/build/dist/Models/DatabaseModels/Alert.js +54 -0
  54. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  55. package/build/dist/Models/DatabaseModels/Incident.js +54 -0
  56. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  57. package/build/dist/Models/DatabaseModels/Index.js +12 -0
  58. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  59. package/build/dist/Models/DatabaseModels/IoTDevice.js +722 -0
  60. package/build/dist/Models/DatabaseModels/IoTDevice.js.map +1 -0
  61. package/build/dist/Models/DatabaseModels/IoTFleet.js +882 -0
  62. package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -0
  63. package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js +522 -0
  64. package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js.map +1 -0
  65. package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js +603 -0
  66. package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js.map +1 -0
  67. package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js +503 -0
  68. package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js.map +1 -0
  69. package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js +502 -0
  70. package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js.map +1 -0
  71. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +54 -0
  72. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  73. package/build/dist/Server/API/IoTDeviceAPI.js +92 -0
  74. package/build/dist/Server/API/IoTDeviceAPI.js.map +1 -0
  75. package/build/dist/Server/API/TelemetryAPI.js +76 -27
  76. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  77. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js +187 -0
  78. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js.map +1 -0
  79. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js +48 -0
  80. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js.map +1 -0
  81. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js +340 -0
  82. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js.map +1 -0
  83. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  84. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  85. package/build/dist/Server/Services/AlertService.js +22 -3
  86. package/build/dist/Server/Services/AlertService.js.map +1 -1
  87. package/build/dist/Server/Services/IncidentService.js +22 -3
  88. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  89. package/build/dist/Server/Services/IoTDeviceService.js +249 -0
  90. package/build/dist/Server/Services/IoTDeviceService.js.map +1 -0
  91. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +166 -0
  92. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -0
  93. package/build/dist/Server/Services/IoTFleetLabelRuleService.js +13 -0
  94. package/build/dist/Server/Services/IoTFleetLabelRuleService.js.map +1 -0
  95. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +186 -0
  96. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -0
  97. package/build/dist/Server/Services/IoTFleetOwnerRuleService.js +13 -0
  98. package/build/dist/Server/Services/IoTFleetOwnerRuleService.js.map +1 -0
  99. package/build/dist/Server/Services/IoTFleetOwnerTeamService.js +9 -0
  100. package/build/dist/Server/Services/IoTFleetOwnerTeamService.js.map +1 -0
  101. package/build/dist/Server/Services/IoTFleetOwnerUserService.js +9 -0
  102. package/build/dist/Server/Services/IoTFleetOwnerUserService.js.map +1 -0
  103. package/build/dist/Server/Services/IoTFleetService.js +340 -0
  104. package/build/dist/Server/Services/IoTFleetService.js.map +1 -0
  105. package/build/dist/Server/Services/OpenTelemetryIngestService.js +26 -11
  106. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  107. package/build/dist/Server/Services/StatusPageService.js +57 -23
  108. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  109. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +34 -0
  110. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
  111. package/build/dist/Server/Services/TelemetryUsageBillingService.js +13 -0
  112. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  113. package/build/dist/Server/Services/TraceAggregationService.js +136 -0
  114. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  115. package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js +15 -15
  116. package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js.map +1 -1
  117. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +37 -19
  118. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  119. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +27 -4
  120. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -1
  121. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +4 -2
  122. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  123. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +39 -11
  124. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  125. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +8 -0
  126. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
  127. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +17 -0
  128. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  129. package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js +300 -0
  130. package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js.map +1 -0
  131. package/build/dist/Types/Icon/IconProp.js +1 -0
  132. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  133. package/build/dist/Types/Monitor/IotAlertTemplates.js +467 -0
  134. package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -0
  135. package/build/dist/Types/Monitor/IotMetricCatalog.js +108 -0
  136. package/build/dist/Types/Monitor/IotMetricCatalog.js.map +1 -0
  137. package/build/dist/Types/Monitor/MonitorStep.js +23 -0
  138. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  139. package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js +32 -0
  140. package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js.map +1 -0
  141. package/build/dist/Types/Monitor/MonitorType.js +11 -1
  142. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  143. package/build/dist/Types/Permission.js +204 -0
  144. package/build/dist/Types/Permission.js.map +1 -1
  145. package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js +2 -0
  146. package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js.map +1 -1
  147. package/build/dist/Types/Telemetry/ServiceType.js +1 -0
  148. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  149. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +3 -3
  150. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  151. package/build/dist/UI/Components/Icon/Icon.js +12 -2
  152. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  153. package/build/dist/UI/Components/Page/Page.js +1 -2
  154. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  155. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ import DatabaseService from "./DatabaseService";
2
+ import Model from "../../Models/DatabaseModels/IoTFleetOwnerRule";
3
+ import { IsBillingEnabled } from "../EnvironmentConfig";
4
+ export class Service extends DatabaseService {
5
+ constructor() {
6
+ super(Model);
7
+ if (IsBillingEnabled) {
8
+ this.hardDeleteItemsOlderThanInDays("createdAt", 3 * 365);
9
+ }
10
+ }
11
+ }
12
+ export default new Service();
13
+ //# sourceMappingURL=IoTFleetOwnerRuleService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IoTFleetOwnerRuleService.js","sourceRoot":"","sources":["../../../../Server/Services/IoTFleetOwnerRuleService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,+CAA+C,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import DatabaseService from "./DatabaseService";
2
+ import Model from "../../Models/DatabaseModels/IoTFleetOwnerTeam";
3
+ export class Service extends DatabaseService {
4
+ constructor() {
5
+ super(Model);
6
+ }
7
+ }
8
+ export default new Service();
9
+ //# sourceMappingURL=IoTFleetOwnerTeamService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IoTFleetOwnerTeamService.js","sourceRoot":"","sources":["../../../../Server/Services/IoTFleetOwnerTeamService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,+CAA+C,CAAC;AAElE,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import DatabaseService from "./DatabaseService";
2
+ import Model from "../../Models/DatabaseModels/IoTFleetOwnerUser";
3
+ export class Service extends DatabaseService {
4
+ constructor() {
5
+ super(Model);
6
+ }
7
+ }
8
+ export default new Service();
9
+ //# sourceMappingURL=IoTFleetOwnerUserService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IoTFleetOwnerUserService.js","sourceRoot":"","sources":["../../../../Server/Services/IoTFleetOwnerUserService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,+CAA+C,CAAC;AAElE,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,340 @@
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 DatabaseService from "./DatabaseService";
11
+ import IoTFleetLabelRuleEngineService from "./IoTFleetLabelRuleEngineService";
12
+ import IoTFleetOwnerRuleEngineService from "./IoTFleetOwnerRuleEngineService";
13
+ import Model from "../../Models/DatabaseModels/IoTFleet";
14
+ import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
15
+ import ObjectID from "../../Types/ObjectID";
16
+ import QueryHelper from "../Types/Database/QueryHelper";
17
+ import OneUptimeDate from "../../Types/Date";
18
+ import LIMIT_MAX from "../../Types/Database/LimitMax";
19
+ import GlobalCache from "../Infrastructure/GlobalCache";
20
+ import logger from "../Utils/Logger";
21
+ import crypto from "crypto";
22
+ const LAST_SEEN_CACHE_NAMESPACE = "iot-fleet-last-seen";
23
+ const LAST_SEEN_THROTTLE_SECONDS = 60;
24
+ const LABELS_APPLIED_CACHE_NAMESPACE = "iot-fleet-labels-applied";
25
+ const LABELS_APPLIED_CACHE_TTL_SECONDS = 60;
26
+ export class Service extends DatabaseService {
27
+ constructor() {
28
+ super(Model);
29
+ }
30
+ async onCreateSuccess(_onCreate, createdItem) {
31
+ /*
32
+ * Rules run once, on creation only — exact parity with
33
+ * KubernetesClusterService. Label engine first: it syncs the
34
+ * in-memory labels so the owner engine can match rule-added labels.
35
+ */
36
+ if (createdItem.projectId && createdItem.id) {
37
+ Promise.resolve()
38
+ .then(async () => {
39
+ await IoTFleetLabelRuleEngineService.applyRulesToIoTFleet(createdItem);
40
+ })
41
+ .then(async () => {
42
+ await IoTFleetOwnerRuleEngineService.applyRulesToIoTFleet(createdItem);
43
+ })
44
+ .catch((error) => {
45
+ var _a, _b;
46
+ logger.error(`Error applying iot fleet rules in IoTFleetService.onCreateSuccess: ${error}`, {
47
+ projectId: (_a = createdItem.projectId) === null || _a === void 0 ? void 0 : _a.toString(),
48
+ iotFleetId: (_b = createdItem.id) === null || _b === void 0 ? void 0 : _b.toString(),
49
+ });
50
+ });
51
+ }
52
+ return createdItem;
53
+ }
54
+ async findOrCreateByName(data) {
55
+ /*
56
+ * An IoT fleet is keyed by the `iot.fleet.name` OTel resource
57
+ * attribute, which the user configures on the agent. Look it up
58
+ * case-insensitively: the unique guard (checkUniqueColumnBy ->
59
+ * findWithSameText) compares case-insensitively, so a case-sensitive
60
+ * lookup would miss an existing row that differs only by case, then
61
+ * fail to create it — wedging ingest for that fleet. Unlike
62
+ * DockerHost.hostIdentifier (host.name casing is unstable on Windows)
63
+ * the configured fleet name's casing is stable, so we preserve the
64
+ * user's casing on create instead of canonicalizing to lowercase.
65
+ */
66
+ const name = data.name.trim();
67
+ const existingFleet = await this.findOneBy({
68
+ query: {
69
+ projectId: data.projectId,
70
+ name: QueryHelper.findWithSameText(name),
71
+ },
72
+ select: {
73
+ _id: true,
74
+ projectId: true,
75
+ name: true,
76
+ },
77
+ props: {
78
+ isRoot: true,
79
+ },
80
+ });
81
+ if (existingFleet) {
82
+ return existingFleet;
83
+ }
84
+ try {
85
+ // Create new fleet
86
+ const newFleet = new Model();
87
+ newFleet.projectId = data.projectId;
88
+ newFleet.name = name;
89
+ newFleet.otelCollectorStatus = "connected";
90
+ newFleet.lastSeenAt = OneUptimeDate.getCurrentDate();
91
+ const createdFleet = await this.create({
92
+ data: newFleet,
93
+ props: {
94
+ isRoot: true,
95
+ },
96
+ });
97
+ return createdFleet;
98
+ }
99
+ catch (_a) {
100
+ /*
101
+ * Either two ingest workers raced to create the same fleet, or a
102
+ * fleet with this name in a different case already existed and the
103
+ * unique guard rejected the insert. Re-resolve case-insensitively so
104
+ * the caller still gets the existing row instead of throwing.
105
+ */
106
+ const reFetchedFleet = await this.findOneBy({
107
+ query: {
108
+ projectId: data.projectId,
109
+ name: QueryHelper.findWithSameText(name),
110
+ },
111
+ select: {
112
+ _id: true,
113
+ projectId: true,
114
+ name: true,
115
+ },
116
+ props: {
117
+ isRoot: true,
118
+ },
119
+ });
120
+ if (reFetchedFleet) {
121
+ return reFetchedFleet;
122
+ }
123
+ throw new Error("Failed to create or find IoT fleet: " + name);
124
+ }
125
+ }
126
+ /*
127
+ * Refresh lastSeenAt / connection status and (optionally) the
128
+ * snapshot columns the list page renders. Count columns ride this
129
+ * extras path with COALESCE-per-column semantics: a key that is
130
+ * undefined is simply not written, so a partial batch (one that
131
+ * lacked the matching *_info series) never zeroes a count. The
132
+ * 60-second extras fingerprint cache is the write throttle — the
133
+ * steady state (identical snapshot every scrape) costs one Redis
134
+ * read per batch and at most one Postgres UPDATE per minute.
135
+ *
136
+ * Two callers share this throttle with DISJOINT extras shapes: the
137
+ * metrics snapshot flush (counts, every batch) and the fenced
138
+ * autoDiscoverIoTFleet maintenance path (agentVersion only — and
139
+ * usually an all-null fingerprint, since the shipped agent config
140
+ * does not stamp oneuptime.agent.version). The single fingerprint
141
+ * covers the whole extras object, so each alternation between the
142
+ * two shapes busts the throttle: at most one extra Postgres UPDATE
143
+ * per maintenance-fence window (~5 min), which is accepted. Do NOT
144
+ * key the cache per-caller — that would let two callers each refresh
145
+ * lastSeenAt under their own throttle and is not worth the
146
+ * complexity for one UPDATE per 5 minutes.
147
+ */
148
+ async updateLastSeen(fleetId, extra) {
149
+ var _a, _b, _c;
150
+ const cacheKey = fleetId.toString();
151
+ const extrasFingerprint = crypto
152
+ .createHash("sha1")
153
+ .update(JSON.stringify({
154
+ agentVersion: (_a = extra === null || extra === void 0 ? void 0 : extra.agentVersion) !== null && _a !== void 0 ? _a : null,
155
+ deviceCount: (_b = extra === null || extra === void 0 ? void 0 : extra.deviceCount) !== null && _b !== void 0 ? _b : null,
156
+ onlineDeviceCount: (_c = extra === null || extra === void 0 ? void 0 : extra.onlineDeviceCount) !== null && _c !== void 0 ? _c : null,
157
+ }))
158
+ .digest("hex");
159
+ let cached = null;
160
+ try {
161
+ cached = await GlobalCache.getString(LAST_SEEN_CACHE_NAMESPACE, cacheKey);
162
+ }
163
+ catch (_d) {
164
+ /*
165
+ * Cache unavailable — fail open and refresh lastSeenAt anyway. A
166
+ * cache error must never skip the DB write below, otherwise the
167
+ * resource is wrongly marked "disconnected" while telemetry is
168
+ * still flowing. Mirrors shouldRunMaintenance's fail-open stance.
169
+ */
170
+ cached = null;
171
+ }
172
+ if (cached === extrasFingerprint) {
173
+ return; // same data was written recently
174
+ }
175
+ try {
176
+ await GlobalCache.setString(LAST_SEEN_CACHE_NAMESPACE, cacheKey, extrasFingerprint, { expiresInSeconds: LAST_SEEN_THROTTLE_SECONDS });
177
+ }
178
+ catch (_e) {
179
+ // Best-effort throttle write; proceed with the DB update regardless.
180
+ }
181
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
182
+ const data = {
183
+ lastSeenAt: OneUptimeDate.getCurrentDate(),
184
+ otelCollectorStatus: "connected",
185
+ };
186
+ if (extra === null || extra === void 0 ? void 0 : extra.agentVersion) {
187
+ data.agentVersion = extra.agentVersion;
188
+ }
189
+ // Counts: 0 is a legitimate value — gate on undefined, not falsiness.
190
+ if ((extra === null || extra === void 0 ? void 0 : extra.deviceCount) !== undefined) {
191
+ data.deviceCount = extra.deviceCount;
192
+ }
193
+ if ((extra === null || extra === void 0 ? void 0 : extra.onlineDeviceCount) !== undefined) {
194
+ data.onlineDeviceCount = extra.onlineDeviceCount;
195
+ }
196
+ /*
197
+ * Heartbeat write: a single-statement UPDATE with no hooks and no
198
+ * `version` bump, avoiding the hot-row Postgres lock convoy that the
199
+ * full updateOneById pipeline causes. See ServiceService.updateLastSeen.
200
+ */
201
+ await this.updateColumnsByIdWithoutHooks({
202
+ id: fleetId,
203
+ data: data,
204
+ });
205
+ }
206
+ /**
207
+ * Additively attach labels to an IoT fleet. Existing labels are
208
+ * never removed — manual labels set via the UI survive ingest. The
209
+ * set of labelIds passed in is fingerprinted and cached for 60s so
210
+ * the common case (steady-state collector pushing the same label
211
+ * set every batch) costs one in-memory lookup, not a join-table
212
+ * scan.
213
+ */
214
+ async attachLabels(data) {
215
+ var _a;
216
+ if (!data.labelIds || data.labelIds.length === 0) {
217
+ return;
218
+ }
219
+ const cacheKey = data.iotFleetId.toString();
220
+ const fingerprint = fingerprintLabelIds(data.labelIds);
221
+ const cached = await GlobalCache.getString(LABELS_APPLIED_CACHE_NAMESPACE, cacheKey);
222
+ if (cached === fingerprint) {
223
+ return;
224
+ }
225
+ try {
226
+ const iotFleetIdStr = data.iotFleetId.toString();
227
+ const existingLabels = await this.getRepository()
228
+ .createQueryBuilder()
229
+ .relation(Model, "labels")
230
+ .of(iotFleetIdStr)
231
+ .loadMany();
232
+ const existingIds = new Set();
233
+ for (const lbl of existingLabels) {
234
+ const idStr = (_a = lbl._id) === null || _a === void 0 ? void 0 : _a.toString();
235
+ if (idStr) {
236
+ existingIds.add(idStr);
237
+ }
238
+ }
239
+ const toAddIds = [];
240
+ const seen = new Set();
241
+ for (const id of data.labelIds) {
242
+ const idStr = id.toString();
243
+ if (existingIds.has(idStr) || seen.has(idStr)) {
244
+ continue;
245
+ }
246
+ seen.add(idStr);
247
+ toAddIds.push(idStr);
248
+ }
249
+ if (toAddIds.length > 0) {
250
+ await this.getRepository()
251
+ .createQueryBuilder()
252
+ .relation(Model, "labels")
253
+ .of(iotFleetIdStr)
254
+ .add(toAddIds);
255
+ }
256
+ await GlobalCache.setString(LABELS_APPLIED_CACHE_NAMESPACE, cacheKey, fingerprint, { expiresInSeconds: LABELS_APPLIED_CACHE_TTL_SECONDS });
257
+ }
258
+ catch (err) {
259
+ logger.warn(`IoTFleetService.attachLabels failed for iot fleet ${data.iotFleetId.toString()}: ${err instanceof Error ? err.message : String(err)}`);
260
+ }
261
+ }
262
+ async markDisconnectedFleets() {
263
+ /*
264
+ * Threshold must stay well above the 5-minute OTel ingest
265
+ * maintenance fence (MAINTENANCE_FENCE_TTL_SECONDS in
266
+ * OtelIngestBaseService) — lastSeenAt is legitimately up to
267
+ * ~5 minutes stale during continuous telemetry, so a threshold
268
+ * equal to the fence TTL flaps healthy resources. 15 minutes
269
+ * gives 3x headroom.
270
+ */
271
+ const fifteenMinutesAgo = OneUptimeDate.addRemoveMinutes(OneUptimeDate.getCurrentDate(), -15);
272
+ const connectedFleets = await this.findBy({
273
+ query: {
274
+ otelCollectorStatus: "connected",
275
+ lastSeenAt: QueryHelper.lessThan(fifteenMinutesAgo),
276
+ },
277
+ select: {
278
+ _id: true,
279
+ },
280
+ limit: LIMIT_MAX,
281
+ skip: 0,
282
+ props: {
283
+ isRoot: true,
284
+ },
285
+ });
286
+ for (const fleet of connectedFleets) {
287
+ if (fleet._id) {
288
+ await this.updateOneById({
289
+ id: new ObjectID(fleet._id.toString()),
290
+ data: {
291
+ otelCollectorStatus: "disconnected",
292
+ },
293
+ props: {
294
+ isRoot: true,
295
+ },
296
+ });
297
+ }
298
+ }
299
+ }
300
+ }
301
+ __decorate([
302
+ CaptureSpan(),
303
+ __metadata("design:type", Function),
304
+ __metadata("design:paramtypes", [Object, Model]),
305
+ __metadata("design:returntype", Promise)
306
+ ], Service.prototype, "onCreateSuccess", null);
307
+ __decorate([
308
+ CaptureSpan(),
309
+ __metadata("design:type", Function),
310
+ __metadata("design:paramtypes", [Object]),
311
+ __metadata("design:returntype", Promise)
312
+ ], Service.prototype, "findOrCreateByName", null);
313
+ __decorate([
314
+ CaptureSpan(),
315
+ __metadata("design:type", Function),
316
+ __metadata("design:paramtypes", [ObjectID, Object]),
317
+ __metadata("design:returntype", Promise)
318
+ ], Service.prototype, "updateLastSeen", null);
319
+ __decorate([
320
+ CaptureSpan(),
321
+ __metadata("design:type", Function),
322
+ __metadata("design:paramtypes", [Object]),
323
+ __metadata("design:returntype", Promise)
324
+ ], Service.prototype, "attachLabels", null);
325
+ __decorate([
326
+ CaptureSpan(),
327
+ __metadata("design:type", Function),
328
+ __metadata("design:paramtypes", []),
329
+ __metadata("design:returntype", Promise)
330
+ ], Service.prototype, "markDisconnectedFleets", null);
331
+ function fingerprintLabelIds(labelIds) {
332
+ const sorted = labelIds
333
+ .map((id) => {
334
+ return id.toString();
335
+ })
336
+ .sort();
337
+ return crypto.createHash("sha1").update(sorted.join(",")).digest("hex");
338
+ }
339
+ export default new Service();
340
+ //# sourceMappingURL=IoTFleetService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IoTFleetService.js","sourceRoot":"","sources":["../../../../Server/Services/IoTFleetService.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ import DockerSwarmClusterService from "./DockerSwarmClusterService";
32
32
  import ServerlessFunctionService from "./ServerlessFunctionService";
33
33
  import CloudResourceService from "./CloudResourceService";
34
34
  import RumApplicationService from "./RumApplicationService";
35
+ import IoTFleetService from "./IoTFleetService";
35
36
  import GlobalCache from "../Infrastructure/GlobalCache";
36
37
  import ColumnLength from "../../Types/Database/ColumnLength";
37
38
  import EntityType from "../../Types/Telemetry/EntityType";
@@ -401,7 +402,7 @@ export default class OTelIngestService {
401
402
  * so steady-state ingest skips this lookup after the first row.
402
403
  */
403
404
  static async getResourceRetention(resourceId, primaryEntityType) {
404
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
405
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
405
406
  try {
406
407
  if (primaryEntityType === ServiceType.Host) {
407
408
  const host = await HostService.findOneById({
@@ -473,6 +474,20 @@ export default class OTelIngestService {
473
474
  telemetryRetentionConfig: (_k = cluster === null || cluster === void 0 ? void 0 : cluster.telemetryRetentionConfig) !== null && _k !== void 0 ? _k : null,
474
475
  };
475
476
  }
477
+ if (primaryEntityType === ServiceType.IoTDevice) {
478
+ const fleet = await IoTFleetService.findOneById({
479
+ id: resourceId,
480
+ select: {
481
+ retainTelemetryDataForDays: true,
482
+ telemetryRetentionConfig: true,
483
+ },
484
+ props: { isRoot: true },
485
+ });
486
+ return {
487
+ retainTelemetryDataForDays: (_l = fleet === null || fleet === void 0 ? void 0 : fleet.retainTelemetryDataForDays) !== null && _l !== void 0 ? _l : null,
488
+ telemetryRetentionConfig: (_m = fleet === null || fleet === void 0 ? void 0 : fleet.telemetryRetentionConfig) !== null && _m !== void 0 ? _m : null,
489
+ };
490
+ }
476
491
  if (primaryEntityType === ServiceType.CephCluster) {
477
492
  const cluster = await CephClusterService.findOneById({
478
493
  id: resourceId,
@@ -483,8 +498,8 @@ export default class OTelIngestService {
483
498
  props: { isRoot: true },
484
499
  });
485
500
  return {
486
- retainTelemetryDataForDays: (_l = cluster === null || cluster === void 0 ? void 0 : cluster.retainTelemetryDataForDays) !== null && _l !== void 0 ? _l : null,
487
- telemetryRetentionConfig: (_m = cluster === null || cluster === void 0 ? void 0 : cluster.telemetryRetentionConfig) !== null && _m !== void 0 ? _m : null,
501
+ retainTelemetryDataForDays: (_o = cluster === null || cluster === void 0 ? void 0 : cluster.retainTelemetryDataForDays) !== null && _o !== void 0 ? _o : null,
502
+ telemetryRetentionConfig: (_p = cluster === null || cluster === void 0 ? void 0 : cluster.telemetryRetentionConfig) !== null && _p !== void 0 ? _p : null,
488
503
  };
489
504
  }
490
505
  if (primaryEntityType === ServiceType.DockerSwarmCluster) {
@@ -497,8 +512,8 @@ export default class OTelIngestService {
497
512
  props: { isRoot: true },
498
513
  });
499
514
  return {
500
- retainTelemetryDataForDays: (_o = cluster === null || cluster === void 0 ? void 0 : cluster.retainTelemetryDataForDays) !== null && _o !== void 0 ? _o : null,
501
- telemetryRetentionConfig: (_p = cluster === null || cluster === void 0 ? void 0 : cluster.telemetryRetentionConfig) !== null && _p !== void 0 ? _p : null,
515
+ retainTelemetryDataForDays: (_q = cluster === null || cluster === void 0 ? void 0 : cluster.retainTelemetryDataForDays) !== null && _q !== void 0 ? _q : null,
516
+ telemetryRetentionConfig: (_r = cluster === null || cluster === void 0 ? void 0 : cluster.telemetryRetentionConfig) !== null && _r !== void 0 ? _r : null,
502
517
  };
503
518
  }
504
519
  if (primaryEntityType === ServiceType.ServerlessFunction) {
@@ -511,8 +526,8 @@ export default class OTelIngestService {
511
526
  props: { isRoot: true },
512
527
  });
513
528
  return {
514
- retainTelemetryDataForDays: (_q = serverlessFunction === null || serverlessFunction === void 0 ? void 0 : serverlessFunction.retainTelemetryDataForDays) !== null && _q !== void 0 ? _q : null,
515
- telemetryRetentionConfig: (_r = serverlessFunction === null || serverlessFunction === void 0 ? void 0 : serverlessFunction.telemetryRetentionConfig) !== null && _r !== void 0 ? _r : null,
529
+ retainTelemetryDataForDays: (_s = serverlessFunction === null || serverlessFunction === void 0 ? void 0 : serverlessFunction.retainTelemetryDataForDays) !== null && _s !== void 0 ? _s : null,
530
+ telemetryRetentionConfig: (_t = serverlessFunction === null || serverlessFunction === void 0 ? void 0 : serverlessFunction.telemetryRetentionConfig) !== null && _t !== void 0 ? _t : null,
516
531
  };
517
532
  }
518
533
  if (primaryEntityType === ServiceType.CloudResource) {
@@ -525,8 +540,8 @@ export default class OTelIngestService {
525
540
  props: { isRoot: true },
526
541
  });
527
542
  return {
528
- retainTelemetryDataForDays: (_s = cloudResource === null || cloudResource === void 0 ? void 0 : cloudResource.retainTelemetryDataForDays) !== null && _s !== void 0 ? _s : null,
529
- telemetryRetentionConfig: (_t = cloudResource === null || cloudResource === void 0 ? void 0 : cloudResource.telemetryRetentionConfig) !== null && _t !== void 0 ? _t : null,
543
+ retainTelemetryDataForDays: (_u = cloudResource === null || cloudResource === void 0 ? void 0 : cloudResource.retainTelemetryDataForDays) !== null && _u !== void 0 ? _u : null,
544
+ telemetryRetentionConfig: (_v = cloudResource === null || cloudResource === void 0 ? void 0 : cloudResource.telemetryRetentionConfig) !== null && _v !== void 0 ? _v : null,
530
545
  };
531
546
  }
532
547
  if (primaryEntityType === ServiceType.RealUserMonitor) {
@@ -539,8 +554,8 @@ export default class OTelIngestService {
539
554
  props: { isRoot: true },
540
555
  });
541
556
  return {
542
- retainTelemetryDataForDays: (_u = rumApplication === null || rumApplication === void 0 ? void 0 : rumApplication.retainTelemetryDataForDays) !== null && _u !== void 0 ? _u : null,
543
- telemetryRetentionConfig: (_v = rumApplication === null || rumApplication === void 0 ? void 0 : rumApplication.telemetryRetentionConfig) !== null && _v !== void 0 ? _v : null,
557
+ retainTelemetryDataForDays: (_w = rumApplication === null || rumApplication === void 0 ? void 0 : rumApplication.retainTelemetryDataForDays) !== null && _w !== void 0 ? _w : null,
558
+ telemetryRetentionConfig: (_x = rumApplication === null || rumApplication === void 0 ? void 0 : rumApplication.telemetryRetentionConfig) !== null && _x !== void 0 ? _x : null,
544
559
  };
545
560
  }
546
561
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpenTelemetryIngestService.js","sourceRoot":"","sources":["../../../../Server/Services/OpenTelemetryIngestService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenTelemetryIngestService.js","sourceRoot":"","sources":["../../../../Server/Services/OpenTelemetryIngestService.ts"],"names":[],"mappings":"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"}