chore(server): switch to prometheus (#12352)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Added platform-specific monitoring integration for Google Cloud Platform (GCP) in multiple services, enabling automated pod monitoring for deployments on GCP.

- **Chores**
  - Removed an unused dependency related to Google Cloud monitoring from the backend server package.

- **Refactor**
  - Updated internal monitoring implementation by removing a previously used metric reader method for GCP integration.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
forehalo
2025-05-19 05:06:42 +00:00
parent 76a8bf2834
commit d5e2fee317
7 changed files with 48 additions and 52 deletions

View File

@@ -36,7 +36,6 @@
"@aws-sdk/client-s3": "^3.779.0",
"@aws-sdk/s3-request-presigner": "^3.779.0",
"@fal-ai/serverless-client": "^0.15.0",
"@google-cloud/opentelemetry-cloud-monitoring-exporter": "^0.20.0",
"@google-cloud/opentelemetry-cloud-trace-exporter": "^2.4.1",
"@google-cloud/opentelemetry-resource-util": "^2.4.0",
"@nestjs-cls/transactional": "^2.6.1",

View File

@@ -1,13 +1,8 @@
import { MetricExporter } from '@google-cloud/opentelemetry-cloud-monitoring-exporter';
import { TraceExporter } from '@google-cloud/opentelemetry-cloud-trace-exporter';
import { GcpDetectorSync } from '@google-cloud/opentelemetry-resource-util';
import { Global, Injectable, Module, Provider } from '@nestjs/common';
import { getEnv } from '@opentelemetry/core';
import { Resource } from '@opentelemetry/resources';
import {
MetricReader,
PeriodicExportingMetricReader,
} from '@opentelemetry/sdk-metrics';
import { SpanExporter } from '@opentelemetry/sdk-trace-node';
import {
SEMRESATTRS_CONTAINER_NAME,
@@ -31,17 +26,6 @@ export class GCloudOpentelemetryOptionsFactory extends OpentelemetryOptionsFacto
.merge(new GcpDetectorSync().detect());
}
override getMetricReader(): MetricReader {
return new PeriodicExportingMetricReader({
exportIntervalMillis: 30000,
exportTimeoutMillis: 10000,
exporter: new MetricExporter({
prefix: 'custom.googleapis.com',
}),
metricProducers: this.getMetricsProducers(),
});
}
override getSpanExporter(): SpanExporter {
return new TraceExporter();
}