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

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

Το 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_HOST — unix:// ή απλό 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·
  • κλήσεις chat εγκατεστημένων agent CLI και κλήσεις της μηχανής Strands·
  • plugin chat streaming και μη·
  • plugin embeddings, εικόνες, STT, TTS, ήχο και video· και
  • plugin Work.

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

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

  • provider/plugin id και snapshot ονόματος (τα ollama και agent-cli:* χρησιμοποιούν το ίδιο ledger με τους παρόχους plugin)
  • 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 και το ποσοστό των calls που ανέφεραν tokens. Η ανάγνωση της σελίδας είναι read-only πάνω στο υπάρχον usage ledger.

Χρήση agents​

Η ενότητα Πράκτορες ψηλά (Κλήσεις σε CLI agents και στη μηχανή Strands) δείχνει χωριστά Claude Code, Codex, OpenCode, Pi και Strands: κλήσεις, δηλωμένα tokens, αποτυχίες ή ακυρώσεις, μέση διάρκεια και έως 20 συχνότερα μοντέλα. Τα σύνολα καλύπτουν όλες τις αντίστοιχες κλήσεις της περιόδου, ανεξάρτητα από τα όρια των γενικών πινάκων. Είναι υποσύνολα των συνολικών τιμών, όχι πρόσθετα χρεώσιμα συμβάντα.

Χωρίς εγγραφές εμφανίζεται No recorded calls in this period. Δεν δείχνει αν η CLI είναι εγκατεστημένη ή συνδεδεμένη. Χωρίς metadata tokens εμφανίζεται Tokens not reported· οι ελλείποντες μετρητές δεν εκτιμώνται. Η ορατή σελίδα ανανεώνεται ανά 20 δευτερόλεπτα και χειροκίνητα.

Το CLI καταγράφει μία εκτέλεση και τα tokens που δηλώνει. Σωρευτικά στιγμιότυπα αντικαθιστούν τα παλαιά και διπλές αναφορές βημάτων αφαιρούνται. Cache και reasoning συνδυάζονται κατά το πρωτόκολλο της CLI, χωρίς διπλομέτρηση υποσυνόλων. Ακυρωμένες κλήσεις και μερικές απαντήσεις με αποτυχημένη έξοδο κρατούν το πραγματικό αποτέλεσμα.

Οι κλήσεις Strands αποδίδονται στον agent Strands. Η μηχανή δεν έχει δικό της πάροχο μοντέλων· κάθε κλήση μοντέλου που κάνει περνά από τους παρόχους Ollama ή plugin του Libre WebUI. Κλήσεις εκτός LWUI δεν εισάγονται. Παλαιότερες εγγραφές χωρίς μετρητές tokens παραμένουν χωρίς μέτρηση.

Το endpoint εκθέτει την περιορισμένη ανάλυση στο agents, με και τα πέντε ονόματα ακόμη και με μηδενικά. Η ανάγνωση δεν ανιχνεύει μοντέλα CLI, δεν ξεκινά agents και δεν επικοινωνεί με παρόχους. Παλαιότεροι servers χωρίς το πεδίο μπορούν να δείχνουν γνωστές εγγραφές από τους παρόχους· οι απόντες agents δεν παρουσιάζονται ως επιβεβαιωμένη μηδενική χρήση.

Εξερεύνηση μοντέλων και παρόχων​

Τα χρώματα μοντέλων συνδέουν ημερήσιο γράφημα, ετήσιο ημερολόγιο δραστηριότητας, πίνακα μοντέλων και μπάρες παρόχων, μαζί με ονόματα, τιμές και ενδείξεις επιλογής. Το ημερολόγιο καλύπτει πάντα τις τελευταίες 365 ημέρες ανεξάρτητα από το επιλεγμένο εύρος· το χρώμα κάθε ημέρας δείχνει το πιο χρησιμοποιημένο μοντέλο της.

Το γράφημα εναλλάσσεται μεταξύ Calls και Tokens. Hover ή keyboard focus σε μοντέλο της λεζάντας ιχνηλατεί τη γραμμή του· η επιλογή την κρατά τονισμένη, νέα επιλογή την απελευθερώνει και το Εμφάνιση όλων των μοντέλων επαναφέρει. Ίδια ενέργεια υπάρχει και στον πίνακα. Ο τονισμός αλλάζει μόνο έμφαση, όχι ημερήσια σύνολα, τιμές πίνακα ή σύνολα παρόχων.

Μετακινήστε τον δείκτη στο γράφημα ή χρησιμοποιήστε Εξερεύνηση ημερήσιας χρήσης για το σύνολο και την ανάλυση ανά μοντέλο μιας ημέρας. Ο ημερήσιος slider υποστηρίζει πληκτρολόγιο: βέλη για μετακίνηση μεταξύ ημερών, Home/End για πρώτη/τελευταία. Τα ημερήσια buckets και οι ετικέτες τους χρησιμοποιούν UTC.

