@inso_web/els-mcp
Version:
MCP-сервер поверх INSO Error Logs Service. Read-only tools (search, analytics, fingerprinting, correlations) для подключения Claude Desktop/Code и ChatGPT к логам ошибок. Streamable HTTP transport + stdio для npx-запуска.
51 lines • 1.79 kB
TypeScript
import type { Logger } from 'pino';
import type { RedisService } from '../cache/redis.js';
import type { ElsClient } from '../elsClient.js';
/**
* Health checks для k8s liveness/readiness probes.
*
* - `liveness` — всегда 200 OK, если процесс жив (EventLoop не deadlock'нут).
* Используется k8s `livenessProbe` для рестарта pod'а.
*
* - `readiness` — 200 если ВСЕ зависимости healthy:
* * Redis: `PING` → `PONG`
* * ELS upstream: HEAD/GET `/health` (или просто `/`)
* 503 если хотя бы одна failed. Используется k8s `readinessProbe`
* (исключение pod'а из service endpoints).
*
* HTTP transport подключает эти функции к Express routes `/els/healthz` и
* `/els/readyz` через DI.
*/
export interface LivenessResult {
status: 'ok';
uptimeSec: number;
version: string;
}
export interface ReadinessResult {
status: 'ready' | 'not_ready';
checks: {
redis: {
ok: boolean;
latencyMs?: number;
error?: string;
};
upstream: {
ok: boolean;
latencyMs?: number;
error?: string;
status?: number;
};
};
}
export declare function checkLiveness(): LivenessResult;
export interface ReadinessDeps {
redis?: RedisService | null;
elsClient?: ElsClient | null;
/** Override endpoint для probe; иначе используется heuristic /health. */
elsHealthPath?: string;
log?: Logger;
/** Timeout per check, ms. */
timeoutMs?: number;
}
export declare function checkReadiness(deps?: ReadinessDeps): Promise<ReadinessResult>;
//# sourceMappingURL=health.d.ts.map