UNPKG

@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
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