Μετάβαση στο κύριο περιεχόμενο

Διαγνωστικά συστήματος και ανάλυση χρήσης

Το Libre WebUI δίνει στους διαχειριστές δύο ζωντανές προβολές: System για host και runtime και Usage για χρήση μοντέλων και παρόχων. Και οι δύο περιορίζονται σε admins στο backend και UI και διαβάζουν εντός της εγκατάστασης. Η εξωτερική τηλεμετρία είναι ξεχωριστή διαδρομή Observability.

Ανοίγουν από admin entries ή απευθείας στα /system και /usage. Μη admins δεν έχουν πρόσβαση και οι καρτέλες κλείνουν όταν λογαριασμός χάσει ρόλο admin.

Διαγνωστικά συστήματος

Η σελίδα (/system) αναφέρει:

  • Host: hostname, πλατφόρμα, kernel, αρχιτεκτονική, uptime, logical CPU, μοντέλο, load average και πιθανό container. Δεν υπάρχει ποσοστό utilization.
  • Runtime: έκδοση εφαρμογής και Node.js, process id, uptime και working directory.
  • Μνήμη: συνολική, ελεύθερη και χρησιμοποιούμενη host, RSS και heap διεργασίας.
  • Filesystems: χωρητικότητα/χρήση του / και DATA_DIR.
  • Network: interfaces και addresses, με counters bytes σε Linux.
  • Docker: engine, OS, kernel, CPU/memory και counts/περιορισμένη λίστα containers όταν υπάρχει socket.

Ανανεώνεται κάθε 30 δευτερόλεπτα με focus και χειροκίνητα. Το GET /api/system απαιτεί auth, ενεργό admin και όριο 120 ανά χρήστη/15 λεπτά. Αποκρίσεις έχουν Cache-Control: no-store και φρέσκες τιμές.

Εξάρτηση Docker socket

Το endpoint επιλέγεται όπως Work και Terminal: WORK_DOCKER_SOCKET (τοπικό Unix path), αλλιώς DOCKER_HOSTunix:// ή απλό HTTP tcp:// όπως filtered proxy — και αλλιώς /var/run/docker.sock. ssh://, npipe:// και tcp:// με TLS verify δεν ερωτώνται. Γίνονται μόνο read-only engine GET (version, info, list), timeout 4 s, bounded response και έως 100 containers.

Χωρίς usable socket, η υπόλοιπη σελίδα λειτουργεί και το panel εξηγεί: not mounted, unreadable, daemon unreachable ή remote endpoint.

Τι αποκαλύπτεται και σε ποιον

Η λίστα έχει short id, name, image, state και created time. Δεν περιλαμβάνει env, labels, mounts, commands, inspect payload ή credentials.

Παρόλα αυτά δείχνει πραγματική υποδομή — hostname, directory, internal IP και όλα τα containers του host, όχι μόνο Libre. Αυτό συμφωνεί με το μοντέλο: admin σε Docker είναι ουσιαστικά host admin (βλ. Docker). Δώστε admin ανάλογα.

Ανάλυση χρήσης

Η σελίδα (/usage) μετρά εργασία που αποδίδεται σε χρήστες και καλύπτει:

  • τοπικά Ollama Chat και Work·
  • εγκατεστημένα agent CLI·
  • plugin chat streaming και μη·
  • plugin embeddings, εικόνες, STT, TTS, ήχο και video· και
  • plugin Work.

Background χωρίς ιδιοκτήτη δεν αποδίδεται σε synthetic account. Αποτυχίες και ακυρώσεις καταγράφονται.

Κάθε γεγονός κρατά:

  • provider/plugin id και snapshot ονόματος (ollama και agent-cli:* στο ίδιο ledger)
  • capability (chat, embedding, image, stt, tts, audio, video)
  • model και status success, error, cancelled
  • token counts μόνο όταν επιστρέφονται
  • units κατά capability (χαρακτήρες, εικόνες, embedding inputs, jobs, bytes)
  • duration, timestamp και user id

Τίποτε άλλο. Prompt, απαντήσεις, endpoints, credentials και error bodies δεν γράφονται· αποτυχία μόνο ως status = 'error'. Τα γεγονότα μένουν στη βάση (SQLite solo, PostgreSQL team) 400 ημέρες και παλιότερα καθαρίζονται το πολύ καθημερινά. Η μέτρηση είναι best-effort και δεν αποτυγχάνει αίτημα.

Το GET /api/plugins/usage?days=<1..365> (default 30) προσφέρει 7/30/90 ημέρες, συνολικά calls, reported tokens, success rate, latency, ημερήσιο γράφημα, πίνακα μοντέλων, traffic share και capability mix. Token totals μόνο όπου επιστράφηκαν metadata.

Δεν υπάρχει διακόπτης απενεργοποίησης. Επειδή αθροίζονται λογαριασμοί, βλέπουν μόνο admins.

Προσθέστε Cost Governance για tariffs με ισχύ, spend, budgets, alerts και accounting export. Γεγονότα χωρίς tariff ή usage φαίνονται unpriced, όχι δωρεάν.

Attribution OpenRouter

Από 0.18.0, αιτήματα OpenRouter στέλνουν headers attribution (HTTP-Referer: https://librewebui.org, title, categories) μόνο στο https://openrouter.ai, ποτέ σε custom/self-hosted route, χωρίς επιπλέον τοπική αποθήκευση.

Σχετική τεκμηρίωση