Herkes herhangi bir formül veya ortamlarından grafit başına veri noktası başına ne kadar disk alanı kullanılacağını tahmin etmeme yardımcı olabilecek bazı örnek veriler var mı?
Herkes herhangi bir formül veya ortamlarından grafit başına veri noktası başına ne kadar disk alanı kullanılacağını tahmin etmeme yardımcı olabilecek bazı örnek veriler var mı?
Yanıtlar:
whisper-info.py
dosyanın boyutu da dahil olmak üzere her dosyanın ne ve nasıl bir araya getirildiği hakkında size birçok fikir verir.
Ancak sadece mevcut fısıltı dosyaları için kullanışlıdır.
Bir şemayı yerine yerleştirmeden önce tahmini boyutlandırmayı görmek istediğinizde, https://gist.github.com/jjmaestro/5774063 adresinde bulunan gibi bir Fısıltı Hesaplayıcısı deneyin.
DÜZENLE:
Bir örnek istendiğinde ...
storage_schema:
{
:catchall => {
:priority => "100",
:pattern => "^\.*",
:retentions => "1m:31d,15m:1y,1h:5y"
}
}
Dosyama baktığımızda applied-in-last-hour.wsp
, ls -l
verimleri
-rwxr-xr-x 1 root root 4415092 Sep 16 08:26 applied-in-last-hour.wsp
ve whisper-info.py ./applied-in-last-hour.wsp
verim
maxRetention: 157680000
xFilesFactor: 0.300000011921
aggregationMethod: average
fileSize: 4415092
Archive 0
retention: 604800
secondsPerPoint: 10
points: 60480
size: 725760
offset: 52
Archive 1
retention: 2678400
secondsPerPoint: 60
points: 44640
size: 535680
offset: 725812
Archive 2
retention: 157680000
secondsPerPoint: 600
points: 262800
size: 3153600
offset: 1261492
Yani, temel olarak, ana bilgisayarlarınızı her bir elde tutma dönemi segmenti başına tutma maçına göre birleştirirsiniz, bunu da uygulamak istediğiniz sistemlerin çarpanı ile çarparsınız, bu da izleyeceğiniz yeni istatistiklerin sayısını etkiler. Sonra ne kadar depolama alırsanız yapın ve en azından iki katına çıkarın (çünkü depolama alanı satın alıyoruz ve kullanacağımızı biliyoruz ...)
ls -l
, bunu bayt olarak alıyorum. Arşivlerin boyutlarını .wsp dosyasında (bildirildiği gibi whisper-info.py
) eklediğimde, genel .wsp dosya boyutuna (meta veri ve böyle olduğunu varsaydığım geri kalanına) yaklaşırlar. Bu, herkes için dosyanın boyutu olmalıdır. veriler düşük veri çözünürlüklerine düştüğünde ve eski veri noktaları atıldığında
ServerCount * MetricCount * 4.5MBytes
İstatistik belgelerinde veri saklama politikasına bir örnek verir .
Retensiyonlar 10s:6h,1min:7d,10min:5y
2160 + 10080 + 262800 = 275040 veri noktasıdır ve arşiv boyutu 3,2 MiB'dir .
Doğrusal bir ilişki varsayarsak, bu veri noktası başına yaklaşık 12,2 Bayt olur .
Grafit ile doğrudan bir deneyim yok, ancak Kaktüsler için kullandığımız mantığın aynısını veya RRD veya zamana bağlı hareketin geçerli olacağını hayal ediyorum (Grafit artık RRD'yi dahili olarak kullanmıyor, ancak depolama mantığı karşılaştırılabilir görünüyor.)
Hızlı cevap "Muhtemelen düşündüğünüz kadar yer değil."
Uzun cevap, siteye özgü bazı matematiği içerir. İzleme sistemimiz (InterMapper) için tutma sürelerini, çözünürlükleri ve veri noktası boyutunu anlıyorum, biraz çarpma işlemi gerçekleştiriyorum ve ek yükü ekliyorum.
Örnek olarak disk alanı kullanacağım - rakamları 30 gün boyunca 5 dakika, 60 gün daha 15 dakika ve 300 gün daha saat hassasiyetle saklıyoruz ve 64 saklamak için -bit (8 bayt) tam sayı:
Örnek başına 8 baytta yaklaşık 173KB, depolama indeksleme için sağlıklı ek yük ve benzerleri, bir bölümün disk kullanım verileri için (200'den fazla tahmin etme hatası) yaklaşık 200KB'ye getirir.
Temel metriklerden ortalama "makine başına" boyutta çalışabilirim (10 disk bölümü, takas alanı, RAM, yük ortalaması, ağ aktarımı ve diğer birkaç şey) - makine başına yaklaşık 5 MB'a kadar çalışır.
Ayrıca son sayının üstüne% 10'luk sağlıklı bir değer ekliyorum ve yuvarlayabiliyorum, bu yüzden her makinede 6MB boyutunda bir şeyler boyutlandırıyorum.
Sonra grafik için metrik verilerini depolamak için yerleştirdiğim 1 TB'lık alana bakıyorum ve "Evet, çok fazla büyümedikçe muhtemelen ömrümde depolama alanım bitmiyor!" Diyorum. :-)
Çok fazla veri üreten 70 düğümüm var. Carbon / Whisper kullanarak, bir düğüm yalnızca 91k dosya oluşturdu (düğüm, her biri birden fazla sayaç ve seçilebilir olması gereken değişken alanlara sahip birden fazla şema oluşturur. Örneğin: (nodename). (Şema). (Sayaç). (Alt sayaç). (Vb.) )....ve bunun gibi).
Bu, istediğim grafiği çizmem için gereken ayrıntı düzeyini sağladı. Kalan 69 düğümü doldurmak için komut dosyasını çalıştırdıktan sonra diskte 1.3 TB veri vardı. Ve bu sadece 6 saat değerinde veri / düğüm. Beni ne alır 6hrs değerinde veri için gerçek düz csv dosyası yaklaşık 230Mb / düğümdür. 70 düğüm ~ 16Gb veridir. Depolama şemam 120s: 365d idi.
Ben veritabanları için nispeten yeniyim, bu yüzden yanlış bir şey yapıyor olabilir, ama her örnek için tüm yükü olduğunu tahmin ediyorum.
Bu yüzden eğlenceli bir deneydi, ancak sakladığım veri türü için fısıltı kullanmanın mantıklı olduğunu düşünmüyorum. MongoDB daha iyi bir çözüm gibi görünüyor, ancak Grafana için bir arka uç olarak nasıl kullanılacağını anlamam gerekiyor.