Files
OmniRoute/docs/i18n/ml/docs/ops/MONITORING_GUIDE.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* feat(docs): mirror every docs/ page in all 65 locales

Extends the documentation mirrors from the 22-page core set (#13940) to
every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors
(6,208 new), language bars rewritten for the full locale list, state
adopted so the blocking drift gate now covers all 152 pages.

run-translation.mjs: an oversized block made only of table rows or list
items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is
cut at item boundaries and rejoined without a blank line — the single
16-40 KB request outlived the backend socket for verbose scripts. 48
older mirrors whose tables had lost rows were retranslated with --force.

* docs(i18n): refresh mirrors for the sources the base changed since the branch cut

Section-level retranslation of the 29 docs (and README.md) whose source
or mirrors moved on release/v3.8.51 during the run, then state adoption;
the drift gate is green again on the merged tree.
2026-09-18 13:16:46 -03:00

57 KiB

Monitoring & Observability Guide (മലയാളം)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


ചുരുക്കത്തിൽ: ബിൽറ്റ്-ഇൻ ആരോഗ്യ നിരീക്ഷണം, പ്രൊവൈഡർ ഓട്ടോപൈലറ്റ്, ക്വാട്ട ട്രാക്കിംഗ്, ഒബ്സർവബിലിറ്റി ഹുക്കുകൾ എന്നിവയോടെയാണ് OmniRoute ലഭ്യമാകുന്നത്. ഡാഷ്ബോർഡ്, അലേർട്ടുകൾ, ട്രബിൾഷൂട്ടിംഗ് എന്നിവ ഈ ഗൈഡിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്നു.

സ്രോതസ്സുകൾ:

  • src/lib/monitoring/observability.ts — ഒബ്സർവബിലിറ്റി സ്നാപ്പ്ഷോട്ട്
  • src/lib/monitoring/comboHealthAutopilot.ts — കോംബോ ഹെൽത്ത് ഓട്ടോപൈലറ്റ്
  • src/lib/monitoring/providerHealthAutopilot.ts — പ്രൊവൈഡർ ഓട്ടോപൈലറ്റ്
  • src/lib/monitoring/providerHealthMatrix.ts — പ്രൊവൈഡർ ഹെൽത്ത് മാട്രിക്സ്
  • src/lib/localHealthCheck.ts — ലോക്കൽ ഹെൽത്ത് പരിശോധന
  • src/lib/tokenHealthCheck.ts — ടോക്കൺ പുതുക്കലിന്റെ ആരോഗ്യം
  • src/lib/proxyHealth.ts — പ്രോക്സി ഹെൽത്ത് കാഷ് (PROXY_GUIDE.md-ൽ ഉൾപ്പെടുത്തിയിരിക്കുന്നു)

അവലോകനം

OmniRoute-ന് നിരീക്ഷണത്തിന്റെ 3 ലെയറുകൾ ഉണ്ട്:

┌──────────────────────────────────────────────────────────────┐
│  ലെയർ 1: സിസ്റ്റം ഹെൽത്ത് (സെർവർ തലം)                        │
│  ├─ localHealthCheck.ts — DB, പോർട്ടുകൾ, നേറ്റീവ് ഡിപെൻഡൻസികൾ │
│  ├─ db/healthCheck.ts — സമഗ്രത, FK, അനാഥ ആർട്ടിഫാക്റ്റുകൾ     │
│  └─ ഡാഷ്ബോർഡ്: /dashboard/health                            │
├──────────────────────────────────────────────────────────────┤
│  ലെയർ 2: പ്രൊവൈഡർ ഹെൽത്ത് (ഓരോ പ്രൊവൈഡറിനുമുള്ള പ്രതിരോധശേഷി) │
│  ├─ providerHealthAutopilot.ts — സർക്യൂട്ട് ബ്രേക്കർ, കൂൾഡൗണുകൾ │
│  ├─ providerHealthMatrix.ts — പ്രൊവൈഡർ/മോഡൽ അനുസരിച്ചുള്ള ഹെൽത്ത് സ്കോറുകൾ │
│  └─ ഡാഷ്ബോർഡ്: /dashboard/providers                         │
├──────────────────────────────────────────────────────────────┤
│  ലെയർ 3: ലൈവ് ഒബ്സർവബിലിറ്റി (റൺടൈം സ്നാപ്പ്ഷോട്ടുകൾ)          │
│  ├─ observability.ts — സർക്യൂട്ട് ബ്രേക്കറുകൾ, സെഷനുകൾ, ക്വാട്ട │
│  ├─ tokenHealthCheck.ts — OAuth ടോക്കൺ പുതുക്കലിന്റെ ആരോഗ്യം  │
│  └─ MCP ടൂളുകൾ: omniroute_get_health, omniroute_get_session_snapshot │
└──────────────────────────────────────────────────────────────┘

ഡാഷ്ബോർഡ് പേജുകൾ

/dashboard/health (സിസ്റ്റം ഹെൽത്ത്)

ഉയർന്ന തലത്തിലുള്ള ഹെൽത്ത് ഡാഷ്ബോർഡ് ഇനിപ്പറയുന്നവ കാണിക്കുന്നു:

വിഭാഗം കാണിക്കുന്നത്
സെർവർ നില പ്രവർത്തനസമയം, പതിപ്പ്, പോർട്ട്, സജീവ കണക്ഷനുകൾ
ഡാറ്റാബേസ് കണക്ഷൻ, സമഗ്രത, WAL വലുപ്പം, സമീപകാല മൈഗ്രേഷനുകൾ
പ്രൊവൈഡർ സംഗ്രഹം സജീവ എണ്ണം, ആരോഗ്യകരമായവയുടെ എണ്ണം, തുറന്ന ബ്രേക്കറുകളുടെ എണ്ണം
ക്വാട്ട മോണിറ്ററുകൾ സജീവ സെഷനുകൾ, അലേർട്ടിംഗ്, തീർന്നവ
സമീപകാല പിശകുകൾ സ്റ്റാക്ക് ട്രേസുകളോടുകൂടിയ അവസാന 10 പിശകുകൾ
റിസോഴ്സ് ഉപയോഗം മെമ്മറി, CPU, ഹീപ്പ് പ്രഷർ ഇൻഡിക്കേറ്റർ

/dashboard/providers (പ്രൊവൈഡർ ഹെൽത്ത്)

ഓരോ പ്രൊവൈഡറിനുമുള്ള ഡാഷ്ബോർഡ്:

കോളം വിവരണം
പ്രൊവൈഡർ പ്രൊവൈഡർ ID + പ്രദർശന നാമം
ആരോഗ്യം പച്ച/മഞ്ഞ/ചുവപ്പ് നില
സർക്യൂട്ട് തുറന്ന/അടച്ച/പകുതി തുറന്ന അവസ്ഥ
കണക്ഷനുകൾ കണക്ഷനുകളുടെ എണ്ണം, അവസാന പുതുക്കൽ
മോഡലുകൾ ലഭ്യമായ മോഡലുകൾ, ഓരോ മോഡലിന്റെയും ആരോഗ്യം
ചെലവ് ഇന്നത്തെ ചെലവ്, 7 ദിവസത്തെ പ്രവണത
പിശകുകൾ കഴിഞ്ഞ 24 മണിക്കൂറിലെ പിശകുകളുടെ എണ്ണം, പ്രധാന പിശക് ക്ലാസ്

കൂടുതൽ വിവരങ്ങൾ കാണാൻ ഒരു പ്രൊവൈഡറിൽ ക്ലിക്ക് ചെയ്യുക:

  • ലേറ്റൻസി വിഭജനത്തോടുകൂടിയ സമീപകാല അഭ്യർത്ഥനകൾ
  • ഓരോ കണക്ഷനുമുള്ള ഹെൽത്ത് സ്കോറുകൾ
  • ഓരോ മോഡലിനുമുള്ള ലോക്കൗട്ടുകൾ
  • ഓട്ടോപൈലറ്റ് ശുപാർശകൾ

/dashboard/quota (ക്വാട്ട ട്രാക്കിംഗ്)

ഓരോ API കീക്കും:

  • നിലവിലെ ഉപയോഗവും പരിധിയും (പ്രോഗ്രസ് ബാർ)
  • ക്വാട്ട പ്രവണത (30 ദിവസത്തെ ചാർട്ട്)
  • അടുത്ത റീസെറ്റ് സമയം
  • അലേർട്ട് ചരിത്രം

/dashboard/combos (കോംബോ ഹെൽത്ത്)

ഓരോ കോംബോയ്ക്കും:

  • സ്ട്രാറ്റജി + ടാർഗെറ്റുകൾ
  • ഓരോ ടാർഗെറ്റിന്റെയും ആരോഗ്യം
  • സമീപകാല ഫാൾബാക്ക് ഇവന്റുകൾ
  • വിജയനിരക്ക് (24 മണിക്കൂർ, 7 ദിവസം, 30 ദിവസം)

ആരോഗ്യ പരിശോധന API

OmniRoute രണ്ട് HTTP ആരോഗ്യ എൻഡ്പോയിന്റുകൾ നൽകുന്നു. ഓർക്കസ്ട്രേറ്ററുകൾക്കായി ഇവ പരസ്പരം മാറ്റി ഉപയോഗിക്കാവുന്നതല്ല.

പാത്ത് ഉദ്ദേശ്യം ഭാരം ഉപയോഗിക്കേണ്ടത്
GET /healthz ലൈഫ്സൈക്കിൾ ലൈവ്നസ്/റെഡിനസ് (ok / starting / stopping) നിസ്സാരം (ഫേസ് ഫ്ലാഗ് മാത്രം) Kubernetes readiness; HTTP ഉപയോഗിക്കേണ്ടതുണ്ടെങ്കിൽ സോഫ്റ്റ് liveness
GET /api/monitoring/health സമഗ്രമായ സിസ്റ്റം + പ്രൊവൈഡർ സംഗ്രഹം (DB, ഹീപ്പ്, കാറ്റലോഗ് എണ്ണങ്ങൾ, …) ഭാരമേറിയത് (സിങ്ക്രണസ് DB / മോണിറ്ററിംഗ് പ്രവർത്തനം) ഡാഷ്ബോർഡുകൾ, ബ്ലാക്ക്ബോക്സ് സമഗ്ര പരിശോധനകൾ, Docker-ന്റെ ബിൽറ്റ്-ഇൻ ഹെൽത്ത് ചെക്ക്

കുറിപ്പ്: പ്രൊവൈഡർ ആരോഗ്യ മാട്രിസുകൾ, ഓട്ടോപൈലറ്റ് പ്രശ്നങ്ങൾ, ക്വോട്ട മോണിറ്ററുകൾ, ടോക്കൺ ആരോഗ്യം, /api/monitoring/health-നപ്പുറമുള്ള ലേറ്റൻസി വിശദാംശങ്ങൾ എന്നിവ MCP ടൂൾ observability_snapshot വഴിയോ ഡാഷ്ബോർഡ് പേജുകൾ വഴിയോ ലഭ്യമാണ് — അവയ്ക്കായി പ്രത്യേക REST റൂട്ടുകളൊന്നുമില്ല.

അഭ്യർത്ഥനകൾ കൈകാര്യം ചെയ്യുന്ന അതേ Node ഇവന്റ് ലൂപ്പിലാണ് രണ്ട് റൂട്ടുകളും പ്രവർത്തിക്കുന്നത്. CPU-ബൗണ്ട് പാത്തിന് (വലിയ GET /v1/models കാറ്റലോഗ് പ്രവർത്തനം, ദൈർഘ്യമേറിയ കോൺടെക്സ്റ്റ് കംപ്രഷൻ / ടോക്കൺ എണ്ണൽ) /healthz ഉൾപ്പെടെ എല്ലാ HTTP ഹാൻഡ്ലറുകളെയും വൈകിപ്പിക്കാൻ കഴിയും. ഇവന്റ് ലൂപ്പ് തിരക്കിലാണ് ≠ പ്രോസസ് പ്രവർത്തനരഹിതമാണ്. അമിതമായി വിഭവങ്ങൾ ഉപയോഗിക്കുന്ന ഭാഗം പരിഹരിക്കുന്നതിനാണ് മുൻഗണന നൽകേണ്ടത്; പ്രോബ് ട്യൂണിങ് തെറ്റായ കില്ലുകൾ കുറയ്ക്കുക മാത്രമേ ചെയ്യൂ.

ലഘുവായ ഓർക്കസ്ട്രേറ്റർ പ്രോബ്

GET /healthz
# അല്ലെങ്കിൽ HEAD /healthz
  • സെർവർ ലൈഫ്സൈക്കിൾ ഫേസ് തയ്യാറായിരിക്കുമ്പോൾ 200 + ബോഡി ok
  • ബൂട്ട് അല്ലെങ്കിൽ ഷട്ട്ഡൗൺ സമയത്ത് 503 + starting / stopping
  • ഇംപ്ലിമെന്റേഷൻ: src/app/healthz/route.ts (DB പിങ് ഇല്ല)

സിസ്റ്റം ആരോഗ്യം (സമഗ്രം)

GET /api/monitoring/health

പ്രതികരണം:

{
  "status": "healthy",
  "version": "3.8.16",
  "uptime": 123456,
  "checks": {
    "database": { "status": "pass", "latency_ms": 2 },
    "writeable": { "status": "pass" },
    "integrity": { "status": "pass", "result": "ok" },
    "foreign_keys": { "status": "pass", "violations": 0 },
    "heap_pressure": { "status": "pass", "usage_mb": 142, "threshold_mb": 512 },
    "active_sessions": 12,
    "providers": {
      "total": 7,
      "healthy": 6,
      "degraded": 1,
      "down": 0
    }
  }
}

credentialHealth: പ്രോബ്-കാഷ് vs SQLite test_status

GET /api/monitoring/healthcredentialHealth എന്നത് provider_connections.test_status-ന്റെ തത്സമയ ഡംപ് അല്ല, മറിച്ച് ഇൻ-മെമ്മറി പ്രോബ്-കാഷ് ഗേജ് ആണ്. #12532-ന് ശേഷം അഭ്യർത്ഥന പാത്ത് getCachedCredentialHealthSummary() മാത്രം വായിക്കുന്നു; പശ്ചാത്തല പ്രോബുകൾ ഇവന്റ് ലൂപ്പിന് പുറത്തുനിന്ന് കാഷ് പുതുക്കുന്നു.

ലെയർ എവിടെ അതിന്റെ അർത്ഥം
പ്രോബ്-കാഷ് ഗേജ് credentialHealth.total / healthy / failed / unknown / stale പ്രോസസ് മെമ്മറിയിൽ ഇപ്പോഴും സൂക്ഷിച്ചിരിക്കുന്ന ഏറ്റവും ഒടുവിലത്തെ ക്രെഡൻഷ്യൽ-ഹെൽത്ത് പ്രോബ് ഫലങ്ങൾ. source എല്ലായ്പ്പോഴും probe-cache ആയിരിക്കും.
പരാജയപ്പെട്ട കണക്ഷന്റെ വിശദാംശം credentialHealth.failedConnections failed > 0 ആകുമ്പോൾ മാത്രം ഉണ്ടായിരിക്കും. status=error ഉള്ള കാഷ് റോകളുടെ പരിമിതപ്പെടുത്തിയ പട്ടിക (connectionId, status, സാനിറ്റൈസ് ചെയ്ത lastError / lastErrorType). പട്ടിക പരിമിതപ്പെടുത്തിയിട്ടുണ്ടെങ്കിൽ failedOmitted സജ്ജമാക്കും.
SQLite സ്റ്റിക്കി സ്റ്റാറ്റസ് credentialHealth.staleDbNonOkCount നിലനിൽക്കുന്ന test_status, അറിയപ്പെടുന്ന non-ok മൂല്യമായ (error, expired, credits_exhausted, banned, deactivated, unavailable) സജീവ (is_active=1) കണക്ഷൻ റോകളുടെ എണ്ണം.

രണ്ട് ലെയറുകളും ഉദ്ദേശ്യപൂർവം വ്യത്യസ്തമായിരിക്കാം:

  • ഗേജ് failed=0 ആയിരിക്കുമ്പോൾ staleDbNonOkCount>0 — ഏറ്റവും പുതിയ പ്രോബ്-കാഷ് സ്നാപ്പ്ഷോട്ട് status=error ആയി എണ്ണാത്ത ഒരു സ്റ്റിക്കി test_status (ഉദാഹരണത്തിന് expired അല്ലെങ്കിൽ credits_exhausted) ഇപ്പോഴും SQLite-ൽ ഉണ്ട്.
  • ഗേജ് failed>0 ആയിരിക്കുമ്പോൾ SQLite ആരോഗ്യകരമായി കാണപ്പെടുന്നു — സമീപകാല പ്രോബ് പരാജയപ്പെട്ട് കാഷ് ചെയ്തിരിക്കുന്നു; DB റോ ഇതുവരെ അപ്ഡേറ്റ് ചെയ്തിട്ടില്ല, അല്ലെങ്കിൽ പിന്നീട് മായ്ച്ചിരിക്കുന്നു.

ഈ എൻഡ്പോയിന്റ് സ്ക്രേപ്പ് ചെയ്യുമ്പോൾ provider_connections.test_status മാത്രം അടിസ്ഥാനമാക്കി അലേർട്ട് ചെയ്യരുത്. തത്സമയ പ്രോബ് പരാജയങ്ങൾക്ക് failed + failedConnections ഉപയോഗിക്കുക; നിലനിൽക്കുന്ന സ്റ്റിക്കി-സ്റ്റാറ്റസ് എണ്ണം ആവശ്യമുള്ളപ്പോൾ staleDbNonOkCount ഉപയോഗിക്കുക.

Kubernetes പ്രോബ് ശുപാർശകൾ

OmniRoute ഒരു ഒറ്റ Node പ്രോസസ് ആണ് (ഒരു ഇവന്റ് ലൂപ്പ്). സ്റ്റോക്ക് Docker HEALTHCHECK ലഘുവായ /healthz-നെയാണ് ലക്ഷ്യമിടുന്നത്. kubelet ലൈവ്നസ് ഇടവേളകൾക്ക് /api/monitoring/health വളരെ ഭാരമേറിയതാണ്.

പ്രോബ് ശുപാർശ ചെയ്യുന്ന ലക്ഷ്യം കുറിപ്പുകൾ
സ്റ്റാർട്ടപ്പ് ദീർഘമായ failureThreshold (അല്ലെങ്കിൽ വലിയ startPeriod) ഉള്ള HTTP GET /healthz കോൾഡ് സ്റ്റാർട്ട് + SQLite മൈഗ്രേഷൻ ഏതാനും സെക്കൻഡുകൾ കവിഞ്ഞേക്കാം
റെഡിനസ് HTTP GET /healthz ലൈഫ്സൈക്കിൾ ok / starting / stopping (200, 503 എന്നിവ). ലൂപ്പ് CPU-ബ്ലോക്ക് ചെയ്യപ്പെട്ടാൽ ഇപ്പോഴും നില മാറിക്കൊണ്ടിരിക്കും. പ്രതികരണത്തിന് ഒന്നിലധികം സെക്കൻഡ് എടുക്കുന്ന 200 ആരോഗ്യകരമല്ല (#10303) — 3-ബൈറ്റ് ഹാൻഡ്ലർ പ്രവർത്തിക്കുന്നതിന് മുമ്പ് ഇവന്റ് ലൂപ്പിന് പ്രവർത്തനസമയം ലഭിച്ചിരുന്നില്ല എന്നാണ് അതിനർത്ഥം
ലൈവ്നസ് HTTP GET /livez, അല്ലെങ്കിൽ പ്രധാന സേവന പോർട്ടിലെ TCP (PORT, ഡിഫോൾട്ട് 20128) /livez പ്രോസസ് പ്രവർത്തിക്കുന്നുണ്ടോ എന്ന് മാത്രം പരിശോധിക്കുന്നു (ഹാൻഡ്ലർ പ്രവർത്തിച്ചാൽ എല്ലായ്പ്പോഴും 200). ഇതും ഇവന്റ് ലൂപ്പ് പങ്കിടുന്നു — തിരക്കിലായത് ≠ പ്രവർത്തനരഹിതമായത്, കൂടാതെ TCP-യെക്കാൾ മെച്ചമായി ഇവന്റ്-ലൂപ്പ് പ്രവർത്തനതടസ്സം (#10303) ഇത് കണ്ടെത്തുന്നില്ല. കാറ്റലോഗ്/കംപ്രഷൻ ലോഡിൽ HTTP പ്രോബുകൾ ടൈംഔട്ട് ആകുന്നുവെങ്കിൽ TCP തിരഞ്ഞെടുക്കുക; ഏത് രീതിയിലായാലും ചെറിയ ഇവന്റ്-ലൂപ്പ് തടസ്സങ്ങൾ കാരണം പോഡ് നിർത്തരുത്
ഡീപ് ഹെൽത്ത് ഒരു ബാഹ്യ ചെക്കറിൽ നിന്നുള്ള GET /api/monitoring/health kubelet livenessProbe / കർശനമായ readinessProbe എന്നിവയ്ക്കുള്ളതല്ല

ഉദാഹരണ ഘടന (നിങ്ങളുടെ കോൾഡ്-സ്റ്റാർട്ട്, കംപ്രഷൻ ലോഡ് എന്നിവയ്ക്ക് അനുസരിച്ച് ത്രെഷോൾഡുകൾ ക്രമീകരിക്കുക):

ports:
  - name: http
    containerPort: 20128
startupProbe:
  httpGet:
    path: /healthz
    port: http
  failureThreshold: 30
  periodSeconds: 5
readinessProbe:
  httpGet:
    path: /healthz
    port: http
  periodSeconds: 5
  timeoutSeconds: 2
  failureThreshold: 6
livenessProbe:
  httpGet:
    path: /livez
    port: http
  periodSeconds: 10
  timeoutSeconds: 3
  failureThreshold: 6
  # ഇവന്റ്-ലൂപ്പ് തടസ്സപ്പെടുമ്പോൾ HTTP /livez ഇപ്പോഴും ടൈംഔട്ട് ആയേക്കാം. TCP ആണ്
  # കൂടുതൽ സുരക്ഷിതമായ ബദൽ:
  # tcpSocket:
  #   port: http

kubelet ലൈവ്നസ് /api/monitoring/health-ലേക്ക് ചൂണ്ടിക്കാണിക്കരുത്. ആ പാത്ത് യഥാർത്ഥ DB/മോണിറ്ററിംഗ് പ്രവർത്തനങ്ങൾ നിർവഹിക്കുന്നതിനാൽ ലോഡിൽ തെറ്റായ പോസിറ്റീവ് ഫലമുണ്ടാകും.

ബന്ധപ്പെട്ടവ: #10052 (ഇവന്റ് ലൂപ്പ് തിരക്കിലായിരിക്കുമ്പോഴുള്ള പ്രോബുകൾ), #9685 / #10055 (കാറ്റലോഗ് പ്രൈസിംഗ് അമിതമായി വിഭവങ്ങൾ ഉപയോഗിക്കുന്നത്), #10117 (കംപ്രഷൻ ടോക്കൺ-കൗണ്ടിംഗ് അമിതമായി വിഭവങ്ങൾ ഉപയോഗിക്കുന്നത്).

ഐച്ഛിക റിക്വസ്റ്റ്-പാത്ത് പ്രവർത്തനം (മെമ്മറി, സ്കില്ലുകൾ, ടോക്കൺ പുതുക്കൽ)

മെമ്മറി എക്സ്ട്രാക്ഷൻ, സ്കിൽ ഇൻജക്ഷൻ, OAuth ടോക്കൺ പുതുക്കൽ എന്നിവ /healthz-നൊപ്പം പ്രധാന Node ഇവന്റ് ലൂപ്പ് പങ്കിടുന്നു. അവ ഡാഷ്ബോർഡ്-ടോഗിൾ സവിശേഷതകളാണ് (memoryEnabled, skillsEnabled), വർക്കർ പൂൾ അല്ല. പരിസ്ഥിതി — ഇവന്റ്-ലൂപ്പ് ചെലവ് കാണുക.

പ്രൊവൈഡർ ഹെൽത്ത്

REST എൻഡ്പോയിന്റ് ഇല്ല. പ്രൊവൈഡർ ഹെൽത്ത് ഡാറ്റ MCP ടൂൾ observability_snapshot വഴിയോ ഡാഷ്ബോർഡിലെ /dashboard/providers പേജ് വഴിയോ ലഭ്യമാണ്.

പ്രൊവൈഡർ വിശദാംശങ്ങൾ

REST എൻഡ്പോയിന്റ് ഇല്ല. ഓരോ പ്രൊവൈഡറിന്റെയും വിശദാംശങ്ങൾ ഡാഷ്ബോർഡിലെ /dashboard/providers പേജിൽ ലഭ്യമാണ്.


പ്രൊവൈഡർ ഹെൽത്ത് ഓട്ടോപൈലറ്റ്

providerHealthAutopilot.ts മൊഡ്യൂൾ ഇനിപ്പറയുന്ന കാര്യങ്ങൾ ചെയ്യുന്ന ഒരു സ്വയം സുഖപ്പെടുന്ന സിസ്റ്റമാണ്:

  1. പ്രൊവൈഡറിലെ പ്രശ്നങ്ങൾ കണ്ടെത്തുന്നു (സർക്യൂട്ട് തുറന്നിരിക്കുക, കൂൾഡൗണുകൾ, ലോക്കൗട്ടുകൾ, ക്വോട്ട മുന്നറിയിപ്പുകൾ)
  2. അവ പരിഹരിക്കുന്നതിനുള്ള ശുപാർശചെയ്ത നടപടികൾ സൃഷ്ടിക്കുന്നു
  3. കുറഞ്ഞ അപകടസാധ്യതയുള്ള നടപടികൾ വേണമെങ്കിൽ സ്വയമേവ നടപ്പിലാക്കുന്നു

കണ്ടെത്തുന്ന പ്രശ്ന തരങ്ങൾ

പ്രശ്ന തരം തീവ്രത ഉദാഹരണ സാഹചര്യം
provider_circuit_open ഗുരുതരം 5 പരാജയങ്ങൾക്കുശേഷം സർക്യൂട്ട് ബ്രേക്കർ തുറന്നിരിക്കുന്നു
provider_circuit_half_open മുന്നറിയിപ്പ് സർക്യൂട്ട് വീണ്ടെടുക്കൽ പരിശോധിക്കുന്നു
connection_cooldown മുന്നറിയിപ്പ് 429-നുശേഷം കണക്ഷൻ കൂൾഡൗണിലാണ്
stale_connection_error മുന്നറിയിപ്പ് അവസാന റിഫ്രഷ് 30+ മിനിറ്റ് മുമ്പ് പരാജയപ്പെട്ടു
terminal_connection_error ഗുരുതരം OAuth പിൻവലിച്ചു, കീ അസാധുവാണ്
inactive_connection വിവരം ക്രമീകരണങ്ങളിൽ കണക്ഷൻ പ്രവർത്തനരഹിതമാക്കി
model_lockout മുന്നറിയിപ്പ് നിർദ്ദിഷ്ട മോഡൽ ക്വാറന്റൈനിലാണ്
quota_monitor_warning മുന്നറിയിപ്പ് ക്വോട്ട ഉപയോഗം 80%+ ആണ്

സൃഷ്ടിക്കുന്ന നടപടി തരങ്ങൾ

നടപടി അപകടസാധ്യത വിവരണം
clear_provider_breaker മധ്യമം സർക്യൂട്ട് ബ്രേക്കർ അടഞ്ഞ നിലയിലേക്ക് പുനഃസജ്ജമാക്കുക
clear_connection_cooldown കുറവ് ഒരു കണക്ഷനിൽനിന്ന് കൂൾഡൗൺ നീക്കംചെയ്യുക
clear_stale_connection_error കുറവ് കാലഹരണപ്പെട്ട പിശക് ഫ്ലാഗ് മായ്ക്കുക
clear_model_lockout കുറവ് ക്വാറന്റൈനിലുള്ള മോഡൽ വീണ്ടും പ്രവർത്തനക്ഷമമാക്കുക
reactivate_connection മധ്യമം പ്രവർത്തനരഹിതമാക്കിയ കണക്ഷൻ വീണ്ടും പ്രവർത്തനക്ഷമമാക്കുക
deactivate_connection ഉയർന്നത് പ്രശ്നകരമായ കണക്ഷൻ പ്രവർത്തനരഹിതമാക്കുക

API

REST എൻഡ്പോയിന്റ് ഇല്ല. ഓട്ടോപൈലറ്റ് പ്രശ്നങ്ങൾ MCP ടൂൾ observability_snapshot വഴിയോ ഡാഷ്ബോർഡിലൂടെയോ ലഭ്യമാണ്. ഓട്ടോപൈലറ്റ് ആന്തരികമായി പ്രവർത്തിക്കുന്നു; അതിന്റെ പെരുമാറ്റം പരിസ്ഥിതി വേരിയബിളുകൾ വഴിയല്ല, ക്രമീകരണ DB-യിലെ (ഓരോ കണക്ഷനിലുമുള്ള autopilotMode ഫീൽഡ്) ക്രമീകരണങ്ങളിലൂടെയാണ് നിർണ്ണയിക്കുന്നത് — ഓട്ടോപൈലറ്റ്-മോഡ് env var-നായി grep -rn പ്രവർത്തിപ്പിച്ചാൽ ഫലങ്ങളൊന്നും ലഭിക്കില്ല.

ഓട്ടോപൈലറ്റ് മോഡ്

ഓട്ടോപൈലറ്റ് സ്ഥിരസ്ഥിതിയായി മാനുവൽ മോഡിലാണ് പ്രവർത്തിക്കുന്നത് — ഇത് പ്രശ്നങ്ങൾ കണ്ടെത്തുകയും ശുപാർശചെയ്ത നടപടികൾ സൃഷ്ടിക്കുകയും ചെയ്യുന്നു, എന്നാൽ അവ സ്വയമേവ പ്രയോഗിക്കുന്നില്ല. ഡാഷ്ബോർഡ് വഴി നടപടികൾ പ്രയോഗിക്കാം.


കോമ്പോ ഹെൽത്ത് ഓട്ടോപൈലറ്റ്

comboHealthAutopilot.ts എന്നത് പ്രൊവൈഡർ ഓട്ടോപൈലറ്റിന്റെ കോമ്പോ-നിർദ്ദിഷ്ട പതിപ്പാണ്. ഇത്:

  • അനാരോഗ്യകരമായ കോമ്പോകൾ കണ്ടെത്തുന്നു
  • ടാർഗെറ്റുകളുടെ ക്രമം മാറ്റാൻ ശുപാർശചെയ്യുന്നു
  • തകരാറിലായ ടാർഗെറ്റുകൾ പ്രവർത്തനരഹിതമാക്കാൻ നിർദ്ദേശിക്കുന്നു
  • N പരാജയങ്ങൾക്കുശേഷം പ്രവർത്തനരഹിതമായ ടാർഗെറ്റുകൾ സ്വയമേവ നീക്കംചെയ്യുന്നു

കോമ്പോ പ്രശ്നങ്ങളുടെ ഉദാഹരണങ്ങൾ

കോമ്പോ "always-on" (മുൻഗണനാ തന്ത്രം)
├─ ടാർഗെറ്റ് 1: openai/gpt-5 (ആരോഗ്യകരം)
├─ ടാർഗെറ്റ് 2: anthropic/claude-opus-4-6 (⚠️ 14:00 വരെ മോഡൽ ലോക്കൗട്ട്)
└─ ടാർഗെറ്റ് 3: kiro/claude-sonnet-4-5 (ആരോഗ്യകരം)

ശുപാർശചെയ്ത നടപടി: ക്രമം മാറ്റുക — ലോക്കൗട്ട് അവസാനിക്കുന്നതുവരെ kiro-യെ anthropic-ന് മുകളിലേക്ക് നീക്കുക

ക്വോട്ട മോണിറ്ററുകൾ

സബ്സ്ക്രിപ്ഷൻ പ്രൊവൈഡറുകൾക്കായി (Claude Code, Codex, GitHub Copilot) observability.ts ഓരോ സെഷനുമുള്ള ക്വോട്ട മോണിറ്ററുകൾ ലഭ്യമാക്കുന്നു:

interface QuotaMonitorSnapshot {
  sessionId: string;
  provider: string;
  accountId: string;
  status: "starting" | "idle" | "healthy" | "warning" | "exhausted" | "error";
  lastQuotaPercent: number | null; // 0-100
  lastQuotaUsed: number | null;
  lastQuotaTotal: number | null;
  lastResetAt: string | null;
  nextPollAt: string | null;
  totalPolls: number;
  totalAlerts: number;
  consecutiveFailures: number;
}

സ്റ്റാറ്റസുകളുടെ അർത്ഥം

സ്റ്റാറ്റസ് എപ്പോൾ UI നടപടി
starting പ്രാരംഭ പോളിംഗ് പുരോഗമിക്കുന്നു സ്പിന്നർ
idle സമീപകാല പ്രവർത്തനമൊന്നുമില്ല ഡാഷ്ബോർഡിൽനിന്ന് മറയ്ക്കുന്നു
healthy ക്വോട്ടയിൽ > 50% ശേഷിക്കുന്നു പച്ച ബിന്ദു
warning ക്വോട്ടയിൽ < 50% ശേഷിക്കുന്നു മഞ്ഞ മുന്നറിയിപ്പ്
exhausted ക്വോട്ട = 0% ചുവന്ന ബ്ലോക്ക്, അടുത്ത പ്രൊവൈഡറിലേക്ക് റൂട്ട് ചെയ്യുക
error പോളിംഗ് പരാജയപ്പെട്ടു ചുവന്ന ബിന്ദു, ഉടൻ വീണ്ടും ശ്രമിക്കുക

API

REST എൻഡ്പോയിന്റ് ഇല്ല. ക്വോട്ട മോണിറ്റർ ഡാറ്റ MCP ടൂൾ observability_snapshot വഴിയോ ഡാഷ്ബോർഡിലൂടെയോ ലഭ്യമാണ്.


നിരീക്ഷണക്ഷമതാ സ്നാപ്പ്ഷോട്ട്

MCP ടൂൾ observability_snapshot, AI ഏജന്റുകൾക്കായി ഒരു സമ്പൂർണ്ണ സിസ്റ്റം സ്നാപ്പ്ഷോട്ട് നൽകുന്നു:

{
  "circuitBreakers": [
    {
      "name": "openai",
      "state": "closed",
      "failureCount": 0,
      "lastFailureTime": null,
      "retryAfterMs": null
    }
  ],
  "sessions": [
    {
      "sessionId": "sess-123",
      "createdAt": 1234567890,
      "lastActive": 1234567999,
      "requestCount": 42,
      "connectionId": "conn-456",
      "ageMs": 109
    }
  ],
  "quotaMonitors": {/* മുകളിൽ കാണുക */},
  "uptime": 12345,
  "version": "3.8.16"
}

റൂട്ടിംഗ് തീരുമാനങ്ങൾ എടുക്കാൻ ഏജന്റുകൾ ഇത് ഉപയോഗിക്കുന്നു — ഉദാഹരണത്തിന്, "openai-യുടെ സർക്യൂട്ട് തുറന്നിരിക്കുകയാണെങ്കിൽ, ആദ്യം anthropic-ലേക്ക് റൂട്ട് ചെയ്യുക".


ടോക്കൺ ആരോഗ്യ പരിശോധന

OAuth പ്രൊവൈഡറുകൾക്ക് (Claude Code, GitHub Copilot, Cursor) ആനുകാലിക ടോക്കൺ പുതുക്കൽ ആവശ്യമാണ്. src/lib/tokenHealthCheck.ts ഒരു പശ്ചാത്തല ഷെഡ്യൂളർ പ്രവർത്തിപ്പിക്കുന്നു:

  • സ്വീപ്പ് ടിക്ക്: ഓരോ 60 സെക്കൻഡിലും (src/lib/tokenHealthCheck.ts:30-ലെ TICK_MS = 60 * 1000 സ്വീപ്പ്)
  • ഓരോ കണക്ഷനുമുള്ള ആരോഗ്യ പരിശോധനാ ഇടവേള: ഡിഫോൾട്ടായി 60 മിനിറ്റ് (DEFAULT_HEALTH_CHECK_INTERVAL_MIN = 60); ക്രമീകരണ DB വഴി കോൺഫിഗർ ചെയ്യാം
  • 401 ലഭിക്കുമ്പോഴുള്ള മുൻകരുതൽ പുതുക്കൽ: ഓരോ കണക്ഷനുമുള്ള ഇന്റർസെപ്റ്റർ കൈകാര്യം ചെയ്യുന്നു

ടോക്കൺ ആരോഗ്യനില

interface TokenHealth {
  connectionId: string;
  provider: string;
  status: "valid" | "expiring_soon" | "expired" | "refresh_failed";
  expiresAt: string;
  lastRefresh: string;
  nextRefresh: string;
  consecutiveFailures: number;
}

കോൺഫിഗറേഷൻ

ടോക്കൺ ആരോഗ്യ പരിശോധനാ കോൺഫിഗറേഷൻ tokenHealthCheck.ts ആന്തരികമായി കൈകാര്യം ചെയ്യുന്നു.

ടോക്കൺ ആരോഗ്യം

REST എൻഡ്പോയിന്റ് ഇല്ല. ടോക്കൺ ആരോഗ്യ ഡാറ്റ ഡാഷ്ബോർഡ് വഴിയോ MCP ടൂൾ observability_snapshot വഴിയോ ലഭ്യമാണ്.


അലേർട്ടിംഗ്

ബിൽറ്റ്-ഇൻ ചാനലുകൾ

OmniRoute 3 അലേർട്ട് ചാനലുകൾ പിന്തുണയ്ക്കുന്നു:

ചാനൽ സജ്ജീകരണം ഉപയോഗ സാഹചര്യം
ഡാഷ്ബോർഡ് ബാനർ എപ്പോഴും ഓൺ ആപ്പിനുള്ളിലെ അറിയിപ്പുകൾ
വെബ്ഹുക്ക് URL കോൺഫിഗർ ചെയ്യുക Slack, Discord, PagerDuty
ലോഗ് ഡിഫോൾട്ട് ബാഹ്യ ലോഗ് സമാഹരണത്തിനായി

വെബ്ഹുക്ക് കോൺഫിഗറേഷൻ

കുറിപ്പ്: വെബ്ഹുക്ക് അലേർട്ടിംഗ് കോൺഫിഗറേഷൻ ഡാഷ്ബോർഡിലെ Settings പേജ് വഴി കൈകാര്യം ചെയ്യുന്നു. വെബ്ഹുക്ക് URL, ഇവന്റ് ഫിൽട്ടറിംഗ്, പേലോഡ് കസ്റ്റമൈസേഷൻ എന്നിവയ്ക്കായി Settings UI കാണുക.

അലേർട്ട് തരങ്ങൾ

അലേർട്ട് എപ്പോൾ ഡിഫോൾട്ട് തീവ്രത
provider_circuit_open സർക്യൂട്ട് തുറക്കുമ്പോൾ നിർണായകം
provider_circuit_half_open സർക്യൂട്ട് വീണ്ടെടുക്കൽ പരീക്ഷിക്കുമ്പോൾ വിവരം
quota_warning ക്വാട്ട 80%+ ആകുമ്പോൾ മുന്നറിയിപ്പ്
quota_exhausted ക്വാട്ട 100% ആകുമ്പോൾ നിർണായകം
token_refresh_failed തുടർച്ചയായ 3+ പുതുക്കൽ പരാജയങ്ങൾ ഉണ്ടാകുമ്പോൾ മുന്നറിയിപ്പ്
token_expired ടോക്കൺ കാലഹരണപ്പെട്ടതിന് ശേഷം നിർണായകം
combo_target_unhealthy കോംബോ ടാർഗറ്റ് 1h+ കൂൾഡൗണിലായിരിക്കുമ്പോൾ മുന്നറിയിപ്പ്
db_integrity_warning FK ലംഘനങ്ങൾ > 0 ആയിരിക്കുമ്പോൾ മുന്നറിയിപ്പ്
heap_pressure ഹീപ് ഉപയോഗം പരിധിയുടെ > 80% ആകുമ്പോൾ മുന്നറിയിപ്പ്

പ്രകടന മെട്രിക്കുകൾ

ട്രാക്ക് ചെയ്യുന്ന മെട്രിക്കുകൾ

മെട്രിക് തരം ഉറവിടം
request_count കൗണ്ടർ services/usage.ts
request_latency_ms ഹിസ്റ്റോഗ്രാം services/usage.ts
tokens_consumed കൗണ്ടർ services/usage.ts
cost_usd കൗണ്ടർ services/usage.ts
provider_errors കൗണ്ടർ services/errorClassifier.ts
circuit_state_changes കൗണ്ടർ services/resilience.ts
cache_hits കൗണ്ടർ services/signatureCache.ts
compression_savings ഹിസ്റ്റോഗ്രാം services/compression/stats.ts
quota_used ഗേജ് services/quotaMonitor.ts
memory_used_mb ഗേജ് observability.ts

ലേറ്റൻസി പെർസെന്റൈലുകൾ (p50/p95/p99)

REST എൻഡ്പോയിന്റ് ഇല്ല. ലേറ്റൻസി പെർസെന്റൈൽ ഡാറ്റ ഡാഷ്ബോർഡിലെ /dashboard/health പേജിൽ ലഭ്യമാണ്. Prometheus/OpenTelemetry എക്സ്പോർട്ട് v3.9-നായി ആസൂത്രണം ചെയ്തിരിക്കുന്നു.

Prometheus / OpenTelemetry എക്സ്പോർട്ട് (ഘട്ടം 2)

v3.9-നായി ആസൂത്രണം ചെയ്തിരിക്കുന്നത്: Prometheus, OpenTelemetry, Datadog എന്നിവയിലേക്കുള്ള നേറ്റീവ് എക്സ്പോർട്ട്.

നിലവിൽ, ഏതെങ്കിലും HTTP-അധിഷ്ഠിത മോണിറ്ററിംഗ് സിസ്റ്റം (Prometheus blackbox exporter, Datadog HTTP check മുതലായവ) ഉപയോഗിച്ച് /api/monitoring/health സ്ക്രേപ്പ് ചെയ്യുക.


അലേർട്ടിംഗ് പാചകക്കുറിപ്പുകൾ

Slack

കുറിപ്പ്: ഡാഷ്ബോർഡിലെ Settings പേജ് വഴിയാണ് വെബ്ഹുക്ക് അലേർട്ടിംഗ് കോൺഫിഗർ ചെയ്യുന്നത് — ഇതിനായി പ്രത്യേക വെബ്ഹുക്ക് എൻവയോൺമെന്റ് വേരിയബിളുകൾ ഇല്ല (grep -rn പൂജ്യം ഫലങ്ങളാണ് നൽകുന്നത്). വെബ്ഹുക്ക് URL, ഇവന്റ് ഫിൽട്ടറിംഗ്, പേലോഡ് ഇഷ്ടാനുസൃതമാക്കൽ എന്നിവയ്ക്കായി Settings UI കാണുക.

Discord

വെബ്ഹുക്ക് അലേർട്ടിംഗ് Slack-ന്റെ അതേ Settings UI പ്രവാഹം ഉപയോഗിക്കുന്നു. Discord അതേ JSON പേലോഡ് ഘടന സ്വീകരിക്കുന്നു.

PagerDuty

വെബ്ഹുക്ക് അലേർട്ടിംഗ് അതേ Settings UI പ്രവാഹം ഉപയോഗിക്കുന്നു. PagerDuty Events API v2 റൂട്ടിംഗ് കീകൾ Settings UI-യിൽ കോൺഫിഗർ ചെയ്യുന്നു.

ഇഷ്ടാനുസൃത വെബ്ഹുക്ക് (JSON)

JSON ബോഡിയോടുകൂടിയ POST സ്വീകരിക്കുന്ന ഏത് HTTP എൻഡ്പോയിന്റും പ്രവർത്തിക്കും. Settings UI-യിൽ URL കോൺഫിഗർ ചെയ്യുക.


ഡാഷ്ബോർഡ് കോൺഫിഗറേഷൻ

Health ഡാഷ്ബോർഡ് ഇഷ്ടാനുസൃതമാക്കുക

ഒരു ~/.omniroute/dashboard.json സൃഷ്ടിക്കുക:

{
  "health": {
    "sections": ["server_status", "database", "providers", "quota_monitors", "recent_errors"],
    "refresh_interval_ms": 5000
  }
}

ഒരു പ്രൊവൈഡറെ മുകളിൽ പിൻ ചെയ്യുക

{
  "health": {
    "pinned_providers": ["openai", "anthropic"]
  }
}

പ്രശ്നപരിഹാരം

"പ്രൊവൈഡർ ആരോഗ്യകരമാണെന്ന് പറയുന്നു, പക്ഷേ അഭ്യർത്ഥനകൾ പരാജയപ്പെടുന്നു"

  1. autopilot പ്രശ്നങ്ങൾ പരിശോധിക്കുക — ഒരു മോഡൽ ലോക്ക് ഔട്ട് ആയിരിക്കാം
  2. നിർദ്ദിഷ്ട പിശക് ക്ലാസിനായി സമീപകാല പിശകുകൾ നോക്കുക
  3. പ്രൊവൈഡർ കാർഡിലെ കണക്ഷൻ ടെസ്റ്റ് പരീക്ഷിക്കുക
  4. പ്രൊവൈഡർ അപ്സ്ട്രീമിൽ റേറ്റ്-ലിമിറ്റ് ചെയ്യപ്പെട്ടിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുക (ലോക്കലായി ദൃശ്യമല്ല)

"ക്വോട്ട ആരോഗ്യകരമാണെന്ന് പറയുന്നു, പക്ഷേ എനിക്ക് 429-കൾ കാണുന്നു"

  • 429 എന്നത് നിങ്ങൾ ക്വോട്ട ഉപയോഗിച്ചുതീർത്തതായി പ്രൊവൈഡർ പറയുന്നു എന്നാണ് അർത്ഥം
  • OmniRoute-ന്റെ ക്വോട്ട ട്രാക്കിംഗ് കാലഹരണപ്പെട്ടത് ആയിരിക്കാം — പ്രൊവൈഡറുടെ അപ്സ്ട്രീം വിവരമാണ് ആധികാരികം
  • ആന്തരിക ക്വോട്ട മോണിറ്റർ വഴി ക്വോട്ട ഡാറ്റ സ്വയമേവ പുതുക്കപ്പെടുന്നു

"എല്ലാ ടാർഗറ്റുകളും ആരോഗ്യകരമായി കാണപ്പെടുന്നുണ്ടെങ്കിലും Combo പരാജയപ്പെടുന്നു"

  • ടാർഗറ്റ് ക്രമീകരണ പ്രശ്നങ്ങൾക്കായി combo health ഡാഷ്ബോർഡ് പരിശോധിക്കുക
  • fallback ഇവന്റുകൾ നോക്കുക — combo വളരെ വേഗത്തിൽ എല്ലാ ഓപ്ഷനുകളും ഉപയോഗിച്ചുതീർക്കുന്നുണ്ടാകാം
  • strategy നിങ്ങളുടെ ഉപയോഗ സാഹചര്യവുമായി പൊരുത്തപ്പെടുന്നുവെന്ന് ഉറപ്പാക്കുക (priority vs round-robin vs auto)

"ഡാറ്റാബേസ് ഹെൽത്ത് ചെക്ക് പരാജയപ്പെടുന്നു"

  • sqlite3 ~/.omniroute/storage.sqlite "PRAGMA integrity_check;" പ്രവർത്തിപ്പിക്കുക
  • "ok" ആണെങ്കിൽ — തെറ്റായ മുന്നറിയിപ്പാണ്; ഹെൽത്ത് ചെക്ക് ആവശ്യത്തിലധികം കർശനമാണ്
  • മറ്റെന്തെങ്കിലും ആണെങ്കിൽ — OmniRoute നിർത്തുക, തുടർന്ന് ദുരന്ത വീണ്ടെടുക്കൽ ഗൈഡ് പിന്തുടരുക

"മെമ്മറി ഹീപ്പ് സമ്മർദ്ദം ഗുരുതരമാണ്"

# നിലവിലെ ഹീപ്പ് പരിശോധിക്കുക
node -e "console.log(process.memoryUsage())"

# മാനുവൽ GC ട്രിഗർ ചെയ്യുക (--expose-gc ആണെങ്കിൽ)
node --expose-gc -e "global.gc(); console.log(process.memoryUsage())"

# ഒരേസമയം കൈകാര്യം ചെയ്യുന്ന അഭ്യർത്ഥനകളുടെ എണ്ണം കുറയ്ക്കുക (ഒരു env var വഴിയല്ല, ഡാഷ്ബോർഡിലെ Settings പേജ് വഴി സജ്ജീകരിക്കുക)
# `MAX_CONCURRENT_REQUESTS` env var ഇല്ല — Settings → Concurrency എന്നതിൽ ഇത് കോൺഫിഗർ ചെയ്യുക.

ഇതും കാണുക

  • USAGE_QUOTA_GUIDE.md — ഉപയോഗവും ചെലവും ട്രാക്കുചെയ്യൽ
  • DATABASE_GUIDE.md — DB സ്കീമ + ആരോഗ്യനില
  • PROXY_GUIDE.md — പ്രോക്സി ആരോഗ്യനില (പ്രത്യേക കാഷ്)
  • ARCHITECTURE.md — സിസ്റ്റം ആർക്കിടെക്ചർ
  • RESILIENCE_GUIDE.md — സർക്യൂട്ട് ബ്രേക്കറിന്റെ വിശദാംശങ്ങൾ
  • ഉറവിടം: src/lib/monitoring/ (4 ഫയലുകൾ, 2121 LOC)