macOS'ta Kişisel Bant Genişliği Panosu Oluşturmak
macOS'ta kişisel bir bant genişliği panosu için pratik kurulum — neyi takip etmeli, neyi yok saymalı ve her şeyi nasıl yerelde tutarsınız.
- macOS
- Bandwidth
- Productivity
- Tutorial
Her altı ayda bir Hacker News'te biri "Prometheus ve Grafana ile kişisel izleme yığını yaptım" yayınlar. Güzeldir, Cumartesi günü kurması eğlencelidir ve gerçek soru için fena halde aşırı tepkilidir: Mac'imdeki her uygulama ne kadar bant genişliği kullanıyor? Bir TSDB'ye, bir Docker compose dosyasına veya TLS ile bir ters proxy'ye ihtiyacınız yok. Tek bir ekrana sığan, menü çubuğunuzda yaşayan ve yolunuzdan çekilen bir bandwidth dashboard macos'a ihtiyacınız var. İşte bir hafta sonunu yakmadan nasıl inşa edileceği.
Tez: bir menü çubuğu uygulaması canlı ve son katmanı işler, ara sıra CSV dışa aktarma arşiv analizini işler ve bittiniz. Bakım gerektiren hizmet yok, düzenlemeniz gereken kazıma yapılandırmaları yok, bakım yapılacak paneller yok.
bandwidth dashboard macos kullanıcılarının gerçekte ihtiyacı olan
Grafana fantezisini bir kenara bırakın ve gerçekte neye bakacağınızı sorun:
- Mevcut bir oran. "Şu anda bir şey bant genişliği kullanıyor mu?" — günde düzinelerce kez sorulan en yaygın soru.
- Uygulama başına döküm. Cevap "evet" olduğunda, hangi uygulama olduğunu bilmek istersiniz.
- Son geçmiş. Son saat, son gün, belki son hafta. Bir deseni tespit etmeye yetecek kadar.
- Ara sıra derin dalışlar. Ayda bir kez bu ayı geçen ayla karşılaştırmak veya başka bir şeyle ilişkilendirmek istersiniz.
Bu kadar. Tüm ürün bu. Çoğu "kişisel izleme" yığını araçların teşvik ettiği için onlarca panoyla gelir. Onlara ihtiyacınız yok.
İki katmanlı tasarım
Sorunu canlı/son bir katmana ve bir arşiv katmanına bölün.
Canlı + son: bir menü çubuğu uygulaması
Bir menü çubuğu uygulaması ilk üç ihtiyaç için doğru şekildir. Her zaman çalışır, mevcut etkinliğinizden tek bir tıklama uzaktadır ve bakmadığınızda ekran alanı kaplamaz. Bir menü çubuğu simgesinin bilgi yoğunluğu — küçük bir grafik veya iki sayı olarak mevcut oran — tam olarak "şu anda bir şey bant genişliği kullanıyor mu" istediği şeydir.
Bu özelliklere sahip birini seçin ve hazırsınız:
- Menü çubuğunda bir bakışta canlı bir oran gösterir
- Uygulama başına dökümlü bir açılır pencere veya pencere vardır
- Yardımcı süreçleri üst uygulama altında katlar (yani "Slack" yedi değil, tek bir satır olur)
- En az bir günlük geçmiş tutar, ideal olarak bir hafta veya daha fazla
- macOS işaretlemez diye imzalanmış ve notarize edilmiştir
ova bunların hepsiyle gelir. Yaklaşık 3 MB, kabaca 1 Hz'de örnekler, macOS 14 ve sonrasında çalışır (Apple Silicon ve Intel), veriler yerel kalır, telemetri yok.
Arşiv: ara sıra CSV dışa aktarma
Ayda bir kez "bu ayı son ayla karşılaştır" sorusu için canlı bir sisteme ihtiyacınız yok. Düz bir dosyaya ihtiyacınız var. Bant genişliği izleyicinizden bir CSV dışa aktarın, bir not defterine atın (Jupyter, Observable, ne olursa) ve sorguları çalıştırın.
Bu aynı zamanda ilginç analiz yapacağınız yerdir: günün saati ısı haritaları, uygulamaya göre üst hedefler, hafta-hafta büyüme. Canlı olarak ihtiyacınız yok — ayda bir çalıştırmak iyidir — ve dizüstünüzün bunu yapmak için bir Grafana örneği barındırması gerekmiyor.
İzleyiciniz veriyi SQLite'ta saklıyorsa (ova ~/Library/Application Support/ova/ içinde saklar), dışa aktarma tek komuttur:
sqlite3 -header -csv \
~/Library/Application\ Support/ova/<file>.sqlite \
"SELECT timestamp, app, bytes_in, bytes_out FROM samples" \
> ~/Desktop/bandwidth.csvSonra Python'da veya R'de veya DuckDB'de yükleyin ve tek bir sorgu ve sıfır altyapı ile bir Grafana yığınının ağır iş katmanına sahipsiniz.
Neden Grafana değil?
Grafana, Prometheus, InfluxDB, Loki — filolar için harika araçlardır. Tek bir Mac için, operasyonel ek yük orantısız derecede fazladır. Şunlara ihtiyacınız olur:
- Yerel olarak çalışan bir Prometheus örneği (RAM, disk, port)
proc_pidinfoveyanettopçıktısını okuyan özel bir dışa aktarıcı (birinin yazması ve bakım yapması gerekir)- Yerel olarak çalışan Grafana (Java/Go süreci, port, veritabanı)
- Yazılması ve sürümlenecek panolar
- Düzenli olarak panoya giriş yapma nedeni (yapmayacaksınız)
İlk Cumartesi öğleden sonra parlamasından sonra, yığın çürür. macOS'u yükseltirsiniz ve dışa aktarıcı bozulur. Grafana parola sıfırlama ister. Üç hafta unutursunuz ve onu inşa ettiğiniz tam anomaliyi kaçırırsınız.
Bir menü çubuğu uygulaması yolunuzdan çekilir. Saate her baktığınızda oranı görürsünüz. bandwidth dashboard macos iş akışı, ziyaret etmeyi hatırlamanız gereken bir web sitesi değil, rutininize yerleşmiştir.
Adım adım kurulum
Somut olarak, panonuzu 15 dakikada nasıl bir araya getireceğiniz:
Adım 1: menü çubuğu uygulamasını yükleyin
ova'yı yükleyin. Yaklaşık 3 MB'tır. Applications'a sürükleyin, başlatın, ağ istatistiklerini okumak için istenen izni verin ve bittiniz. Kabaca 1 Hz'de örneklemeye ve menü çubuğunda mevcut oranı göstermeye hemen başlar.
Adım 2: menü çubuğu görüntüsünü yapılandırın
Çoğu menü çubuğu bant genişliği aracı neyin gösterileceğini seçmenize izin verir. Yaygın seçenekler:
- Mevcut yukarı/aşağı oran (örn.
↓ 2,1 MB/sn ↑ 80 KB/sn) - Son dakikanın küçük bir spark grafiği
- Aktif olduğunda yanan bir simge
Birini seçin. İki sayılı görüntü en yoğunudur. Spark grafiği en "bir bakışta görülebilir" olanıdır. Yanlış cevap yok; gerçekte okuyacağınızı seçin.
Adım 3: birkaç uygulama sabitleyin
Bazı izleyiciler belirli uygulamaları "izlenen" olarak işaretlemenize izin verir — döküm görünümünde önce görünürler. Çoğu insan için yararlı sabitler:
- Yaşadığınız tarayıcı (Chrome, Safari, Arc, Firefox)
- İş sohbetiniz (Slack, Discord, Teams)
- Geliştirme araçlarınız (Docker, VS Code, mobil yapıyorsanız simülatörünüz)
- Bulut senkronizasyonu (Dropbox, iCloud'un
cloudd'u, Google Drive)
Bir hafta içinde gerçekte hangi uygulamaları sabitlemek istediğinizi ve hangilerinin iyimser olduğunu bileceksiniz.
Adım 4: geçmişin çalıştığını doğrulayın
Son katmanın tüm amacı geriye kaydırabilmektir. Açılır pencereyi veya pencereyi açın, "son 24 saat" gibi bir zaman aralığı seçin ve zirveler ve dipleri olan bir grafik gördüğünüzü doğrulayın. Görmüyorsanız, uygulama veriyi saklamıyor ve süslü bir nettop'a sahipsiniz. Farklı bir araca geçin.
Adım 5: aylık bir dışa aktarma planlayın
Ayın ilki için bir takvim hatırlatıcısı ekleyin: "Bant genişliği verilerini dışa aktar, ısı haritası not defterini çalıştır." Ayda bir kez beş dakika. Bu sizin arşiv katmanınızdır.
Neye bakmalı
Pano çalışırken, düzenli aralıklarla kontrol etmeye değer sorular şunlardır.
Günlük bakış
Döküm görünümünü açın. Sürprizleri tarayın. Chrome en üstteyse, bu normaldir. cloudd mesai saatlerinde en üstteyse, neden olduğunu sorun (muhtemelen iCloud yetişiyor, muhtemelen Photos yüklüyor). Tanımadığınız bir şey en üstteyse, araştırın.
Haftalık
Günlük toplama bakın. Tutarlı mı? Tek bir günde 5 katlık bir artış, ya farklı bir şey yaptığınız (bir oyun indirdiniz, büyük bir aramanız oldu) ya da otomatik bir şeyin çalıştığı (uzak hedefe Time Machine, sistem güncellemesi) anlamına gelir.
Aylık
Isı haritasını çalıştırın. Aya göre üst uygulamalar. Önceki ayla karşılaştırın. Zaman içinde eğilimler size bant genişliğinizin yavaş yavaş arttığını söyler — genellikle sorgulamayı unuttuğunuz yeni bir uygulama nedeniyle.
ova'yı eylemde görün
Bir bakışta görülebilir bir menü çubuğu bant genişliği izleyicisi — yerel, imzalanmış, ~3 MB.
Çalışılmış bir örnek
Bir kullanıcının kurulumundan gerçek bir desen:
- Canlı oran: menü çubuğunda küçük bir spark grafiği. Bakışlar sıfır zaman maliyetlidir.
- Uygulama başına görünüm: ova açılır penceresini açan bir kısayol tuşuna bağlı.
- Haftalık kontrol: her Cuma öğleden sonra, kullanıcı 7 günlük görünümü açar ve en üstteki üç uygulamayı not eder. Önceki Cuma olmayan ilk üçteki herhangi bir şey, neden olduğunu açıklayan günlüğüne bir cümle alır.
- Aylık dışa aktarma: launchd işi her ayın ilkinde bir CSV bırakır. Küçük bir Observable not defteri ısı haritasını ve uygulamaya göre top-10 listesini çizer. Toplam süre: ayda bir kez 90 saniye.
Bütün sistem bu. Prometheus yok, Grafana yok, ters proxy yok, auth yok, port yok, döndürülecek günlük yok. "Pano" menü çubuğu artı ayda bir kez açılan bir not defteridir.
Gerçekten bir sunucuya ihtiyacınız olduğunda
Merkezi bir yığının doğru olduğu durumlar vardır:
- Birden fazla Mac yönetiyorsunuz (küçük bir takım, bir hane, bir derleme makineleri filosu)
- Mac olmayan verilerle ilişkiler istiyorsunuz (yönlendirici günlükleri, akıllı ev trafiği, iş VPN kullanımı)
- Gerçek zamanlı uyarı ihtiyacınız var ("yükleme beş dakikadan fazla 100 MB/sn'yi aşarsa beni çağır")
Bu durumlar operasyonel maliyeti haklı çıkarır. Tek bir kişisel Mac için, çıkarmazlar.
Toparlarken
Mac kullanıcılarının gerçekten açacağı bir bandwidth dashboard macos bir yığına ihtiyaç duymaz. Her zaman mevcut oranı gösteren bir menü çubuğu uygulamasına, bir şey yanlış göründüğünde uygulama başına bir döküme ve nadir derin dalışlar için bir dışa aktarma yoluna ihtiyaç duyar. Tüm şey bu.
Basit versiyonu istiyorsanız, ova'yı yükleyin — yaklaşık 3 MB, macOS 14 ve sonrası, kabaca 1 Hz'de örnekler, tüm veriler makinenizdeki ~/Library/Application Support/ova/ içinde kalır, hesap zorunluluğu yok, ömür boyu güncellemeler ve 14 gün iadeyle tek seferlik ödeme. İndirmeden panoya beş dakika, görünürde compose dosyaları yok.