@oneuptime/common 7.0.3260 → 7.0.3278
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Server/API/ProbeAPI.ts +1 -1
- package/Server/API/StatusAPI.ts +1 -1
- package/Server/EnvironmentConfig.ts +22 -3
- package/Server/Infrastructure/ClickhouseConfig.ts +1 -1
- package/Server/Infrastructure/ClickhouseDatabase.ts +5 -0
- package/Server/Infrastructure/Status.ts +12 -0
- package/Server/Middleware/TelemetryIngest.ts +77 -0
- package/Server/Services/OpenTelemetryIngestService.ts +198 -0
- package/ServiceRoute.ts +11 -1
- package/Tests/Server/API/ProbeAPI.test.ts +3 -3
- package/UI/Config.ts +34 -5
- package/build/dist/Server/API/ProbeAPI.js +1 -1
- package/build/dist/Server/API/StatusAPI.js +1 -1
- package/build/dist/Server/API/StatusAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +5 -1
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/ClickhouseConfig.js +1 -1
- package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/ClickhouseDatabase.js +3 -0
- package/build/dist/Server/Infrastructure/ClickhouseDatabase.js.map +1 -1
- package/build/dist/Server/Infrastructure/Status.js +11 -0
- package/build/dist/Server/Infrastructure/Status.js.map +1 -1
- package/build/dist/Server/Middleware/TelemetryIngest.js +43 -0
- package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -0
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +126 -0
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -0
- package/build/dist/ServiceRoute.js +4 -1
- package/build/dist/ServiceRoute.js.map +1 -1
- package/build/dist/Tests/Server/API/ProbeAPI.test.js +3 -3
- package/build/dist/UI/Config.js +9 -3
- package/build/dist/UI/Config.js.map +1 -1
- package/package.json +2 -2
package/Server/API/ProbeAPI.ts
CHANGED
|
@@ -13,7 +13,7 @@ import LIMIT_MAX from "Common/Types/Database/LimitMax";
|
|
|
13
13
|
import PositiveNumber from "Common/Types/PositiveNumber";
|
|
14
14
|
import Probe from "Common/Models/DatabaseModels/Probe";
|
|
15
15
|
|
|
16
|
-
export default class
|
|
16
|
+
export default class ProbeAPI extends BaseAPI<Probe, ProbeServiceType> {
|
|
17
17
|
public constructor() {
|
|
18
18
|
super(Probe, ProbeService);
|
|
19
19
|
|
package/Server/API/StatusAPI.ts
CHANGED
|
@@ -107,7 +107,7 @@ export default class StatusAPI {
|
|
|
107
107
|
async (req: ExpressRequest, res: ExpressResponse) => {
|
|
108
108
|
try {
|
|
109
109
|
logger.debug("Live check");
|
|
110
|
-
await options.
|
|
110
|
+
await options.liveCheck();
|
|
111
111
|
logger.info("Live check: ok");
|
|
112
112
|
stausLiveSuccess.add(1);
|
|
113
113
|
|
|
@@ -18,6 +18,7 @@ export enum ConfigLogLevel {
|
|
|
18
18
|
WARN = "WARN",
|
|
19
19
|
ERROR = "ERROR",
|
|
20
20
|
DEBUG = "DEBUG",
|
|
21
|
+
OFF = "OFF",
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
export const getAllEnvVars: () => JSONObject = (): JSONObject => {
|
|
@@ -88,9 +89,27 @@ export const AppApiHostname: Hostname = Hostname.fromString(
|
|
|
88
89
|
}`,
|
|
89
90
|
);
|
|
90
91
|
|
|
91
|
-
export const
|
|
92
|
-
`${process.env["
|
|
93
|
-
process.env["
|
|
92
|
+
export const ProbeIngestHostname: Hostname = Hostname.fromString(
|
|
93
|
+
`${process.env["SERVER_PROBE_INGEST_HOSTNAME"] || "localhost"}:${
|
|
94
|
+
process.env["PROBE_INGEST_PORT"] || 80
|
|
95
|
+
}`,
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
export const OpenTelemetryIngestHostname: Hostname = Hostname.fromString(
|
|
99
|
+
`${process.env["SERVER_OPEN_TELEMETRY_INGEST_HOSTNAME"] || "localhost"}:${
|
|
100
|
+
process.env["OPEN_TELEMETRY_INGEST_PORT"] || 80
|
|
101
|
+
}`,
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
export const IncomingRequestIngestHostname: Hostname = Hostname.fromString(
|
|
105
|
+
`${process.env["SERVER_INCOMING_REQUEST_INGEST_HOSTNAME"] || "localhost"}:${
|
|
106
|
+
process.env["INCOMING_REQUEST_INGEST_PORT"] || 80
|
|
107
|
+
}`,
|
|
108
|
+
);
|
|
109
|
+
|
|
110
|
+
export const FluentIngestHostname: Hostname = Hostname.fromString(
|
|
111
|
+
`${process.env["SERVER_FLUENT_INGEST_HOSTNAME"] || "localhost"}:${
|
|
112
|
+
process.env["FLUENT_INGEST_PORT"] || 80
|
|
94
113
|
}`,
|
|
95
114
|
);
|
|
96
115
|
|
|
@@ -17,7 +17,7 @@ export type ClickHouseClientConfigOptions = NodeClickHouseClientConfigOptions;
|
|
|
17
17
|
const hostProtocol: string = ClickHouseIsHostHttps ? "https" : "http";
|
|
18
18
|
|
|
19
19
|
const options: ClickHouseClientConfigOptions = {
|
|
20
|
-
|
|
20
|
+
url: `${hostProtocol}://${ClickhouseHost.toString()}:${ClickhousePort.toNumber()}`,
|
|
21
21
|
username: ClickhouseUsername,
|
|
22
22
|
password: ClickhousePassword,
|
|
23
23
|
database: ClickhouseDatabase,
|
|
@@ -100,7 +100,12 @@ export default class ClickhouseDatabase {
|
|
|
100
100
|
public async checkConnnectionStatus(): Promise<boolean> {
|
|
101
101
|
// Ping clickhouse to check if the connection is still alive
|
|
102
102
|
try {
|
|
103
|
+
logger.debug(
|
|
104
|
+
"Checking Clickhouse Connection Status - pinging clickhouse",
|
|
105
|
+
);
|
|
103
106
|
const result: PingResult | undefined = await this.getDataSource()?.ping();
|
|
107
|
+
logger.debug("Clickhouse Connection Status Result");
|
|
108
|
+
logger.debug(result);
|
|
104
109
|
|
|
105
110
|
if (!result) {
|
|
106
111
|
throw new DatabaseNotConnectedException(
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// This class checks the status of all the datasources.
|
|
2
|
+
import logger from "../Utils/Logger";
|
|
2
3
|
import { ClickhouseAppInstance } from "./ClickhouseDatabase";
|
|
3
4
|
import PostgresAppInstance from "./PostgresDatabase";
|
|
4
5
|
import Redis from "./Redis";
|
|
@@ -10,22 +11,33 @@ export default class InfrastructureStatus {
|
|
|
10
11
|
checkPostgresStatus: boolean;
|
|
11
12
|
checkClickhouseStatus: boolean;
|
|
12
13
|
}): Promise<void> {
|
|
14
|
+
logger.debug("Checking infrastructure status");
|
|
15
|
+
|
|
13
16
|
if (data.checkRedisStatus) {
|
|
17
|
+
logger.debug("Checking Redis status");
|
|
14
18
|
if (!(await Redis.checkConnnectionStatus())) {
|
|
19
|
+
logger.debug("Redis is not connected");
|
|
15
20
|
throw new DatabaseNotConnectedException("Redis is not connected");
|
|
16
21
|
}
|
|
22
|
+
logger.debug("Redis is connected");
|
|
17
23
|
}
|
|
18
24
|
|
|
19
25
|
if (data.checkPostgresStatus) {
|
|
26
|
+
logger.debug("Checking Postgres status");
|
|
20
27
|
if (!(await PostgresAppInstance.checkConnnectionStatus())) {
|
|
28
|
+
logger.debug("Postgres is not connected");
|
|
21
29
|
throw new DatabaseNotConnectedException("Postgres is not connected");
|
|
22
30
|
}
|
|
31
|
+
logger.debug("Postgres is connected");
|
|
23
32
|
}
|
|
24
33
|
|
|
25
34
|
if (data.checkClickhouseStatus) {
|
|
35
|
+
logger.debug("Checking Clickhouse status");
|
|
26
36
|
if (!(await ClickhouseAppInstance.checkConnnectionStatus())) {
|
|
37
|
+
logger.debug("Clickhouse is not connected");
|
|
27
38
|
throw new DatabaseNotConnectedException("Clickhouse is not connected");
|
|
28
39
|
}
|
|
40
|
+
logger.debug("Clickhouse is connected");
|
|
29
41
|
}
|
|
30
42
|
}
|
|
31
43
|
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import BadRequestException from "../../Types/Exception/BadRequestException";
|
|
2
|
+
import ProductType from "../../Types/MeteredPlan/ProductType";
|
|
3
|
+
import ObjectID from "../../Types/ObjectID";
|
|
4
|
+
import {
|
|
5
|
+
ExpressRequest,
|
|
6
|
+
ExpressResponse,
|
|
7
|
+
NextFunction,
|
|
8
|
+
} from "../../Server/Utils/Express";
|
|
9
|
+
import TelemetryIngestionKeyService from "../../Server/Services/TelemetryIngestionKeyService";
|
|
10
|
+
import TelemetryIngestionKey from "../../Models/DatabaseModels/TelemetryIngestionKey";
|
|
11
|
+
|
|
12
|
+
export interface TelemetryRequest extends ExpressRequest {
|
|
13
|
+
projectId: ObjectID; // Project ID
|
|
14
|
+
productType: ProductType; // what is the product type of the request - logs, metrics or traces.
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default class TelemetryIngest {
|
|
18
|
+
public static async isAuthorizedServiceMiddleware(
|
|
19
|
+
req: ExpressRequest,
|
|
20
|
+
_res: ExpressResponse,
|
|
21
|
+
next: NextFunction,
|
|
22
|
+
): Promise<void> {
|
|
23
|
+
try {
|
|
24
|
+
// check header.
|
|
25
|
+
|
|
26
|
+
let oneuptimeToken: string | undefined = req.headers[
|
|
27
|
+
"x-oneuptime-token"
|
|
28
|
+
] as string | undefined;
|
|
29
|
+
|
|
30
|
+
// if x-oneuptime-service-token header is present then use that as token.
|
|
31
|
+
if (!oneuptimeToken) {
|
|
32
|
+
oneuptimeToken = req.headers["x-oneuptime-service-token"] as
|
|
33
|
+
| string
|
|
34
|
+
| undefined;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (!oneuptimeToken) {
|
|
38
|
+
throw new BadRequestException("Missing header: x-oneuptime-token");
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
let projectId: ObjectID | undefined = undefined;
|
|
42
|
+
|
|
43
|
+
const token: TelemetryIngestionKey | null =
|
|
44
|
+
await TelemetryIngestionKeyService.findOneBy({
|
|
45
|
+
query: {
|
|
46
|
+
secretKey: new ObjectID(oneuptimeToken?.toString() || ""),
|
|
47
|
+
},
|
|
48
|
+
select: {
|
|
49
|
+
projectId: true,
|
|
50
|
+
},
|
|
51
|
+
props: {
|
|
52
|
+
isRoot: true,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
if (!token) {
|
|
57
|
+
throw new BadRequestException(
|
|
58
|
+
"Invalid service token: " + oneuptimeToken,
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
projectId = token.projectId as ObjectID;
|
|
63
|
+
|
|
64
|
+
if (!projectId) {
|
|
65
|
+
throw new BadRequestException(
|
|
66
|
+
"Project ID not found for service token: " + oneuptimeToken,
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
(req as TelemetryRequest).projectId = projectId as ObjectID;
|
|
71
|
+
|
|
72
|
+
next();
|
|
73
|
+
} catch (err) {
|
|
74
|
+
return next(err);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import OneUptimeDate from "Common/Types/Date";
|
|
2
|
+
import { JSONArray, JSONObject } from "Common/Types/JSON";
|
|
3
|
+
import JSONFunctions from "Common/Types/JSONFunctions";
|
|
4
|
+
import ObjectID from "Common/Types/ObjectID";
|
|
5
|
+
import Metric, {
|
|
6
|
+
AggregationTemporality,
|
|
7
|
+
} from "Common/Models/AnalyticsModels/Metric";
|
|
8
|
+
import Dictionary from "Common/Types/Dictionary";
|
|
9
|
+
import ProductType from "Common/Types/MeteredPlan/ProductType";
|
|
10
|
+
import { IsBillingEnabled } from "Common/Server/EnvironmentConfig";
|
|
11
|
+
import TelemetryUsageBillingService from "Common/Server/Services/TelemetryUsageBillingService";
|
|
12
|
+
import logger from "Common/Server/Utils/Logger";
|
|
13
|
+
import TelemetryService from "Common/Models/DatabaseModels/TelemetryService";
|
|
14
|
+
import TelemetryServiceService from "Common/Server/Services/TelemetryServiceService";
|
|
15
|
+
import { DEFAULT_RETENTION_IN_DAYS } from "Common/Models/DatabaseModels/TelemetryUsageBilling";
|
|
16
|
+
import TelemetryUtil from "Common/Server/Utils/Telemetry/Telemetry";
|
|
17
|
+
|
|
18
|
+
export enum OtelAggregationTemporality {
|
|
19
|
+
Cumulative = "AGGREGATION_TEMPORALITY_CUMULATIVE",
|
|
20
|
+
Delta = "AGGREGATION_TEMPORALITY_DELTA",
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface TelemetryServiceDataIngested {
|
|
24
|
+
serviceName: string;
|
|
25
|
+
serviceId: ObjectID;
|
|
26
|
+
dataIngestedInGB: number;
|
|
27
|
+
dataRententionInDays: number;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default class OTelIngestService {
|
|
31
|
+
public static async telemetryServiceFromName(data: {
|
|
32
|
+
serviceName: string;
|
|
33
|
+
projectId: ObjectID;
|
|
34
|
+
}): Promise<{
|
|
35
|
+
serviceId: ObjectID;
|
|
36
|
+
dataRententionInDays: number;
|
|
37
|
+
}> {
|
|
38
|
+
const service: TelemetryService | null =
|
|
39
|
+
await TelemetryServiceService.findOneBy({
|
|
40
|
+
query: {
|
|
41
|
+
projectId: data.projectId,
|
|
42
|
+
name: data.serviceName,
|
|
43
|
+
},
|
|
44
|
+
select: {
|
|
45
|
+
_id: true,
|
|
46
|
+
retainTelemetryDataForDays: true,
|
|
47
|
+
},
|
|
48
|
+
props: {
|
|
49
|
+
isRoot: true,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
if (!service) {
|
|
54
|
+
// create service
|
|
55
|
+
|
|
56
|
+
const newService: TelemetryService = new TelemetryService();
|
|
57
|
+
newService.projectId = data.projectId;
|
|
58
|
+
newService.name = data.serviceName;
|
|
59
|
+
newService.description = data.serviceName;
|
|
60
|
+
newService.retainTelemetryDataForDays = DEFAULT_RETENTION_IN_DAYS;
|
|
61
|
+
|
|
62
|
+
const createdService: TelemetryService =
|
|
63
|
+
await TelemetryServiceService.create({
|
|
64
|
+
data: newService,
|
|
65
|
+
props: {
|
|
66
|
+
isRoot: true,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
return {
|
|
71
|
+
serviceId: createdService.id!,
|
|
72
|
+
dataRententionInDays: DEFAULT_RETENTION_IN_DAYS,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return {
|
|
77
|
+
serviceId: service.id!,
|
|
78
|
+
dataRententionInDays:
|
|
79
|
+
service.retainTelemetryDataForDays || DEFAULT_RETENTION_IN_DAYS,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
public static async recordDataIngestedUsgaeBilling(data: {
|
|
84
|
+
services: Dictionary<TelemetryServiceDataIngested>;
|
|
85
|
+
projectId: ObjectID;
|
|
86
|
+
productType: ProductType;
|
|
87
|
+
}): Promise<void> {
|
|
88
|
+
if (!IsBillingEnabled) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
for (const serviceName in data.services) {
|
|
93
|
+
const serviceData: TelemetryServiceDataIngested | undefined =
|
|
94
|
+
data.services[serviceName];
|
|
95
|
+
|
|
96
|
+
if (!serviceData) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
TelemetryUsageBillingService.updateUsageBilling({
|
|
101
|
+
projectId: data.projectId,
|
|
102
|
+
productType: data.productType,
|
|
103
|
+
dataIngestedInGB: serviceData.dataIngestedInGB || 0,
|
|
104
|
+
telemetryServiceId: serviceData.serviceId,
|
|
105
|
+
retentionInDays: serviceData.dataRententionInDays,
|
|
106
|
+
}).catch((err: Error) => {
|
|
107
|
+
logger.error("Failed to update usage billing for OTel");
|
|
108
|
+
logger.error(err);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
public static getMetricFromDatapoint(data: {
|
|
114
|
+
dbMetric: Metric;
|
|
115
|
+
datapoint: JSONObject;
|
|
116
|
+
aggregationTemporality: OtelAggregationTemporality;
|
|
117
|
+
isMonotonic: boolean | undefined;
|
|
118
|
+
telemetryServiceId: ObjectID;
|
|
119
|
+
telemetryServiceName: string;
|
|
120
|
+
}): Metric {
|
|
121
|
+
const { dbMetric, datapoint, aggregationTemporality, isMonotonic } = data;
|
|
122
|
+
|
|
123
|
+
const newDbMetric: Metric = Metric.fromJSON(
|
|
124
|
+
dbMetric.toJSON(),
|
|
125
|
+
Metric,
|
|
126
|
+
) as Metric;
|
|
127
|
+
|
|
128
|
+
newDbMetric.startTimeUnixNano = datapoint["startTimeUnixNano"] as number;
|
|
129
|
+
newDbMetric.startTime = OneUptimeDate.fromUnixNano(
|
|
130
|
+
datapoint["startTimeUnixNano"] as number,
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
newDbMetric.timeUnixNano = datapoint["timeUnixNano"] as number;
|
|
134
|
+
newDbMetric.time = OneUptimeDate.fromUnixNano(
|
|
135
|
+
datapoint["timeUnixNano"] as number,
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
if (Object.keys(datapoint).includes("asInt")) {
|
|
139
|
+
newDbMetric.value = datapoint["asInt"] as number;
|
|
140
|
+
} else if (Object.keys(datapoint).includes("asDouble")) {
|
|
141
|
+
newDbMetric.value = datapoint["asDouble"] as number;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
newDbMetric.count = datapoint["count"] as number;
|
|
145
|
+
newDbMetric.sum = datapoint["sum"] as number;
|
|
146
|
+
|
|
147
|
+
newDbMetric.min = datapoint["min"] as number;
|
|
148
|
+
newDbMetric.max = datapoint["max"] as number;
|
|
149
|
+
|
|
150
|
+
newDbMetric.bucketCounts = datapoint["bucketCounts"] as Array<number>;
|
|
151
|
+
newDbMetric.explicitBounds = datapoint["explicitBounds"] as Array<number>;
|
|
152
|
+
|
|
153
|
+
if (!newDbMetric.value) {
|
|
154
|
+
newDbMetric.value = newDbMetric.sum;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// attrbutes
|
|
158
|
+
|
|
159
|
+
if (Object.keys(datapoint).includes("attributes")) {
|
|
160
|
+
if (!newDbMetric.attributes) {
|
|
161
|
+
newDbMetric.attributes = {};
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
newDbMetric.attributes = {
|
|
165
|
+
...(newDbMetric.attributes || {}),
|
|
166
|
+
...TelemetryUtil.getAttributes({
|
|
167
|
+
items: datapoint["attributes"] as JSONArray,
|
|
168
|
+
telemetryServiceId: data.telemetryServiceId,
|
|
169
|
+
telemetryServiceName: data.telemetryServiceName,
|
|
170
|
+
}),
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if (newDbMetric.attributes) {
|
|
175
|
+
newDbMetric.attributes = JSONFunctions.flattenObject(
|
|
176
|
+
newDbMetric.attributes,
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// aggregationTemporality
|
|
181
|
+
|
|
182
|
+
if (aggregationTemporality) {
|
|
183
|
+
if (aggregationTemporality === OtelAggregationTemporality.Cumulative) {
|
|
184
|
+
newDbMetric.aggregationTemporality = AggregationTemporality.Cumulative;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
if (aggregationTemporality === OtelAggregationTemporality.Delta) {
|
|
188
|
+
newDbMetric.aggregationTemporality = AggregationTemporality.Delta;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
if (isMonotonic !== undefined) {
|
|
193
|
+
newDbMetric.isMonotonic = isMonotonic;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
return newDbMetric;
|
|
197
|
+
}
|
|
198
|
+
}
|
package/ServiceRoute.ts
CHANGED
|
@@ -26,7 +26,17 @@ export const ApiReferenceRoute: Route = new Route("/reference");
|
|
|
26
26
|
|
|
27
27
|
export const AdminDashboardRoute: Route = new Route("/admin");
|
|
28
28
|
|
|
29
|
-
export const
|
|
29
|
+
export const ProbeIngestRoute: Route = new Route("/probe-ingest");
|
|
30
|
+
|
|
31
|
+
export const OpenTelemetryIngestRoute: Route = new Route(
|
|
32
|
+
"/open-telemetry-ingest",
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
export const IncomingRequestIngestRoute: Route = new Route(
|
|
36
|
+
"/incoming-request-ingest",
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
export const FluentIngestRoute: Route = new Route("/fluent-ingest");
|
|
30
40
|
|
|
31
41
|
export const RealtimeRoute: Route = new Route("/realtime/socket");
|
|
32
42
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ProbeAPI from "../../../Server/API/ProbeAPI";
|
|
2
2
|
import ProbeService from "../../../Server/Services/ProbeService";
|
|
3
3
|
import {
|
|
4
4
|
ExpressRequest,
|
|
@@ -37,13 +37,13 @@ jest.mock("../../../Server/Utils/Response", () => {
|
|
|
37
37
|
|
|
38
38
|
jest.mock("../../../Server/Services/ProbeService");
|
|
39
39
|
|
|
40
|
-
describe("
|
|
40
|
+
describe("ProbeAPI", () => {
|
|
41
41
|
let mockRequest: ExpressRequest;
|
|
42
42
|
let mockResponse: ExpressResponse;
|
|
43
43
|
let nextFunction: NextFunction;
|
|
44
44
|
|
|
45
45
|
beforeEach(() => {
|
|
46
|
-
new
|
|
46
|
+
new ProbeAPI();
|
|
47
47
|
mockRequest = {} as ExpressRequest;
|
|
48
48
|
mockResponse = {
|
|
49
49
|
send: jest.fn(),
|
package/UI/Config.ts
CHANGED
|
@@ -8,13 +8,16 @@ import {
|
|
|
8
8
|
FileRoute,
|
|
9
9
|
HomeRoute,
|
|
10
10
|
IdentityRoute,
|
|
11
|
-
|
|
11
|
+
ProbeIngestRoute,
|
|
12
12
|
IntegrationRoute,
|
|
13
13
|
NotificationRoute,
|
|
14
14
|
RealtimeRoute,
|
|
15
15
|
StatusPageApiRoute,
|
|
16
16
|
StatusPageRoute,
|
|
17
17
|
WorkflowRoute,
|
|
18
|
+
FluentIngestRoute,
|
|
19
|
+
IncomingRequestIngestRoute,
|
|
20
|
+
OpenTelemetryIngestRoute,
|
|
18
21
|
} from "Common/ServiceRoute";
|
|
19
22
|
import Hostname from "Common/Types/API/Hostname";
|
|
20
23
|
import Protocol from "Common/Types/API/Protocol";
|
|
@@ -65,7 +68,15 @@ export const STATUS_PAGE_HOSTNAME: Hostname = Hostname.fromString(HOST);
|
|
|
65
68
|
|
|
66
69
|
export const WORKFLOW_HOSTNAME: Hostname = Hostname.fromString(HOST);
|
|
67
70
|
|
|
68
|
-
export const
|
|
71
|
+
export const PROBE_INGEST_HOSTNAME: Hostname = Hostname.fromString(HOST);
|
|
72
|
+
|
|
73
|
+
export const OPEN_TELEMETRY_INGEST_HOSTNAME: Hostname =
|
|
74
|
+
Hostname.fromString(HOST);
|
|
75
|
+
|
|
76
|
+
export const INCOMING_REQUEST_INGEST_HOSTNAME: Hostname =
|
|
77
|
+
Hostname.fromString(HOST);
|
|
78
|
+
|
|
79
|
+
export const FLUENT_INGEST_HOSTNAME: Hostname = Hostname.fromString(HOST);
|
|
69
80
|
|
|
70
81
|
export const HELM_HOSTNAME: Hostname = Hostname.fromString(HOST);
|
|
71
82
|
|
|
@@ -101,6 +112,18 @@ export const STATUS_PAGE_API_URL: URL = new URL(
|
|
|
101
112
|
StatusPageApiRoute,
|
|
102
113
|
);
|
|
103
114
|
|
|
115
|
+
export const OPEN_TELEMETRY_INGEST_URL: URL = new URL(
|
|
116
|
+
HTTP_PROTOCOL,
|
|
117
|
+
OPEN_TELEMETRY_INGEST_HOSTNAME,
|
|
118
|
+
OpenTelemetryIngestRoute,
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
export const FLUENT_INGEST_URL: URL = new URL(
|
|
122
|
+
HTTP_PROTOCOL,
|
|
123
|
+
FLUENT_INGEST_HOSTNAME,
|
|
124
|
+
FluentIngestRoute,
|
|
125
|
+
);
|
|
126
|
+
|
|
104
127
|
export const IDENTITY_URL: URL = new URL(
|
|
105
128
|
HTTP_PROTOCOL,
|
|
106
129
|
IDENTITY_HOSTNAME,
|
|
@@ -119,10 +142,16 @@ export const WORKFLOW_URL: URL = new URL(
|
|
|
119
142
|
WorkflowRoute,
|
|
120
143
|
);
|
|
121
144
|
|
|
122
|
-
export const
|
|
145
|
+
export const PROBE_INGEST_URL: URL = new URL(
|
|
146
|
+
HTTP_PROTOCOL,
|
|
147
|
+
PROBE_INGEST_HOSTNAME,
|
|
148
|
+
ProbeIngestRoute,
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
export const INCOMING_REQUEST_INGEST_URL: URL = new URL(
|
|
123
152
|
HTTP_PROTOCOL,
|
|
124
|
-
|
|
125
|
-
|
|
153
|
+
INCOMING_REQUEST_INGEST_HOSTNAME,
|
|
154
|
+
IncomingRequestIngestRoute,
|
|
126
155
|
);
|
|
127
156
|
|
|
128
157
|
export const STATUS_PAGE_URL: URL = new URL(
|
|
@@ -5,7 +5,7 @@ import BaseAPI from "./BaseAPI";
|
|
|
5
5
|
import LIMIT_MAX from "Common/Types/Database/LimitMax";
|
|
6
6
|
import PositiveNumber from "Common/Types/PositiveNumber";
|
|
7
7
|
import Probe from "Common/Models/DatabaseModels/Probe";
|
|
8
|
-
export default class
|
|
8
|
+
export default class ProbeAPI extends BaseAPI {
|
|
9
9
|
constructor() {
|
|
10
10
|
var _a;
|
|
11
11
|
super(Probe, ProbeService);
|
|
@@ -74,7 +74,7 @@ export default class StatusAPI {
|
|
|
74
74
|
router.get("/status/live", async (req, res) => {
|
|
75
75
|
try {
|
|
76
76
|
logger.debug("Live check");
|
|
77
|
-
await options.
|
|
77
|
+
await options.liveCheck();
|
|
78
78
|
logger.info("Live check: ok");
|
|
79
79
|
stausLiveSuccess.add(1);
|
|
80
80
|
Response.sendJsonObjectResponse(req, res, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusAPI.js","sourceRoot":"","sources":["../../../../Server/API/StatusAPI.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StatusAPI.js","sourceRoot":"","sources":["../../../../Server/API/StatusAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export var ConfigLogLevel;
|
|
|
13
13
|
ConfigLogLevel["WARN"] = "WARN";
|
|
14
14
|
ConfigLogLevel["ERROR"] = "ERROR";
|
|
15
15
|
ConfigLogLevel["DEBUG"] = "DEBUG";
|
|
16
|
+
ConfigLogLevel["OFF"] = "OFF";
|
|
16
17
|
})(ConfigLogLevel || (ConfigLogLevel = {}));
|
|
17
18
|
export const getAllEnvVars = () => {
|
|
18
19
|
return process.env;
|
|
@@ -38,7 +39,10 @@ export const AirtableBaseId = process.env["AIRTABLE_BASE_ID"] || "";
|
|
|
38
39
|
export const ClusterKey = new ObjectID(process.env["ONEUPTIME_SECRET"] || "secret");
|
|
39
40
|
export const HasClusterKey = Boolean(process.env["ONEUPTIME_SECRET"]);
|
|
40
41
|
export const AppApiHostname = Hostname.fromString(`${process.env["SERVER_APP_HOSTNAME"] || "localhost"}:${process.env["APP_PORT"] || 80}`);
|
|
41
|
-
export const
|
|
42
|
+
export const ProbeIngestHostname = Hostname.fromString(`${process.env["SERVER_PROBE_INGEST_HOSTNAME"] || "localhost"}:${process.env["PROBE_INGEST_PORT"] || 80}`);
|
|
43
|
+
export const OpenTelemetryIngestHostname = Hostname.fromString(`${process.env["SERVER_OPEN_TELEMETRY_INGEST_HOSTNAME"] || "localhost"}:${process.env["OPEN_TELEMETRY_INGEST_PORT"] || 80}`);
|
|
44
|
+
export const IncomingRequestIngestHostname = Hostname.fromString(`${process.env["SERVER_INCOMING_REQUEST_INGEST_HOSTNAME"] || "localhost"}:${process.env["INCOMING_REQUEST_INGEST_PORT"] || 80}`);
|
|
45
|
+
export const FluentIngestHostname = Hostname.fromString(`${process.env["SERVER_FLUENT_INGEST_HOSTNAME"] || "localhost"}:${process.env["FLUENT_INGEST_PORT"] || 80}`);
|
|
42
46
|
export const IsolatedVMHostname = Hostname.fromString(`${process.env["SERVER_ISOLATED_VM_HOSTNAME"] || "localhost"}:${process.env["ISOLATED_VM_PORT"] || 80}`);
|
|
43
47
|
export const WorkerHostname = Hostname.fromString(`${process.env["SERVER_WORKER_HOSTNAME"] || "localhost"}:${process.env["WORKER_PORT"] || 80}`);
|
|
44
48
|
export const WorkflowHostname = Hostname.fromString(`${process.env["SERVER_WORKFLOW_HOSTNAME"] || "localhost"}:${process.env["WORKFLOW_PORT"] || 80}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentConfig.js","sourceRoot":"","sources":["../../../Server/EnvironmentConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,GAAG,MAAM,sBAAsB,CAAC;AACvC,OAAO,gBAAgB,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,MAAM,oBAAoB,CAAC;AAEvC,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,IAAI,MAAM,mBAAmB,CAAC;AAErC,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"EnvironmentConfig.js","sourceRoot":"","sources":["../../../Server/EnvironmentConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ClickHouseIsHostHttps, ClickhouseDatabase, ClickhouseHost, ClickhousePassword, ClickhousePort, ClickhouseTlsCa, ClickhouseTlsCert, ClickhouseTlsKey, ClickhouseUsername, ShouldClickhouseSslEnable, } from "../EnvironmentConfig";
|
|
2
2
|
const hostProtocol = ClickHouseIsHostHttps ? "https" : "http";
|
|
3
3
|
const options = {
|
|
4
|
-
|
|
4
|
+
url: `${hostProtocol}://${ClickhouseHost.toString()}:${ClickhousePort.toNumber()}`,
|
|
5
5
|
username: ClickhouseUsername,
|
|
6
6
|
password: ClickhousePassword,
|
|
7
7
|
database: ClickhouseDatabase,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickhouseConfig.js","sourceRoot":"","sources":["../../../../Server/Infrastructure/ClickhouseConfig.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAI9B,MAAM,YAAY,GAAW,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAEtE,MAAM,OAAO,GAAkC;IAC7C,
|
|
1
|
+
{"version":3,"file":"ClickhouseConfig.js","sourceRoot":"","sources":["../../../../Server/Infrastructure/ClickhouseConfig.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAI9B,MAAM,YAAY,GAAW,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAEtE,MAAM,OAAO,GAAkC;IAC7C,GAAG,EAAE,GAAG,YAAY,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,cAAc,CAAC,QAAQ,EAAE,EAAE;IAClF,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,IAAI,yBAAyB,IAAI,eAAe,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,GAAG;QACZ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,IACE,yBAAyB;IACzB,eAAe;IACf,iBAAiB;IACjB,gBAAgB,EAChB,CAAC;IACD,OAAO,CAAC,GAAG,GAAG;QACZ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACpC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAkC,OAAO,CAAC;AAExE,MAAM,CAAC,MAAM,qBAAqB,GAChC,iBAAiB,CAAC"}
|
|
@@ -65,7 +65,10 @@ export default class ClickhouseDatabase {
|
|
|
65
65
|
var _a;
|
|
66
66
|
// Ping clickhouse to check if the connection is still alive
|
|
67
67
|
try {
|
|
68
|
+
logger.debug("Checking Clickhouse Connection Status - pinging clickhouse");
|
|
68
69
|
const result = await ((_a = this.getDataSource()) === null || _a === void 0 ? void 0 : _a.ping());
|
|
70
|
+
logger.debug("Clickhouse Connection Status Result");
|
|
71
|
+
logger.debug(result);
|
|
69
72
|
if (!result) {
|
|
70
73
|
throw new DatabaseNotConnectedException("Clickhouse Database is not connected");
|
|
71
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickhouseDatabase.js","sourceRoot":"","sources":["../../../../Server/Infrastructure/ClickhouseDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAEL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAc,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AAChF,OAAO,6BAA6B,MAAM,sDAAsD,CAAC;AACjG,OAAO,KAAK,MAAM,oBAAoB,CAAC;AAIvC,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAG9B,oBAAoB;QACzB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEM,wBAAwB;QAC7B,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,WAAW;QAChB,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,iBAAgD;QAEhD,IAAI,KAAK,GAAW,CAAC,CAAC;QAEtB,IAAI,CAAC;YAEH,MAAM,iBAAiB,GACrB,KAAK,IAA+B,EAAE;;gBACpC,IAAI,CAAC;oBACH,MAAM,eAAe,GAAqB,YAAY,iCACjD,iBAAiB,KACpB,QAAQ,EAAE,SAAS,IACnB,CAAC;oBACH,MAAM,eAAe,CAAC,IAAI,CAAC;wBACzB,KAAK,EAAE,iCAAiC,iBAAiB,CAAC,QAAQ,EAAE;qBACrE,CAAC,CAAC;oBAEH,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;oBAE9B,MAAM,gBAAgB,GACpB,YAAY,CAAC,iBAAiB,CAAC,CAAC;oBAClC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;oBAEnC,MAAM,MAAM,GAAe,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBAEzD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;wBAC7B,MAAM,IAAI,6BAA6B,CACrC,sCAAsC,CACvC,CAAC;oBACJ,CAAC;oBAED,MAAM,CAAC,KAAK,CACV,kCAAkC,MAAA,iBAAiB,CAAC,IAAI,0CAAE,QAAQ,EAAE,EAAE,CACvE,CAAC;oBAEF,OAAO,gBAAgB,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;wBACd,MAAM,CAAC,KAAK,CACV,2DAA2D,CAC5D,CAAC;wBACF,uBAAuB;wBAEvB,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAExB,KAAK,EAAE,CAAC;wBACR,OAAO,MAAM,iBAAiB,EAAE,CAAC;oBACnC,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC;YAEJ,OAAO,MAAM,iBAAiB,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,sBAAsB;;QACjC,4DAA4D;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAA2B,MAAM,CAAA,MAAA,IAAI,CAAC,aAAa,EAAE,0CAAE,IAAI,EAAE,CAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"ClickhouseDatabase.js","sourceRoot":"","sources":["../../../../Server/Infrastructure/ClickhouseDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,35 @@
|
|
|
1
1
|
// This class checks the status of all the datasources.
|
|
2
|
+
import logger from "../Utils/Logger";
|
|
2
3
|
import { ClickhouseAppInstance } from "./ClickhouseDatabase";
|
|
3
4
|
import PostgresAppInstance from "./PostgresDatabase";
|
|
4
5
|
import Redis from "./Redis";
|
|
5
6
|
import DatabaseNotConnectedException from "Common/Types/Exception/DatabaseNotConnectedException";
|
|
6
7
|
export default class InfrastructureStatus {
|
|
7
8
|
static async checkStatus(data) {
|
|
9
|
+
logger.debug("Checking infrastructure status");
|
|
8
10
|
if (data.checkRedisStatus) {
|
|
11
|
+
logger.debug("Checking Redis status");
|
|
9
12
|
if (!(await Redis.checkConnnectionStatus())) {
|
|
13
|
+
logger.debug("Redis is not connected");
|
|
10
14
|
throw new DatabaseNotConnectedException("Redis is not connected");
|
|
11
15
|
}
|
|
16
|
+
logger.debug("Redis is connected");
|
|
12
17
|
}
|
|
13
18
|
if (data.checkPostgresStatus) {
|
|
19
|
+
logger.debug("Checking Postgres status");
|
|
14
20
|
if (!(await PostgresAppInstance.checkConnnectionStatus())) {
|
|
21
|
+
logger.debug("Postgres is not connected");
|
|
15
22
|
throw new DatabaseNotConnectedException("Postgres is not connected");
|
|
16
23
|
}
|
|
24
|
+
logger.debug("Postgres is connected");
|
|
17
25
|
}
|
|
18
26
|
if (data.checkClickhouseStatus) {
|
|
27
|
+
logger.debug("Checking Clickhouse status");
|
|
19
28
|
if (!(await ClickhouseAppInstance.checkConnnectionStatus())) {
|
|
29
|
+
logger.debug("Clickhouse is not connected");
|
|
20
30
|
throw new DatabaseNotConnectedException("Clickhouse is not connected");
|
|
21
31
|
}
|
|
32
|
+
logger.debug("Clickhouse is connected");
|
|
22
33
|
}
|
|
23
34
|
}
|
|
24
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../../Server/Infrastructure/Status.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,6BAA6B,MAAM,sDAAsD,CAAC;AAEjG,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAChC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAI/B;QACC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,6BAA6B,CAAC,wBAAwB,CAAC,CAAC;YACpE,CAAC;
|
|
1
|
+
{"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../../Server/Infrastructure/Status.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,6BAA6B,MAAM,sDAAsD,CAAC;AAEjG,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAChC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAI/B;QACC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAE/C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACvC,MAAM,IAAI,6BAA6B,CAAC,wBAAwB,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC1C,MAAM,IAAI,6BAA6B,CAAC,2BAA2B,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC;gBAC5D,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC5C,MAAM,IAAI,6BAA6B,CAAC,6BAA6B,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import BadRequestException from "../../Types/Exception/BadRequestException";
|
|
2
|
+
import ObjectID from "../../Types/ObjectID";
|
|
3
|
+
import TelemetryIngestionKeyService from "../../Server/Services/TelemetryIngestionKeyService";
|
|
4
|
+
export default class TelemetryIngest {
|
|
5
|
+
static async isAuthorizedServiceMiddleware(req, _res, next) {
|
|
6
|
+
try {
|
|
7
|
+
// check header.
|
|
8
|
+
let oneuptimeToken = req.headers["x-oneuptime-token"];
|
|
9
|
+
// if x-oneuptime-service-token header is present then use that as token.
|
|
10
|
+
if (!oneuptimeToken) {
|
|
11
|
+
oneuptimeToken = req.headers["x-oneuptime-service-token"];
|
|
12
|
+
}
|
|
13
|
+
if (!oneuptimeToken) {
|
|
14
|
+
throw new BadRequestException("Missing header: x-oneuptime-token");
|
|
15
|
+
}
|
|
16
|
+
let projectId = undefined;
|
|
17
|
+
const token = await TelemetryIngestionKeyService.findOneBy({
|
|
18
|
+
query: {
|
|
19
|
+
secretKey: new ObjectID((oneuptimeToken === null || oneuptimeToken === void 0 ? void 0 : oneuptimeToken.toString()) || ""),
|
|
20
|
+
},
|
|
21
|
+
select: {
|
|
22
|
+
projectId: true,
|
|
23
|
+
},
|
|
24
|
+
props: {
|
|
25
|
+
isRoot: true,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
if (!token) {
|
|
29
|
+
throw new BadRequestException("Invalid service token: " + oneuptimeToken);
|
|
30
|
+
}
|
|
31
|
+
projectId = token.projectId;
|
|
32
|
+
if (!projectId) {
|
|
33
|
+
throw new BadRequestException("Project ID not found for service token: " + oneuptimeToken);
|
|
34
|
+
}
|
|
35
|
+
req.projectId = projectId;
|
|
36
|
+
next();
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
return next(err);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=TelemetryIngest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelemetryIngest.js","sourceRoot":"","sources":["../../../../Server/Middleware/TelemetryIngest.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAE5E,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAM5C,OAAO,4BAA4B,MAAM,oDAAoD,CAAC;AAQ9F,MAAM,CAAC,OAAO,OAAO,eAAe;IAC3B,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAC/C,GAAmB,EACnB,IAAqB,EACrB,IAAkB;QAElB,IAAI,CAAC;YACH,gBAAgB;YAEhB,IAAI,cAAc,GAAuB,GAAG,CAAC,OAAO,CAClD,mBAAmB,CACE,CAAC;YAExB,yEAAyE;YACzE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAE3C,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,SAAS,GAAyB,SAAS,CAAC;YAEhD,MAAM,KAAK,GACT,MAAM,4BAA4B,CAAC,SAAS,CAAC;gBAC3C,KAAK,EAAE;oBACL,SAAS,EAAE,IAAI,QAAQ,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC;iBAC1D;gBACD,MAAM,EAAE;oBACN,SAAS,EAAE,IAAI;iBAChB;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEL,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,mBAAmB,CAC3B,yBAAyB,GAAG,cAAc,CAC3C,CAAC;YACJ,CAAC;YAED,SAAS,GAAG,KAAK,CAAC,SAAqB,CAAC;YAExC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,mBAAmB,CAC3B,0CAA0C,GAAG,cAAc,CAC5D,CAAC;YACJ,CAAC;YAEA,GAAwB,CAAC,SAAS,GAAG,SAAqB,CAAC;YAE5D,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import OneUptimeDate from "Common/Types/Date";
|
|
2
|
+
import JSONFunctions from "Common/Types/JSONFunctions";
|
|
3
|
+
import Metric, { AggregationTemporality, } from "Common/Models/AnalyticsModels/Metric";
|
|
4
|
+
import { IsBillingEnabled } from "Common/Server/EnvironmentConfig";
|
|
5
|
+
import TelemetryUsageBillingService from "Common/Server/Services/TelemetryUsageBillingService";
|
|
6
|
+
import logger from "Common/Server/Utils/Logger";
|
|
7
|
+
import TelemetryService from "Common/Models/DatabaseModels/TelemetryService";
|
|
8
|
+
import TelemetryServiceService from "Common/Server/Services/TelemetryServiceService";
|
|
9
|
+
import { DEFAULT_RETENTION_IN_DAYS } from "Common/Models/DatabaseModels/TelemetryUsageBilling";
|
|
10
|
+
import TelemetryUtil from "Common/Server/Utils/Telemetry/Telemetry";
|
|
11
|
+
export var OtelAggregationTemporality;
|
|
12
|
+
(function (OtelAggregationTemporality) {
|
|
13
|
+
OtelAggregationTemporality["Cumulative"] = "AGGREGATION_TEMPORALITY_CUMULATIVE";
|
|
14
|
+
OtelAggregationTemporality["Delta"] = "AGGREGATION_TEMPORALITY_DELTA";
|
|
15
|
+
})(OtelAggregationTemporality || (OtelAggregationTemporality = {}));
|
|
16
|
+
export default class OTelIngestService {
|
|
17
|
+
static async telemetryServiceFromName(data) {
|
|
18
|
+
const service = await TelemetryServiceService.findOneBy({
|
|
19
|
+
query: {
|
|
20
|
+
projectId: data.projectId,
|
|
21
|
+
name: data.serviceName,
|
|
22
|
+
},
|
|
23
|
+
select: {
|
|
24
|
+
_id: true,
|
|
25
|
+
retainTelemetryDataForDays: true,
|
|
26
|
+
},
|
|
27
|
+
props: {
|
|
28
|
+
isRoot: true,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
if (!service) {
|
|
32
|
+
// create service
|
|
33
|
+
const newService = new TelemetryService();
|
|
34
|
+
newService.projectId = data.projectId;
|
|
35
|
+
newService.name = data.serviceName;
|
|
36
|
+
newService.description = data.serviceName;
|
|
37
|
+
newService.retainTelemetryDataForDays = DEFAULT_RETENTION_IN_DAYS;
|
|
38
|
+
const createdService = await TelemetryServiceService.create({
|
|
39
|
+
data: newService,
|
|
40
|
+
props: {
|
|
41
|
+
isRoot: true,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
serviceId: createdService.id,
|
|
46
|
+
dataRententionInDays: DEFAULT_RETENTION_IN_DAYS,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
serviceId: service.id,
|
|
51
|
+
dataRententionInDays: service.retainTelemetryDataForDays || DEFAULT_RETENTION_IN_DAYS,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
static async recordDataIngestedUsgaeBilling(data) {
|
|
55
|
+
if (!IsBillingEnabled) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
for (const serviceName in data.services) {
|
|
59
|
+
const serviceData = data.services[serviceName];
|
|
60
|
+
if (!serviceData) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
TelemetryUsageBillingService.updateUsageBilling({
|
|
64
|
+
projectId: data.projectId,
|
|
65
|
+
productType: data.productType,
|
|
66
|
+
dataIngestedInGB: serviceData.dataIngestedInGB || 0,
|
|
67
|
+
telemetryServiceId: serviceData.serviceId,
|
|
68
|
+
retentionInDays: serviceData.dataRententionInDays,
|
|
69
|
+
}).catch((err) => {
|
|
70
|
+
logger.error("Failed to update usage billing for OTel");
|
|
71
|
+
logger.error(err);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
static getMetricFromDatapoint(data) {
|
|
76
|
+
const { dbMetric, datapoint, aggregationTemporality, isMonotonic } = data;
|
|
77
|
+
const newDbMetric = Metric.fromJSON(dbMetric.toJSON(), Metric);
|
|
78
|
+
newDbMetric.startTimeUnixNano = datapoint["startTimeUnixNano"];
|
|
79
|
+
newDbMetric.startTime = OneUptimeDate.fromUnixNano(datapoint["startTimeUnixNano"]);
|
|
80
|
+
newDbMetric.timeUnixNano = datapoint["timeUnixNano"];
|
|
81
|
+
newDbMetric.time = OneUptimeDate.fromUnixNano(datapoint["timeUnixNano"]);
|
|
82
|
+
if (Object.keys(datapoint).includes("asInt")) {
|
|
83
|
+
newDbMetric.value = datapoint["asInt"];
|
|
84
|
+
}
|
|
85
|
+
else if (Object.keys(datapoint).includes("asDouble")) {
|
|
86
|
+
newDbMetric.value = datapoint["asDouble"];
|
|
87
|
+
}
|
|
88
|
+
newDbMetric.count = datapoint["count"];
|
|
89
|
+
newDbMetric.sum = datapoint["sum"];
|
|
90
|
+
newDbMetric.min = datapoint["min"];
|
|
91
|
+
newDbMetric.max = datapoint["max"];
|
|
92
|
+
newDbMetric.bucketCounts = datapoint["bucketCounts"];
|
|
93
|
+
newDbMetric.explicitBounds = datapoint["explicitBounds"];
|
|
94
|
+
if (!newDbMetric.value) {
|
|
95
|
+
newDbMetric.value = newDbMetric.sum;
|
|
96
|
+
}
|
|
97
|
+
// attrbutes
|
|
98
|
+
if (Object.keys(datapoint).includes("attributes")) {
|
|
99
|
+
if (!newDbMetric.attributes) {
|
|
100
|
+
newDbMetric.attributes = {};
|
|
101
|
+
}
|
|
102
|
+
newDbMetric.attributes = Object.assign(Object.assign({}, (newDbMetric.attributes || {})), TelemetryUtil.getAttributes({
|
|
103
|
+
items: datapoint["attributes"],
|
|
104
|
+
telemetryServiceId: data.telemetryServiceId,
|
|
105
|
+
telemetryServiceName: data.telemetryServiceName,
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
if (newDbMetric.attributes) {
|
|
109
|
+
newDbMetric.attributes = JSONFunctions.flattenObject(newDbMetric.attributes);
|
|
110
|
+
}
|
|
111
|
+
// aggregationTemporality
|
|
112
|
+
if (aggregationTemporality) {
|
|
113
|
+
if (aggregationTemporality === OtelAggregationTemporality.Cumulative) {
|
|
114
|
+
newDbMetric.aggregationTemporality = AggregationTemporality.Cumulative;
|
|
115
|
+
}
|
|
116
|
+
if (aggregationTemporality === OtelAggregationTemporality.Delta) {
|
|
117
|
+
newDbMetric.aggregationTemporality = AggregationTemporality.Delta;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (isMonotonic !== undefined) {
|
|
121
|
+
newDbMetric.isMonotonic = isMonotonic;
|
|
122
|
+
}
|
|
123
|
+
return newDbMetric;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=OpenTelemetryIngestService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenTelemetryIngestService.js","sourceRoot":"","sources":["../../../../Server/Services/OpenTelemetryIngestService.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,10 @@ export const AccountsRoute = new Route("/accounts");
|
|
|
12
12
|
export const WorkflowRoute = new Route("/workflow");
|
|
13
13
|
export const ApiReferenceRoute = new Route("/reference");
|
|
14
14
|
export const AdminDashboardRoute = new Route("/admin");
|
|
15
|
-
export const
|
|
15
|
+
export const ProbeIngestRoute = new Route("/probe-ingest");
|
|
16
|
+
export const OpenTelemetryIngestRoute = new Route("/open-telemetry-ingest");
|
|
17
|
+
export const IncomingRequestIngestRoute = new Route("/incoming-request-ingest");
|
|
18
|
+
export const FluentIngestRoute = new Route("/fluent-ingest");
|
|
16
19
|
export const RealtimeRoute = new Route("/realtime/socket");
|
|
17
20
|
export const DocsRoute = new Route("/docs");
|
|
18
21
|
export const StatusPageApiRoute = new Route("/status-page-api");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceRoute.js","sourceRoot":"","sources":["../../ServiceRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAU,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAU,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAU,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,SAAS,GAAU,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,eAAe,GAAU,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,cAAc,GAAU,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAAU,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAU,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAU,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAU,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAU,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,mBAAmB,GAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ServiceRoute.js","sourceRoot":"","sources":["../../ServiceRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAU,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAU,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAU,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,SAAS,GAAU,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,eAAe,GAAU,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,cAAc,GAAU,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAAU,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAU,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAU,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAU,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAU,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,mBAAmB,GAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAU,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,wBAAwB,GAAU,IAAI,KAAK,CACtD,wBAAwB,CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAU,IAAI,KAAK,CACxD,0BAA0B,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAU,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,aAAa,GAAU,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,SAAS,GAAU,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAU,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ProbeAPI from "../../../Server/API/ProbeAPI";
|
|
2
2
|
import ProbeService from "../../../Server/Services/ProbeService";
|
|
3
3
|
import Response from "../../../Server/Utils/Response";
|
|
4
4
|
import { mockRouter } from "./Helpers";
|
|
@@ -28,12 +28,12 @@ jest.mock("../../../Server/Utils/Response", () => {
|
|
|
28
28
|
};
|
|
29
29
|
});
|
|
30
30
|
jest.mock("../../../Server/Services/ProbeService");
|
|
31
|
-
describe("
|
|
31
|
+
describe("ProbeAPI", () => {
|
|
32
32
|
let mockRequest;
|
|
33
33
|
let mockResponse;
|
|
34
34
|
let nextFunction;
|
|
35
35
|
beforeEach(() => {
|
|
36
|
-
new
|
|
36
|
+
new ProbeAPI();
|
|
37
37
|
mockRequest = {};
|
|
38
38
|
mockResponse = {
|
|
39
39
|
send: jest.fn(),
|
package/build/dist/UI/Config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccountsRoute, AdminDashboardRoute, ApiReferenceRoute, AppApiRoute, DashboardRoute, DocsRoute, FileRoute, HomeRoute, IdentityRoute,
|
|
1
|
+
import { AccountsRoute, AdminDashboardRoute, ApiReferenceRoute, AppApiRoute, DashboardRoute, DocsRoute, FileRoute, HomeRoute, IdentityRoute, ProbeIngestRoute, IntegrationRoute, NotificationRoute, RealtimeRoute, StatusPageApiRoute, StatusPageRoute, WorkflowRoute, FluentIngestRoute, IncomingRequestIngestRoute, OpenTelemetryIngestRoute, } from "Common/ServiceRoute";
|
|
2
2
|
import Hostname from "Common/Types/API/Hostname";
|
|
3
3
|
import Protocol from "Common/Types/API/Protocol";
|
|
4
4
|
import URL from "Common/Types/API/URL";
|
|
@@ -27,7 +27,10 @@ export const REALTIME_HOSTNAME = Hostname.fromString(HOST);
|
|
|
27
27
|
export const INTEGRATION_HOSTNAME = Hostname.fromString(HOST);
|
|
28
28
|
export const STATUS_PAGE_HOSTNAME = Hostname.fromString(HOST);
|
|
29
29
|
export const WORKFLOW_HOSTNAME = Hostname.fromString(HOST);
|
|
30
|
-
export const
|
|
30
|
+
export const PROBE_INGEST_HOSTNAME = Hostname.fromString(HOST);
|
|
31
|
+
export const OPEN_TELEMETRY_INGEST_HOSTNAME = Hostname.fromString(HOST);
|
|
32
|
+
export const INCOMING_REQUEST_INGEST_HOSTNAME = Hostname.fromString(HOST);
|
|
33
|
+
export const FLUENT_INGEST_HOSTNAME = Hostname.fromString(HOST);
|
|
31
34
|
export const HELM_HOSTNAME = Hostname.fromString(HOST);
|
|
32
35
|
export const API_DOCS_HOSTNAME = Hostname.fromString(HOST);
|
|
33
36
|
export const ADMIN_DASHBOARD_HOSTNAME = Hostname.fromString(HOST);
|
|
@@ -38,10 +41,13 @@ export const APP_API_URL = new URL(HTTP_PROTOCOL, APP_HOSTNAME, AppApiRoute);
|
|
|
38
41
|
export const REALTIME_URL = new URL(HTTP_PROTOCOL, REALTIME_HOSTNAME, RealtimeRoute);
|
|
39
42
|
export const DOCS_URL = new URL(HTTP_PROTOCOL, REALTIME_HOSTNAME, DocsRoute);
|
|
40
43
|
export const STATUS_PAGE_API_URL = new URL(HTTP_PROTOCOL, STATUS_PAGE_HOSTNAME, StatusPageApiRoute);
|
|
44
|
+
export const OPEN_TELEMETRY_INGEST_URL = new URL(HTTP_PROTOCOL, OPEN_TELEMETRY_INGEST_HOSTNAME, OpenTelemetryIngestRoute);
|
|
45
|
+
export const FLUENT_INGEST_URL = new URL(HTTP_PROTOCOL, FLUENT_INGEST_HOSTNAME, FluentIngestRoute);
|
|
41
46
|
export const IDENTITY_URL = new URL(HTTP_PROTOCOL, IDENTITY_HOSTNAME, IdentityRoute);
|
|
42
47
|
export const NOTIFICATION_URL = new URL(HTTP_PROTOCOL, NOTIFICATION_HOSTNAME, NotificationRoute);
|
|
43
48
|
export const WORKFLOW_URL = new URL(HTTP_PROTOCOL, WORKFLOW_HOSTNAME, WorkflowRoute);
|
|
44
|
-
export const
|
|
49
|
+
export const PROBE_INGEST_URL = new URL(HTTP_PROTOCOL, PROBE_INGEST_HOSTNAME, ProbeIngestRoute);
|
|
50
|
+
export const INCOMING_REQUEST_INGEST_URL = new URL(HTTP_PROTOCOL, INCOMING_REQUEST_INGEST_HOSTNAME, IncomingRequestIngestRoute);
|
|
45
51
|
export const STATUS_PAGE_URL = new URL(HTTP_PROTOCOL, STATUS_PAGE_HOSTNAME, StatusPageRoute);
|
|
46
52
|
export const FILE_URL = new URL(HTTP_PROTOCOL, FILE_HOSTNAME, FileRoute);
|
|
47
53
|
export const DASHBOARD_URL = new URL(HTTP_PROTOCOL, DASHBOARD_HOSTNAME, DashboardRoute);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../UI/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../UI/Config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneuptime/common",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.3278",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"airtable": "^0.12.2",
|
|
78
78
|
"axios": "^1.7.2",
|
|
79
79
|
"bullmq": "^5.3.3",
|
|
80
|
-
"Common": "npm:@oneuptime/common@7.0.
|
|
80
|
+
"Common": "npm:@oneuptime/common@7.0.3278",
|
|
81
81
|
"cookie-parser": "^1.4.7",
|
|
82
82
|
"cors": "^2.8.5",
|
|
83
83
|
"cron-parser": "^4.8.1",
|