34 lines
789 B
TypeScript
34 lines
789 B
TypeScript
import { Module } from '@nestjs/common';
|
|
import {
|
|
PrometheusModule,
|
|
makeCounterProvider,
|
|
makeGaugeProvider,
|
|
} from '@willsoto/nestjs-prometheus';
|
|
import { MetricsService } from './metrics.service';
|
|
|
|
@Module({
|
|
imports: [
|
|
PrometheusModule.register({
|
|
path: '/metrics',
|
|
defaultMetrics: { enabled: true },
|
|
}),
|
|
],
|
|
providers: [
|
|
MetricsService,
|
|
makeCounterProvider({
|
|
name: 'sso_logins_total',
|
|
help: 'Total number of successful logins',
|
|
}),
|
|
makeCounterProvider({
|
|
name: 'sso_logins_failed_total',
|
|
help: 'Total number of failed login attempts',
|
|
}),
|
|
makeGaugeProvider({
|
|
name: 'sso_active_sessions',
|
|
help: 'Number of active sessions',
|
|
}),
|
|
],
|
|
exports: [MetricsService],
|
|
})
|
|
export class MetricsModule {}
|