Sari la conținutul principal

Diagnosticare sistem și analiză utilizare

Libre WebUI oferă adminilor System pentru host/runtime și Usage pentru utilizarea modelelor și furnizorilor. Ambele sunt admin-only în backend și UI și citesc din instalație. Telemetria externă este calea separată Observability.

Se deschid din sidebar sau direct la /system și /usage. Non-adminii nu au acces, iar filele se închid când contul pierde rolul admin.

Diagnosticare sistem​

/system raportează:

  • Host: hostname, platformă, kernel, arhitectură, uptime, CPU logic/model, load average și containerizare. Nu există procent CPU.
  • Runtime: versiune aplicație/Node.js, PID, uptime, director.
  • Memorie: totală, liberă, folosită, RSS și heap.
  • Filesystem: capacitate/utilizare / și DATA_DIR.
  • Rețea: interfețe/adrese și bytes Linux.
  • Docker: engine, OS, kernel, CPU/memorie, număr și listă redusă dacă socketul există.

Se reîmprospătează la 30 s cu focus și manual. GET /api/system cere autentificare, admin activ și limită 120/15 minute per utilizator. Răspunsul are Cache-Control: no-store și valori proaspete.

Socket Docker​

Se alege WORK_DOCKER_SOCKET (cale Unix), altfel DOCKER_HOST (unix:// sau HTTP tcp:// proxy), altfel /var/run/docker.sock. ssh://, npipe:// și TLS tcp:// nu sunt interogate. Numai engine GET read-only pentru version/info/list, timeout 4 s, răspuns limitat și 100 containere.

Fără socket, restul paginii merge și panelul explică not mounted, unreadable, daemon unreachable sau remote endpoint.

Ce dezvăluie​

Lista are ID scurt, nume, image, stare, timp. Fără env, labels, mounts, commands, inspect sau credentiale. Totuși arată hostname, director, IP-uri și toate containerele hostului. În Docker, admin Libre este efectiv host admin (vezi Docker); atribuiți admin corespunzător.

Analiză utilizare​

/usage măsoară lucrul atribuit utilizatorilor:

  • Ollama Chat și Work local;
  • apeluri chat prin agenți CLI instalați și apeluri ale motorului Strands;
  • plugin chat streaming/non-streaming;
  • embeddings, imagini, STT, TTS, audio, video; și
  • Work prin plugin.

Operațiile fără proprietar nu primesc cont sintetic. Eșecul/anularea se înregistrează.

Evenimentul conține:

  • provider/plugin id și snapshot nume (ollama și agent-cli:* în același ledger ca furnizorii plugin)
  • capability (chat, embedding, image, stt, tts, audio, video)
  • model, status success/error/cancelled
  • tokenuri doar dacă sunt raportate
  • unități potrivite (caractere, imagini, inputs, jobs, bytes)
  • durată, timestamp, user id

Nimic altceva. Prompturi, răspunsuri, endpoint-uri, credentiale și error body nu se scriu; eșecul doar status = 'error'. Datele sunt în SQLite solo/PostgreSQL team și se păstrează 400 zile, curățate cel mult zilnic. Măsurarea este best-effort și nu poate eșua cererea.

Endpoint-ul GET /api/plugins/usage?days=<1..365> (implicit 30) oferă 7/30/90 zile, calls, tokenuri, success rate, latency și ponderea apelurilor care au raportat tokenuri. Citirea paginii este read-only, peste registrul de utilizare existent al instalării.

Utilizarea agenților​

Secțiunea Agents, sus (Apeluri către agenții CLI și motorul Strands), arată separat Claude Code, Codex, OpenCode, Pi și Strands: apeluri, tokenuri raportate, eșecuri sau anulări, durata medie și până la 20 de modele principale. Totalurile includ toate apelurile din perioadă, indiferent de limitele tabelelor generale. Sunt submulțimi ale totalurilor paginii, nu evenimente facturabile suplimentare.

Fără înregistrări apare No recorded calls in this period. Nu indică dacă CLI este instalată sau autentificată. Fără metadate de token apare Tokens not reported; lipsurile nu sunt estimate. Pagina vizibilă se actualizează la 20 de secunde și permite actualizarea manuală.

CLI înregistrează o invocare și contoarele raportate. Instantaneele cumulative le înlocuiesc pe cele vechi, iar rapoartele repetate pe pași sunt deduplicate. Cache și raționament se combină conform protocolului CLI, fără dublarea submulțimilor. Anulările și răspunsurile parțiale cu ieșire nereușită păstrează rezultatul real.

Apelurile Strands sunt atribuite agentului Strands. Motorul nu are un furnizor de modele propriu; fiecare apel de model pe care îl face trece prin furnizorii Ollama sau plugin ai Libre WebUI. Apelurile externe nu se importă; înregistrările vechi fără tokenuri rămân nemăsurate.

Endpointul expune detalierea limitată în agents, inclusiv toate cele cinci nume când contoarele sunt zero. Citirea nu descoperă modele CLI, nu lansează agenți și nu contactează furnizori. Serverele vechi fără câmp pot arăta agenții înregistrați din detalierea furnizorilor; absența unei intrări nu este prezentată ca utilizare zero confirmată.

Explorarea modelelor și furnizorilor​

Culorile modelelor leagă graficul zilnic, calendarul anual de activitate, tabelul de modele și barele furnizorilor, alături de nume, valori și indicatori de selecție. Calendarul acoperă mereu ultimele 365 de zile, indiferent de intervalul ales; culoarea fiecărei zile arată modelul ei cel mai folosit.

Graficul comută între Calls și Tokens. Hover sau focus de tastatură pe un model din legendă îi urmărește linia; selectarea o menține evidențiată, o nouă selectare o eliberează, iar Afișează toate modelele revine la start. Aceeași acțiune există și în tabel. Evidențierea schimbă doar accentul, nu totalurile zilnice, valorile din tabel sau totalurile furnizorilor.

Mutați indicatorul peste grafic sau folosiți Explorează utilizarea zilnică pentru totalul unei zile și defalcarea pe modele. Glisorul zilnic acceptă tastatura: săgețile trec între zile, Home/End ajung la prima/ultima zi. Intervalele zilnice și etichetele lor folosesc UTC.

Implicit, graficul arată primele 12 nume de modele după numărul de apeluri din perioadă, inclusiv în vizualizarea tokenuri. Orice model rămâne inspectabil individual: focalizarea sau selectarea unui model din tabel ori din detaliile furnizorului îi încarcă linia zilnică exactă, chiar dacă nu se află între cele 12. Un mesaj de încărcare numește modelul cerut cât timp i se preia istoricul.

Linia unui model suplimentar este separată de Alte modele, iar grupul rămas îi exclude apelurile, tokenurile raportate și eșecurile. Graficul conține cel mult 13 linii de modele denumite plus grupul rămas, iar valorile lor zilnice se reconciliază cu aceleași totaluri. Afișează toate modelele revine la vizualizarea implicită.

Liniile zilnice combină apelurile cu același nume de model înregistrat la toți furnizorii. Tabelul păstrează intrări separate furnizor/model, deci același model poate apărea la mai mulți furnizori. Modelele denumite își păstrează culorile proprii în tabel și în barele furnizorilor, inclusiv cele din afara graficului implicit.

Detaliile furnizorului arată ponderea cererilor, o bară împărțită pe modele, tokenurile raportate, apelurile eșuate sau anulate și timpul mediu de răspuns. Mixul de capabilități rămâne disponibil sub defalcările pe modele și furnizori.

Totalurile de tokenuri includ doar apelurile în care furnizorul a raportat metadate de utilizare. Procentul de acoperire face vizibilă raportarea parțială; valorile lipsă nu sunt niciodată estimate din cereri sau din alt model. O perioadă fără tokenuri raportate afișează o explicație în vizualizarea Tokens, iar istoricul cererilor rămâne disponibil în Calls.

Endpoint-ul include puncte zilnice pe modele în modelSeries. Parametrul opțional model cere un nume de model înregistrat exact, alături de cele 12 implicite, de exemplu GET /api/plugins/usage?days=30&model=<encoded-model-name>. Este același endpoint read-only rezervat administratorilor: interoghează registrul local de utilizare și nu apelează niciodată un furnizor de modele pentru istoric.

Parametrul opțional to fixează limita finală a cererii la un timestamp Unix în milisecunde. Cere model și acceptă doar un safe integer nenegativ, nu mai târziu decât ora curentă a serverului. Browserul trimite range.to din prezentarea generală când încarcă un model individual, păstrând limitele UTC de zi și an și excluzând apelurile de după acel moment. Fără to, endpoint-ul folosește ora curentă.

Încărcarea unui model păstrează cardurile, tabelul, totalurile furnizorilor și culorile din prezentarea generală. Linia zilnică se adaugă doar când limitele de timp și totalurile zilnice ale răspunsului corespund acelei prezentări. Limita de timp nu îngheață baza de date: dacă backfill-urile istorice sau ștergerile schimbă totalurile, browserul reîmprospătează mai întâi prezentarea generală.

Dacă un server mai vechi omite modelSeries, graficul arată seria agregată Toate modelele, cu explicația că defalcarea pe modele nu este disponibilă. Tabelul de modele rămâne disponibil; browserul nu deduce istoricul zilnic pe modele din totalurile perioadei sau din calendarul anual.

Nu există dezactivare și doar admin vede agregatul.

Adăugați Cost Governance pentru tarife, spend, budgets, alerts și export. Fără tarif/usage apare neprețuit, nu gratuit.

Atribuire OpenRouter​

Din 0.18.0, OpenRouter primește headere de atribuire (HTTP-Referer: https://librewebui.org, titlu, categorii) doar la https://openrouter.ai, niciodată custom/self-hosted, fără stocare locală suplimentară.

Documentație asociată​