This commit is contained in:
Juergen Kunz
2025-07-02 11:33:50 +00:00
parent 7bd94884f4
commit 2f46b3c9f3
9 changed files with 688 additions and 300 deletions

View File

@@ -102,4 +102,30 @@ export interface IHealthStatus {
};
};
version?: string;
}
export interface INetworkMetrics {
totalBandwidth: {
in: number;
out: number;
};
activeConnections: number;
connectionDetails: IConnectionDetails[];
topEndpoints: Array<{
endpoint: string;
requests: number;
bandwidth: {
in: number;
out: number;
};
}>;
}
export interface IConnectionDetails {
remoteAddress: string;
protocol: 'http' | 'https' | 'smtp' | 'smtps';
state: 'connecting' | 'connected' | 'established' | 'closing';
startTime: number;
bytesIn: number;
bytesOut: number;
}

View File

@@ -0,0 +1,25 @@
import type * as data from '../data/index.js';
export interface IReq_GetCombinedMetrics {
method: 'getCombinedMetrics';
request: {
identity: data.IIdentity;
sections?: {
server?: boolean;
email?: boolean;
dns?: boolean;
security?: boolean;
network?: boolean;
};
};
response: {
metrics: {
server?: data.IServerStats;
email?: data.IEmailStats;
dns?: data.IDnsStats;
security?: data.ISecurityMetrics;
network?: data.INetworkMetrics;
};
timestamp: number;
};
}

View File

@@ -1,4 +1,5 @@
export * from './admin.js';
export * from './config.js';
export * from './logs.js';
export * from './stats.js';
export * from './stats.js';
export * from './combined.stats.js';