mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-18 19:39:25 +00:00
misc: finalized config files
This commit is contained in:
Generated
+17
@@ -28,6 +28,7 @@
|
||||
"@opentelemetry/api": "^1.8.0",
|
||||
"@opentelemetry/auto-instrumentations-node": "^0.46.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-proto": "^0.51.1",
|
||||
"@opentelemetry/exporter-prometheus": "^0.51.1",
|
||||
"@opentelemetry/instrumentation": "^0.51.1",
|
||||
"@opentelemetry/resources": "^1.24.1",
|
||||
"@opentelemetry/sdk-metrics": "^1.24.1",
|
||||
@@ -3484,6 +3485,22 @@
|
||||
"@opentelemetry/api": "^1.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@opentelemetry/exporter-prometheus": {
|
||||
"version": "0.51.1",
|
||||
"resolved": "https://registry.npmjs.org/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.51.1.tgz",
|
||||
"integrity": "sha512-c8TrTlLm9JJRIHW6MtFv6ESoZRgXBXD/YrTRYylWiyYBOVbYHo1c5Qaw/j/thXDhkmYOYAn4LAhJZpLl5gBFEQ==",
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.24.1",
|
||||
"@opentelemetry/resources": "1.24.1",
|
||||
"@opentelemetry/sdk-metrics": "1.24.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": "^1.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@opentelemetry/exporter-trace-otlp-grpc": {
|
||||
"version": "0.51.1",
|
||||
"resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.51.1.tgz",
|
||||
|
||||
@@ -89,6 +89,7 @@
|
||||
"@opentelemetry/api": "^1.8.0",
|
||||
"@opentelemetry/auto-instrumentations-node": "^0.46.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-proto": "^0.51.1",
|
||||
"@opentelemetry/exporter-prometheus": "^0.51.1",
|
||||
"@opentelemetry/instrumentation": "^0.51.1",
|
||||
"@opentelemetry/resources": "^1.24.1",
|
||||
"@opentelemetry/sdk-metrics": "^1.24.1",
|
||||
|
||||
@@ -120,7 +120,7 @@ const envSchema = z
|
||||
.optional(),
|
||||
INFISICAL_CLOUD: zodStrBool.default("false"),
|
||||
MAINTENANCE_MODE: zodStrBool.default("false"),
|
||||
TELEMETRY_EXPORT_URL: zpStr(z.string().optional())
|
||||
OTEL_COLLECTOR_OTLP_URL: zpStr(z.string().optional())
|
||||
})
|
||||
.transform((data) => ({
|
||||
...data,
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import opentelemetry from "@opentelemetry/api";
|
||||
import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
|
||||
import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-proto";
|
||||
import { PrometheusExporter } from "@opentelemetry/exporter-prometheus";
|
||||
import { registerInstrumentations } from "@opentelemetry/instrumentation";
|
||||
import { Resource } from "@opentelemetry/resources";
|
||||
import { AggregationTemporality, MeterProvider, PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
|
||||
import { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
|
||||
|
||||
export const initTelemetry = (exportURL: string) => {
|
||||
export const initTelemetry = async ({ otlpURL }: { otlpURL?: string }) => {
|
||||
const resource = Resource.default().merge(
|
||||
new Resource({
|
||||
[SEMRESATTRS_SERVICE_NAME]: "infisical-server",
|
||||
@@ -14,22 +15,30 @@ export const initTelemetry = (exportURL: string) => {
|
||||
})
|
||||
);
|
||||
|
||||
const metricExporter = new OTLPMetricExporter({
|
||||
url: `${exportURL}/v1/metrics`,
|
||||
temporalityPreference: AggregationTemporality.DELTA
|
||||
});
|
||||
const metricReaders = [];
|
||||
if (otlpURL) {
|
||||
const otlpExporter = new OTLPMetricExporter({
|
||||
url: `${otlpURL}/v1/metrics`,
|
||||
temporalityPreference: AggregationTemporality.DELTA
|
||||
});
|
||||
|
||||
const metricReader = new PeriodicExportingMetricReader({
|
||||
exporter: metricExporter,
|
||||
exportIntervalMillis: 30000
|
||||
});
|
||||
metricReaders.push(
|
||||
new PeriodicExportingMetricReader({
|
||||
exporter: otlpExporter,
|
||||
exportIntervalMillis: 30000
|
||||
})
|
||||
);
|
||||
} else {
|
||||
const promExporter = new PrometheusExporter();
|
||||
metricReaders.push(promExporter);
|
||||
}
|
||||
|
||||
const myServiceMeterProvider = new MeterProvider({
|
||||
const meterProvider = new MeterProvider({
|
||||
resource,
|
||||
readers: [metricReader]
|
||||
readers: metricReaders
|
||||
});
|
||||
|
||||
opentelemetry.metrics.setGlobalMeterProvider(myServiceMeterProvider);
|
||||
opentelemetry.metrics.setGlobalMeterProvider(meterProvider);
|
||||
|
||||
registerInstrumentations({
|
||||
instrumentations: [getNodeAutoInstrumentations()]
|
||||
|
||||
+1
-3
@@ -15,9 +15,7 @@ const run = async () => {
|
||||
const logger = await initLogger();
|
||||
const appCfg = initEnvConfig(logger);
|
||||
|
||||
if (appCfg.TELEMETRY_EXPORT_URL) {
|
||||
initTelemetry(appCfg.TELEMETRY_EXPORT_URL);
|
||||
}
|
||||
await initTelemetry({ otlpURL: appCfg.OTEL_COLLECTOR_OTLP_URL });
|
||||
|
||||
const db = initDbConnection({
|
||||
dbConnectionUri: appCfg.DB_CONNECTION_URI,
|
||||
|
||||
Reference in New Issue
Block a user