Από προεπιλογή το γράφημα δείχνει τα 12 ονόματα μοντέλων με τα περισσότερα calls στην περίοδο, ακόμη και στην προβολή tokens. Κάθε μοντέλο παραμένει εξετάσιμο ξεχωριστά: focus ή επιλογή στον πίνακα ή στις λεπτομέρειες παρόχου φορτώνει την ακριβή ημερήσια γραμμή του, ακόμη κι εκτός των 12. Μήνυμα φόρτωσης αναφέρει το ζητούμενο μοντέλο όσο ανακτάται το ιστορικό.

Η γραμμή ενός πρόσθετου μοντέλου διαχωρίζεται από τα Άλλα μοντέλα και η υπόλοιπη ομάδα εξαιρεί calls, reported tokens και αποτυχίες του. Το γράφημα έχει το πολύ 13 επώνυμες γραμμές συν την υπόλοιπη ομάδα, με τις ημερήσιες τιμές να συμφωνούν με τα ίδια σύνολα. Το Εμφάνιση όλων των μοντέλων επιστρέφει στην προεπιλεγμένη προβολή.

Οι ημερήσιες γραμμές συνδυάζουν calls με το ίδιο καταγεγραμμένο όνομα μοντέλου σε όλους τους παρόχους. Ο πίνακας κρατά ξεχωριστές εγγραφές παρόχου/μοντέλου, οπότε το ίδιο μοντέλο μπορεί να εμφανίζεται σε περισσότερους από έναν παρόχους. Τα επώνυμα μοντέλα κρατούν ξεχωριστά χρώματα σε πίνακα και μπάρες παρόχων, ακόμη κι εκτός του προεπιλεγμένου γραφήματος.

Οι λεπτομέρειες παρόχου δείχνουν το μερίδιο αιτημάτων, μπάρα χωρισμένη ανά μοντέλο, reported tokens, αποτυχημένα ή ακυρωμένα calls και μέσο χρόνο απόκρισης. Το capability mix παραμένει κάτω από τις αναλύσεις μοντέλων και παρόχων.

Τα σύνολα tokens περιλαμβάνουν μόνο calls όπου ο πάροχος επέστρεψε metadata χρήσης. Το ποσοστό κάλυψης κάνει ορατή τη μερική αναφορά· τα ελλείποντα tokens δεν εκτιμώνται ποτέ από αιτήματα ή από άλλο μοντέλο. Περίοδος χωρίς reported tokens δείχνει εξήγηση στην προβολή Tokens και το ιστορικό αιτημάτων της παραμένει διαθέσιμο στα Calls.

Το endpoint περιλαμβάνει ημερήσια σημεία μοντέλων στο modelSeries. Προαιρετική παράμετρος model ζητά ένα ακριβές καταγεγραμμένο όνομα μοντέλου δίπλα στα προεπιλεγμένα 12, για παράδειγμα GET /api/plugins/usage?days=30&model=<encoded-model-name>. Είναι το ίδιο admin-only, read-only endpoint: ερωτά το τοπικό usage ledger και δεν καλεί ποτέ πάροχο μοντέλων για ιστορικό.

Προαιρετική παράμετρος to καθηλώνει το τέλος του αιτήματος σε Unix timestamp σε milliseconds. Απαιτεί model και δέχεται μόνο μη αρνητικό safe integer όχι μεταγενέστερο από την τρέχουσα ώρα του διακομιστή. Ο browser στέλνει το range.to της επισκόπησης όταν φορτώνει μεμονωμένο μοντέλο, διατηρώντας τα όρια ημέρας και έτους σε UTC και εξαιρώντας calls μετά από αυτό. Χωρίς to, το endpoint χρησιμοποιεί την τρέχουσα ώρα.

Η φόρτωση μοντέλου κρατά κάρτες, πίνακα, σύνολα παρόχων και χρώματα της επισκόπησης. Η ημερήσια γραμμή του προστίθεται μόνο όταν τα χρονικά όρια και τα ημερήσια σύνολα της απάντησης ταιριάζουν με την επισκόπηση. Το χρονικό όριο δεν παγώνει τη βάση: αν ιστορικά backfills ή διαγραφές αλλάξουν τα σύνολα, ο browser ανανεώνει πρώτα την επισκόπηση.

Αν παλαιότερος διακομιστής παραλείπει το modelSeries, το γράφημα δείχνει τη συγκεντρωτική σειρά Όλα τα μοντέλα με εξήγηση ότι η ανάλυση ανά μοντέλο δεν είναι διαθέσιμη. Ο πίνακας μοντέλων παραμένει διαθέσιμος· ο browser δεν συνάγει ημερήσιο ιστορικό μοντέλων από σύνολα περιόδου ή από το ετήσιο ημερολόγιο.

Δεν υπάρχει διακόπτης απενεργοποίησης. Επειδή αθροίζονται λογαριασμοί, βλέπουν μόνο 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, χωρίς επιπλέον τοπική αποθήκευση.

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