124 lines
6.1 KiB
Markdown
124 lines
6.1 KiB
Markdown
# Monitor
|
||
|
||
Everything this host is doing right now, plus each partner. Nothing on this tab changes the
|
||
system except the container controls — the rest is observation.
|
||
|
||
Two poll rates, deliberately split: CPU, memory and network refresh every second; everything
|
||
else every five. The slower payload is served from a cache the background writer refreshes once
|
||
a minute, so polling faster could not make it newer — it only decides how soon the page notices.
|
||
|
||
**Cards you do not have do not appear.** No GPU, no UPS, no VMs, no partner — the card is absent
|
||
rather than showing zeros. An empty card would be a permanent reminder of nothing.
|
||
|
||
---
|
||
|
||
## Reference — System, power, CPU, memory, network
|
||
|
||
| Card | What it tells you |
|
||
|---|---|
|
||
| System | Hostname, Unraid version, uptime, array state |
|
||
| Power | UPS load, battery and runtime. Absent when no UPS is configured |
|
||
| CPU | Per-core utilisation with a 2-minute history, plus package temperature |
|
||
| Memory | Used / cached / free, broken out rather than a single percentage |
|
||
| Network | Live rx/tx with a 2-minute history |
|
||
|
||
## Reference — Jobs, fallback, partner, containers
|
||
|
||
| Card | What it tells you |
|
||
|---|---|
|
||
| Scripts | What ran recently and how it exited. Click a row to open its log |
|
||
| Fallback | `NORMAL`, `FALLBACK`, `NO_INTERNET` or `DARK` — which tier this host is in |
|
||
| Partner | Each partner's uptime, load, memory and array state, over the mesh |
|
||
| Containers & VMs | Grouped by folder. Start and stop from here; stopping asks first |
|
||
|
||
## Reference — Sync, GPUs, transcodes, streams
|
||
|
||
| Card | What it tells you |
|
||
|---|---|
|
||
| Rsync | Last run per share, duration and outcome |
|
||
| GPU | Utilisation, VRAM and temperature, one card per GPU |
|
||
| Transcode | Ramdisk usage, SSD fallback, and the sessions currently running |
|
||
| Streams | What is playing now across Emby, Jellyfin and Plex |
|
||
|
||
## Reference — Health and storage
|
||
|
||
| Card | What it tells you |
|
||
|---|---|
|
||
| Watchdog | Roll-up across every watchdog. Healthy requires *every* strike set to be clear |
|
||
| Parity | Last check, its result, and when the next one is due |
|
||
| Pools | Each cache pool with its per-disk breakdown and live I/O |
|
||
| Array | Every array disk, its temperature against the warning thresholds, and live I/O |
|
||
|
||
## Reference — AI
|
||
|
||
Present only on the AI host with `$AI_ENABLED` true. Absent everywhere else, on the same rule
|
||
as the GPU and UPS cards.
|
||
|
||
| Card | What it tells you |
|
||
|---|---|
|
||
| AI | Model residency, context size, VRAM, index size and staleness, tokens used today |
|
||
| Conversations | The last `$AI_CHAT_HISTORY_MAX` chats. Click to reopen, × to delete |
|
||
| Assistant | Ask a question without leaving the dashboard |
|
||
| ⤢ | Expands the conversation to about two and a half times its height. Remembered |
|
||
| Profile buttons | Which contract answers — General Chat, Varaverk Assistant, Code Sketcher, Troubleshoot |
|
||
|
||
---
|
||
|
||
## The AI card leads with offload, not with size
|
||
|
||
`GPU offload` is the number worth watching. At 100% the model is fully resident and answers at
|
||
roughly 60 tokens per second on this hardware; with even a few layers pushed to CPU that falls
|
||
to about a quarter of it. Nothing else in the WebGUI surfaces it, and a model that has quietly
|
||
fallen back to partial offload is invisible until answers merely *feel* slow.
|
||
|
||
`Index` reports chunks and whether the index is stale. Stale means a tracked file is newer than
|
||
the last build — the assistant will still answer confidently, out of code that has since changed.
|
||
That is the one failure a grounded answer cannot reveal on its own, so it is stated rather than
|
||
implied.
|
||
|
||
These figures come from the same one-minute collection the AI tab's banner uses, so the two
|
||
cannot disagree about whether the model is loaded.
|
||
|
||
## The assistant here starts on General Chat
|
||
|
||
The AI tab starts on Varaverk Assistant, which answers only from this installation's
|
||
documentation and cites its sources. This card starts on General Chat instead, because the jobs
|
||
are different: the tab is where you go to interrogate the system, this is the box you type an
|
||
idle question into while watching the dashboard.
|
||
|
||
Nothing is lost by starting loose. A question that is genuinely about this installation is handed
|
||
to the strict profile automatically, and handed back if the documentation turns out not to cover
|
||
it. Starting strict would refuse ordinary questions to guard against a mistake the server already
|
||
prevents.
|
||
|
||
Switching profile with the buttons keeps what is on screen but stops sending earlier turns to the
|
||
model. Carrying cited, retrieval-grounded answers into a mode with no retrieval makes the model
|
||
keep referring to sources it can no longer see.
|
||
|
||
**Troubleshoot from here has no log open.** On the Scheduler tab it reads whatever log you have
|
||
in front of you; picked from the dashboard there is nothing attached, so it says so and tells you
|
||
how to give it evidence — open the log on the Scheduler tab, or name the script in the question,
|
||
which resolves that script's run record and log on its own. What it will not do is describe a log
|
||
it was never given.
|
||
|
||
## Conversations are shared with the AI tab
|
||
|
||
The same store backs both. Start a thread here, finish it on the AI tab, or the reverse — it is
|
||
one conversation, not two. Chats save themselves when a turn completes; there is no Save button,
|
||
because a conversation worth keeping is not reliably one you knew was worth keeping while you
|
||
were having it. The oldest drops off past `$AI_CHAT_HISTORY_MAX`.
|
||
|
||
Reopening a chat shows the turns as plain text. Sources, reasoning and timings describe one
|
||
generation and are not stored — redrawing them beside a transcript you may continue under a
|
||
different profile would be citing evidence for an answer that is no longer being made.
|
||
|
||
## What this tab will not do
|
||
|
||
It will not clear a watchdog strike, reset a counter, or start a parity check. Strike state
|
||
belongs to the watchdog that owns it, and a page that cleared strikes would silently undo an
|
||
escalation something was deliberately building toward.
|
||
|
||
Stopping a container asks first. Starting one does not — and either way the endpoint validates
|
||
the request against real inventory, so a stale page cannot act on a container that no longer
|
||
exists.
|