Ein persönliches Bandbreiten-Dashboard unter macOS aufbauen
Ein praktisches Setup für ein persönliches Bandbreiten-Dashboard unter macOS: Was Sie verfolgen, was Sie ignorieren und wie Sie alles lokal halten.
- macOS
- Bandwidth
- Productivity
- Tutorial
Alle sechs Monate veröffentlicht jemand auf Hacker News „Ich habe einen persönlichen Monitoring-Stack mit Prometheus und Grafana gebaut". Es ist hübsch, es macht Spaß, das an einem Samstag aufzusetzen, und es ist wild übertrieben für die eigentliche Frage: Wie viel Bandbreite nutzt jede App auf meinem Mac? Sie brauchen keine TSDB, keine Docker-Compose-Datei, keinen Reverse-Proxy mit TLS. Sie brauchen ein bandwidth dashboard macos, das auf einen Bildschirm passt, in Ihrer Menüleiste lebt und Ihnen aus dem Weg geht. Hier ist, wie Sie eines bauen, ohne ein Wochenende zu verbrennen.
Die These: Eine Menüleisten-App handhabt die Live- und Recent-Schicht, gelegentlicher CSV-Export handhabt archivische Analyse, und Sie sind fertig. Keine Dienste zu hüten, keine Scrape-Configs zu bearbeiten, keine Panels zu warten.
Was ein Bandbreiten-Dashboard auf macOS-Nutzer wirklich brauchen
Ziehen Sie die Grafana-Fantasie ab und fragen Sie, was Sie tatsächlich anschauen werden:
- Eine aktuelle Rate. „Nutzt etwas gerade Bandbreite?" — die häufigste Frage, dutzende Male am Tag gestellt.
- Eine Pro-App-Aufschlüsselung. Wenn die Antwort „ja" ist, wollen Sie wissen, welche App.
- Jüngste Historie. Letzte Stunde, letzter Tag, vielleicht letzte Woche. Genug, um ein Muster zu erkennen.
- Gelegentliche Tieftauchgänge. Einmal im Monat wollen Sie diesen Monat mit dem letzten vergleichen oder mit etwas anderem korrelieren.
Das war's. Das ist das ganze Produkt. Die meisten „persönlichen Monitoring"-Stacks kommen mit zigtausend Dashboards, weil die Tools dazu ermutigen. Sie brauchen sie nicht.
Das Zwei-Schichten-Design
Teilen Sie das Problem in eine Live-/Recent-Schicht und eine Archiv-Schicht.
Live + Recent: eine Menüleisten-App
Eine Menüleisten-App ist die richtige Form für die ersten drei Bedürfnisse. Sie läuft immer, sie ist einen Klick von Ihrer aktuellen Aktivität entfernt und sie nimmt keinen Bildschirmplatz, wenn Sie nicht hinschauen. Die Informationsdichte eines Menüleisten-Symbols — aktuelle Rate als kleiner Graph oder zwei Zahlen — ist genau, was „nutzt etwas gerade Bandbreite" wünscht.
Wählen Sie eines mit diesen Eigenschaften und Sie sind eingerichtet:
- Zeigt eine Live-Rate in der Menüleiste auf einen Blick
- Hat ein Popover oder Fenster mit Pro-App-Aufschlüsselung
- Fasst Hilfsprozesse unter ihrer übergeordneten App zusammen (sodass „Slack" eine Zeile ist, nicht sieben)
- Behält mindestens einen Tag Historie, idealerweise eine Woche oder mehr
- Ist signiert und notarisiert, sodass macOS es nicht markiert
ova bringt all das mit. Etwa 3 MB, samplet mit grob 1 Hz, läuft unter macOS 14 und neuer (Apple Silicon und Intel), Daten bleiben lokal, keine Telemetrie.
Archiv: gelegentlicher CSV-Export
Für die Frage „diesen Monat mit letztem vergleichen" brauchen Sie kein Live-System. Sie brauchen eine Flat-Datei. Exportieren Sie eine CSV aus Ihrem Bandbreitenmonitor, werfen Sie sie in ein Notebook (Jupyter, Observable, was auch immer) und führen Sie die Abfragen aus.
Das ist auch der Ort für interessante Analysen: Stunde-des-Tages-Heatmaps, Top-Ziele pro App, Wochen-zu-Wochen-Wachstum. Sie brauchen es nicht live — es einmal im Monat laufen zu lassen ist okay — und Ihr Laptop muss keine Grafana-Instanz hosten, um das zu tun.
Wenn Ihr Monitor Daten in SQLite speichert (ova tut das, in ~/Library/Application Support/ova/), ist der Export ein Befehl:
sqlite3 -header -csv \
~/Library/Application\ Support/ova/<file>.sqlite \
"SELECT timestamp, app, bytes_in, bytes_out FROM samples" \
> ~/Desktop/bandwidth.csvDann laden Sie es in Python oder R oder DuckDB und Sie haben die Heavy-Lifting-Schicht eines Grafana-Stacks mit einer Abfrage und null Infrastruktur.
Warum nicht Grafana?
Grafana, Prometheus, InfluxDB, Loki — sie sind großartige Tools für Flotten. Für einen Mac ist der operative Overhead wild aus der Proportion. Sie bräuchten:
- Eine lokal laufende Prometheus-Instanz (RAM, Disk, Port)
- Einen eigenen Exporter, der
proc_pidinfoodernettop-Output liest (jemand muss ihn schreiben und warten) - Lokal laufendes Grafana (Java/Go-Prozess, Port, Datenbank)
- Dashboards zum Authoren und Versionieren
- Einen Grund, sich regelmäßig im Dashboard anzumelden (werden Sie nicht)
Nach dem anfänglichen Samstagnachmittag-Glühen verrottet der Stack. Sie aktualisieren macOS und der Exporter geht kaputt. Grafana fragt nach Passwort-Reset. Sie vergessen es drei Wochen lang und verpassen genau die Anomalie, für die Sie es gebaut haben.
Eine Menüleisten-App bleibt Ihnen aus dem Weg. Sie sehen die Rate jedes Mal, wenn Sie zur Uhr schauen. Der Bandbreiten-Dashboard-macOS-Workflow ist in Ihre Routine eingebaut, keine Webseite, an deren Besuch Sie sich erinnern müssen.
Schritt-für-Schritt-Setup
Konkret, hier ist, wie Sie Ihr Dashboard in 15 Minuten zusammenstellen.
Schritt 1: die Menüleisten-App installieren
Installieren Sie ova. Es ist etwa 3 MB. In Programme ziehen, starten, die angeforderte Berechtigung zum Lesen von Netzwerkstatistiken erlauben, fertig. Es beginnt sofort mit grob 1 Hz zu sampeln und die aktuelle Rate in der Menüleiste anzuzeigen.
Schritt 2: die Menüleisten-Anzeige konfigurieren
Die meisten Menüleisten-Bandbreitentools lassen Sie wählen, was angezeigt wird. Häufige Optionen:
- Aktuelle Up-/Down-Rate (z. B.
↓ 2,1 MB/s ↑ 80 KB/s) - Eine kleine Sparkline der letzten Minute
- Nur ein Symbol, das aufleuchtet, wenn aktiv
Wählen Sie eines. Die Zwei-Zahlen-Anzeige ist die dichteste. Die Sparkline ist am „auf-einen-Blick-erfassbar". Es gibt keine falsche Antwort; wählen Sie die, die Sie tatsächlich lesen.
Schritt 3: ein paar Apps pinnen
Manche Monitore lassen Sie bestimmte Apps als „beobachtet" markieren — sie tauchen zuerst in der Aufschlüsselungs-Sicht auf. Nützliche Pins für die meisten:
- Den Browser, in dem Sie leben (Chrome, Safari, Arc, Firefox)
- Ihren Arbeits-Chat (Slack, Discord, Teams)
- Ihre Dev-Tools (Docker, VS Code, Ihr Simulator, falls Mobile)
- Cloud-Sync (Dropbox, iClouds
cloudd, Google Drive)
Sie wissen innerhalb einer Woche, welche Apps Sie tatsächlich gepinnt haben wollen und welche optimistisch waren.
Schritt 4: verifizieren, dass Historie funktioniert
Der ganze Sinn der Recent-Schicht ist, zurückscrubben zu können. Öffnen Sie das Popover oder Fenster, wählen Sie einen Zeitbereich wie „letzte 24 Stunden" und bestätigen Sie, dass Sie einen Chart mit Spitzen und Tälern sehen. Wenn nicht, persistiert die App keine Daten und Sie haben einen aufgehübschten nettop. Wechseln Sie zu einem anderen Tool.
Schritt 5: einen monatlichen Export planen
Fügen Sie eine Kalendererinnerung für den Ersten des Monats hinzu: „Bandbreiten-Daten exportieren, Heatmap-Notebook ausführen." Fünf Minuten einmal im Monat. Das ist Ihre Archiv-Schicht.
Was anschauen
Sobald das Dashboard läuft, hier sind die Fragen, die regelmäßig zu prüfen sind.
Tägliche Sicht
Öffnen Sie die Aufschlüsselungs-Sicht. Scannen Sie nach Überraschungen. Wenn Chrome oben ist, ist das normal. Wenn cloudd während der Arbeitszeiten oben ist, fragen Sie warum (wahrscheinlich iCloud, das nachholt, möglicherweise Photos, die hochladen). Wenn etwas, das Sie nicht erkennen, oben ist, untersuchen.
Wöchentlich
Schauen Sie auf die Pro-Tag-Summe. Ist sie konsistent? Eine 5-fache Spitze an einem einzelnen Tag bedeutet entweder, Sie haben etwas anderes getan (ein Spiel heruntergeladen, einen großen Anruf gehabt) oder etwas Automatisches lief (Time Machine zu einem Remote-Ziel, System-Update).
Monatlich
Lassen Sie die Heatmap laufen. Top-Apps pro Monat. Mit dem vorherigen Monat vergleichen. Trends über die Zeit sagen Ihnen, ob Ihre Bandbreite langsam steigt — meist wegen einer neuen App, die Sie zu hinterfragen vergessen haben.
Sehen Sie ova in Aktion
Ein auf einen Blick erfassbarer Menüleisten-Bandbreitenmonitor — lokal, signiert, ~3 MB.
Ein durchgespieltes Beispiel
Ein echtes Muster aus dem Setup eines Nutzers:
- Live-Rate: kleine Sparkline in der Menüleiste. Blicke kosten null Zeit.
- Pro-App-Sicht: an einen Hotkey gebunden, der das ova-Popover öffnet.
- Wöchentlicher Check: jeden Freitagnachmittag öffnet der Nutzer die 7-Tage-Sicht und notiert die Top drei Apps. Alles in den Top drei, das nicht der vorherige Freitag war, bekommt einen Satz im Journal, der erklärt warum.
- Monatlicher Export: launchd-Job dumpt eine CSV am Ersten jedes Monats. Ein kleines Observable-Notebook plottet die Heatmap und die Top-10-pro-App-Liste. Gesamtzeit: 90 Sekunden, einmal im Monat.
Das ist das ganze System. Kein Prometheus, kein Grafana, kein Reverse-Proxy, kein Auth, keine Ports, keine zu rotierenden Logs. Das „Dashboard" ist die Menüleiste plus ein Notebook, das einmal im Monat öffnet.
Wann Sie tatsächlich einen Server brauchen
Es gibt Fälle, in denen ein zentralisierter Stack korrekt ist:
- Sie verwalten mehrere Macs (ein kleines Team, ein Haushalt, eine Flotte von Build-Maschinen)
- Sie wollen Korrelationen mit Nicht-Mac-Daten (Router-Logs, Smart-Home-Verkehr, Arbeits-VPN-Nutzung)
- Sie haben einen Echtzeit-Alarm-Bedarf („pagiere mich, wenn der Upload länger als fünf Minuten 100 MB/s übersteigt")
Diese Fälle rechtfertigen die operativen Kosten. Für einen persönlichen Mac nicht.
Fazit
Ein Bandbreiten-Dashboard auf macOS, das Nutzer tatsächlich öffnen werden, braucht keinen Stack. Es braucht eine Menüleisten-App, die immer die aktuelle Rate zeigt, eine Pro-App-Aufschlüsselung für den Fall, dass etwas komisch aussieht, und einen Export-Pfad für den seltenen Tieftauchgang. Das ist das Ganze.
Wenn Sie die einfache Version wollen, installieren Sie ova — etwa 3 MB, macOS 14 und neuer, samplet mit grob 1 Hz, alle Daten bleiben in ~/Library/Application Support/ova/ auf Ihrer Maschine, kein Account erforderlich, Einmalzahlung mit lebenslangen Updates und einer 14-Tage-Rückgabe. Fünf Minuten vom Download zum Dashboard, kein Compose-File in Sicht.