İngilizceFransızcaİspanyolca

OnWorks favicon'u

rrd-yeni başlayanlar - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında rrd-yeni başlayanları çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen rrd-yeni başlayanlar komutudur.

Program:

ADI


rrd-yeni başlayanlar - RRDtool Yeni Başlayanlar Kılavuzu

SİNOPSİS


Yeni RRDtool kullanıcılarının RRDtool'un temellerini anlamalarına yardımcı olmak

TANIM


Bu kılavuz, yeni başlayanlara RRDtool kavramlarını anlamada yardımcı olma girişimidir. Bilişim Teknoloji
RRDtool ve diğer veritabanları arasındaki farklara ışık tutuyor. Bir örnek yardımıyla,
RRDtool veritabanının yapısını açıklar. Bunu, aşağıdakilere genel bir bakış takip eder:
RRDtool'un "grafik" özelliği. Sonunda, aşağıdakileri gösteren örnek komut dosyaları vardır.
Shell veya Perl betiklerinde RRDtool'un kullanımı/sarmalanması.

Ne yapar RRD aracı so özel?
RRDtool, bir sistem yöneticisi olan Tobias Oetiker tarafından geliştirilen GNU lisanslı bir yazılımdır.
İsviçre Federal Teknoloji Enstitüsü. Bir veritabanı olmasına rağmen, farklı
RRDtool veritabanları ile aşağıda listelenen diğer veritabanları arasındaki farklar:

· RRDtool verileri depolar; bu onu bir arka uç aracı yapar. RRDtool komut seti, bir
grafikler oluşturmak için; bu da onu bir ön uç aracı yapar. Diğer veritabanları sadece depolar
veri ve grafik oluşturamaz.

· Doğrusal veritabanları olması durumunda, veri tabanının altına yeni veriler eklenir
tablo. Böylece boyutu artmaya devam ederken, bir RRDtool veritabanının boyutu
oluşturma zamanında belirlenir. Bir dairenin çevresi olarak bir RRDtool veritabanı hayal edin.
Veriler çevre boyunca eklenir. Yeni veriler başlangıç ​​noktasına ulaştığında,
mevcut verilerin üzerine yazar. Bu şekilde, bir RRDtool veritabanının boyutu her zaman kalır
devamlı. "Round Robin" adı bu davranıştan kaynaklanmaktadır.

· Diğer veritabanları değerleri sağlandığı şekilde saklar. RRDtool hesaplamak için yapılandırılabilir
önceki değerden mevcut değere değişim oranı ve bu bilgiyi saklayın
yerine.

· Değerler sağlandığında diğer veritabanları güncellenir. RRDtool veritabanı
önceden tanımlanmış zaman aralıklarında verilere ihtiyaç duyacak şekilde yapılandırılmıştır. Eğer yaparsa
aralık sırasında yeni bir değer almazsa, o aralık için BİLİNMEYEN bir değer depolar.
Bu nedenle, RRDtool veritabanını kullanırken, şu adreste çalışan komut dosyalarını kullanmak zorunludur.
RRDtool veritabanını güncellemek için sabit bir veri akışı sağlamak için düzenli aralıklarla.

RRDtool, zaman serilerini depolamak için tasarlanmıştır. Her veri güncellemesinde, ilişkili bir
zaman damgası kaydedilir. Zaman her zaman çağdan (01-01-1970) bu yana geçen saniye cinsinden ifade edilir.
RRDtool, Windows'un yanı sıra Unix'e de kurulabilir. Taşımak için bir komut seti ile birlikte gelir
RRD veritabanlarında çeşitli işlemler. Bu komut setine komuttan erişilebilir.
satırının yanı sıra Shell veya Perl betiklerinden. Komut dosyaları, erişim için sarmalayıcı görevi görür
RRDtool veritabanlarında depolanan veriler.

Anlamak by an örnek
Bir RRD veritabanının yapısı, diğer doğrusal veritabanlarından farklıdır. Başka
veritabanları sütunlu tabloları ve diğer birçok parametreyi tanımlar. Bu tanımlar
bazen özellikle büyük veritabanlarında çok karmaşıktır. RRDtool veritabanları
öncelikle izleme amacıyla kullanılır ve bu nedenle yapıları çok basittir. NS
Tanımlanması gereken parametreler, değerlerini ve bunların arşivlerini tutan değişkenlerdir.
değerler. Zamana duyarlı olduğu için zamanla ilgili birkaç parametre de tanımlanmıştır.
Yapısı nedeniyle, bir RRDtool veritabanının tanımı ayrıca bir hüküm içerir.
güncelleme değerlerinin yokluğunda gerçekleştirilecek belirli eylemleri belirtmek için. Veri Kaynağı (DS),
kalp atışı, Tarih Kaynak Türü (DST), Round Robin Arşivi (RRA) ve Konsolidasyon İşlevi
(CF), RRDtool veritabanlarıyla ilgili terminolojilerden bazılarıdır.

Bir veritabanının yapısı ve onunla ilişkili terminoloji en iyi şekilde açıklanabilir.
bir örnekle.

rrdtool, target.rrd oluştur \
--başlangıç ​​1023654125 \
--adım 300 \
DS:mem:GAUGE:600:0:671744 \
RRA:ORTALAMA:0.5:12:24 \
RRA:ORTALAMA:0.5:288:31

Bu örnek, adında bir veritabanı oluşturur. hedef.rrd. Başlangıç ​​zamanı (1'023'654'125) belirtildi
çağdan bu yana toplam saniye sayısı (01-01-1970'den bu yana saniye cinsinden süre). güncelleme yaparken
veritabanı, güncelleme zamanı da belirtilir. Bu güncelleme süresi daha büyük OLMALIDIR (daha sonra)
başlangıç ​​zamanından daha uzundur ve çağdan bu yana saniye cinsinden OLMALIDIR.

300 saniyelik adım, veritabanının her 300 saniyede bir yeni değerler beklediğini gösterir.
Sarmalayıcı komut dosyası, her adım güncellemesi için saniye
veritabanı her adım saniye.

DS (Veri Kaynağı), cihazdaki parametreyle ilgili gerçek değişkendir.
izlenir. Onun sözdizimi

DS:değişken_adı:DST:kalp atışı:min:maks

DS anahtar kelimedir. "değişken_adı", parametrenin altına kaydedildiği bir addır.
veri tabanı. Bir veritabanında gerektiği kadar DS olabilir. Her adım aralığından sonra, bir
veritabanını güncellemek için yeni DS değeri sağlanır. Bu değer aynı zamanda Birincil olarak da adlandırılır.
Veri noktası (KDP). Yukarıda bahsedilen örneğimizde, her 300'de yeni bir PDP oluşturulur.
saniye.

Tam olarak her 300 saniyede bir yeni veri noktaları SAĞLAMAZSANIZ, bunun bir
sorun, RRDtool verileri buna göre enterpolasyon yapacaktır.

DST (Veri Kaynağı Türü), DS'nin türünü tanımlar. SAYAÇ, TÜREV, MUTLAK olabilir,
GÖSTERGE. COUNTER olarak bildirilen bir DS, değerin bir adımdaki değişim oranını kaydeder
dönem. Bu, değerin her zaman arttığını varsayar (arasındaki fark
geçerli ve önceki değer 0'dan büyük). Bir yönlendiricideki trafik sayaçları bir
DST olarak COUNTER kullanmak için ideal aday. DERIVE, COUNTER ile aynıdır, ancak
negatif değerler de vardır. oranını görmek isterseniz değişiklik boş disk alanında
sunucu, o zaman DERIVE veri türünü kullanmak isteyebilirsiniz. ABSOLUTE ayrıca
değişir, ancak önceki değerin 0 olarak ayarlandığını varsayar.
mevcut ve önceki değer her zaman mevcut değere eşittir. Böylece sadece depolar
adım aralığına bölünen mevcut değer (örneğimizde 300 saniye). GÖSTERGE yapar
değişim oranını kaydetmez. Gerçek değeri kendisi kaydeder. Bölünme yok veya
hesaplamalar. Bir sunucudaki bellek tüketimi, tipik bir ölçüm örneğidir. Fark
farklı DST türleri arasında aşağıdaki örnekle daha iyi açıklanabilir:

Değerler = 300, 600, 900, 1200
Adım = 300 saniye
SAYAÇ DS = 1, 1, 1, 1
TÜREV DS = 1, 1, 1, 1
MUTLAK DS = 1, 2, 3, 4
ÖLÇÜ DS = 300, 600, 900, 1200

Bir sonraki parametre kalp atışı. Örneğimizde kalp atışı 600 saniyedir. eğer veritabanı
300 saniye içinde yeni bir PDP almazsa, 300 saniye daha bekler (toplam 600
saniye). 600 saniye içinde herhangi bir PDP almazsa, BİLİNMEYEN bir değer kaydedecektir.
veritabanına girin. Bu UNKNOWN değeri, RRDtool'un özel bir özelliğidir - çok daha iyidir
eksik bir değerin 0 (sıfır) olduğunu veya aynı zamanda bir sayı olabilecek başka bir sayı olduğunu varsaymaktansa
geçerli veri değeri. Örneğin, bir yönlendiricideki trafik akış sayacı artmaya devam ediyor.
Diyelim ki, bir aralık için bir değer kaçırıldı ve UNKNOWN yerine 0 saklandı. Şimdi ne zaman
bir sonraki değer kullanılabilir hale geldiğinde, mevcut değer arasındaki farkı hesaplayacaktır.
değeri ve doğru olmayan önceki değer (0). Bu nedenle, UNKNOWN değerini ekleyerek
burada çok daha mantıklı.

Sonraki iki parametre sırasıyla minimum ve maksimum değerdir. değişken ise
saklanacak olan tahmin edilebilir maksimum ve minimum değerlere sahipse, bu burada belirtilmelidir.
Bu aralığın dışında kalan herhangi bir güncelleme değeri UNKNOWN olarak saklanacaktır.

Sonraki satır, bir kez deneme arşivi (RRA) bildirir. Bir RRA bildirmek için sözdizimi şöyledir:

RRA:CF:xff:adım:satırlar

RRA, RRA'ları bildirmek için anahtar kelimedir. Konsolidasyon fonksiyonu (CF) ORTALAMA olabilir,
MİNİMUM, MAKSİMUM ve SON. Konsolide veri noktası (CDP) kavramı ortaya çıkıyor
resim burada. Bir CDP, CFed'dir (ortalama, maksimum/minimum değer veya son değer) adım
PDP sayısı. Bu RRA tutacak satır CDP'ler.

Yukarıdaki örneğe bir göz atalım. İlk RRA için 12 (adım) PDP (DS değişkenleri)
bir CDP oluşturmak için ORTALAMADIR (CF). 24 (satır) tez CDP'leri arşivlenir. Her PDP oluşur
300 saniyede. 12 PDP, 12 saat olan 300 kez 1 saniyeyi temsil eder. 1 CDP anlamına gelir
(12 PDP'ye eşittir) 1 saat değerindeki verileri temsil eder. Bu tür 24 CDP 1 günü temsil eder (1
saat çarpı 24 CDP). Bu, bu RRA'nın bir günlük bir arşiv olduğu anlamına gelir. 24 CDP'den sonra, CDP
25 numara, 1. CDP'nin yerini alacak. İkinci RRA, 31 CDP kaydeder; her bir CPD bir
Bir gün için ORTALAMA değer (her biri 288 saniyeyi kapsayan 300 PDP = 24 saat). Bu nedenle bu
RRA bir aylık bir arşivdir. Tek bir veritabanında birçok RRA olabilir. Eğer varsa
birden fazla DS, her bir RRA, veri tabanındaki tüm DS'ler için veri kaydedecektir. İçin
örneğin, bir veritabanında 3 DS varsa ve günlük, haftalık, aylık ve yıllık RRA'lar bildiriliyorsa,
daha sonra her RRA, 3 veri kaynağının tümünden gelen verileri tutacaktır.

Grafik sihirli
RRDtool'un bir diğer önemli özelliği de grafik oluşturma yeteneğidir. "grafik" komutu
veritabanından değerleri almak için dahili olarak "getir" komutunu kullanır. İle
alınan değerler, komutta sağlanan parametreler tarafından tanımlandığı gibi grafikler çizer
hat. Tek bir grafik, bir veritabanından farklı DS'leri (Veri Kaynakları) gösterebilir. Aynı zamanda
birden fazla veritabanındaki değerleri tek bir grafikte göstermek mümkündür. Çoğu zaman,
çizmeden önce veritabanından alınan değerler üzerinde biraz matematik yapmak gerekli
onlara. Örneğin, SNMP yanıtlarında, bellek tüketim değerleri genellikle
Arabirimlerdeki KBytes ve trafik akışı Bayt olarak belirtilir. Bu değerler için grafikler
değerler MByte ve mbps olarak gösterilirse daha anlamlı olur. RRDtool grafik komutu
birinin bu tür dönüşümleri tanımlamasına izin verir. Matematiksel hesaplamaların yanı sıra,
büyüktür, küçüktür ve if/then/else gibi mantıksal işlemleri gerçekleştirmek mümkündür.
Bir veritabanı birden fazla RRA arşivi içeriyorsa, bir soru ortaya çıkabilir - nasıl olur?
RRDtool, değerleri almak için hangi RRA arşivinin kullanılacağına karar verir mi? RRDtool şuna bakar:
seçimini yaparken birkaç şey. İlk olarak, RRA'nın mümkün olduğu kadar çoğunu kapsadığından emin olur.
mümkün olduğunca grafik zaman çerçevesi. İkincisi, karşılaştırılan RRA'nın çözünürlüğüne bakar
grafiğin çözünürlüğüne bağlıdır. Aynı veya daha yüksek olanı daha iyi bulmaya çalışır.
çözüm. "-r" seçeneği ile RRDtool'u farklı bir çözünürlük almaya zorlayabilirsiniz.
grafiğin piksel genişliğinden hesaplanandan daha.

Farklı değişkenlerin değerleri bir grafikte 5 farklı şekilde sunulabilir - AREA,
HAT1, HAT2, HAT3 ve STACK. AREA, şu değerlere sahip düz renkli bir alanla temsil edilir:
bu alanın sınırı. LINE1/2/3 (artan genişlik) temsil eden düz çizgilerdir.
değerler. İSTİF aynı zamanda bir alandır ancak üst ALAN veya LINE1/2/3 üzerinde "istiflenir". Bir diğeri
Unutulmaması gereken önemli bir nokta, değişkenlerin tanımlandıkları sıraya göre işaretlenmesidir.
grafik komutu. Bu nedenle sadece AREA/LINE tanımlandıktan sonra STACK tanımlamaya özen gösterilmelidir.
Grafiğin içine biçimlendirilmiş yorumlar koymak da mümkündür. Ayrıntılı talimatlar
grafik kılavuzunda bulunabilir.

Sarma RRD aracı içinde Kabuk/Perl senaryo
RRDtool'u anladıktan sonra, artık RRDtool'u betiklerde gerçekten kullanmanın zamanı geldi. Görevler
ağ yönetimine dahil olanlar veri toplama, veri depolama ve veri almadır. İçinde
aşağıdaki örnekte daha önce oluşturulmuş olan target.rrd veritabanı kullanılmıştır. Veri toplama
ve veri depolama Shell betikleri kullanılarak yapılır. Veri alma ve rapor oluşturma yapılır
Perl komut dosyalarını kullanarak. Bu komut dosyaları aşağıda gösterilmiştir:

Kabuk senaryo (toplasa veri, güncellemeler veri tabanı)

#!/ Bin / sh
a = 0
while [ "$a" == 0 ]; yapmak
snmpwalk -c genel 192.168.1.250 hrSWRunPerfMem > snmp_reply
total_mem=`awk 'BAŞLA {tot_mem=0}
{ if ($NF == "KBytes")
{tot_mem=tot_mem+$(NF-1)}
}
END {yazdır tot_mem}' snmp_reply`
# Şimdiki zamanın yerine N'yi kullanabilirim
rrdtool güncellemesi target.rrd N:$total_mem
# sonraki 300 saniye dolana kadar uyu
perl -e 'uyku 300 - zaman % 300'
# while döngüsünün sonu tamamlandı

Perl senaryo (geri alır veri itibaren veritabanı ve üretir grafikler ve İstatistik)

#!/usr/bin/Perl -w
# Bu betik, target.rrd'den veri alır, bir bellek grafiği oluşturur
# hedefteki tüketim (Çift P3 İşlemci 1 GHz, 656 MB RAM)

# RRD Perl modülünü çağırın
lib qw( /usr/local/rrdtool-1.0.41/lib/perl ../lib/perl );
RRD'leri kullanın;
benim $cur_time = time(); # geçerli saati ayarla
benim $end_time = $cur_time - 86400; # bitiş zamanını 24 saat öncesine ayarla
benim $start_time = $bitiş_zamanım - 2592000; # başlangıç ​​tarihini 30 gün önceden ayarla

# başlangıç ​​ve bitiş zamanı arasında RRD veritabanından ortalama değerleri getir
benim ($start,$step,$ds_names,$veri) =
RRDs::fetch("target.rrd", "ORTALAMA",
"-r", "600", "-s", "$start_time", "-e", "$end_time");
# alınan değerleri 2 boyutlu bir dizide kaydet
benim $satırlarım = 0;
$sütunlarım = 0;
benim $time_variable = $başlangıç;
foreach $satır (@$veri) {
$değerler[$satırlar][$sütunlar] = $zaman_değişkeni;
$zaman_değişkeni = $zaman_değişkeni + $adım;
foreach $val (@$line) {
$değerler[$satırlar][++$sütunlar] = $değer;}
$satır++;
$sütunlar = 0;
}
benim $tot_time = 0;
benim $sayım = 0;
# 2 boyutludan değerleri 1 boyutlu bir diziye kaydedin
$i için ( 0 .. $#değerler ) {
$tot_mem[$count] = $değerler[$i][1];
$ count ++;
}
benim $tot_mem_sum = 0;
# tüm değerlerin toplamını hesapla
$i için ( 0 .. ($count-1) ) {
$tot_mem_sum = $tot_mem_sum + $tot_mem[$i];
}
# dizinin ortalamasını hesapla
benim $tot_mem_ave = $tot_mem_sum/($count);
# grafiği oluştur
RRDs::graph ("/images/mem_$count.png",
"--title= Bellek Kullanımı",
"--vertical-label=Bellek Tüketimi (MB)",
"--start=$start_time",
"--end=$end_time",
"--color=GERİ#CCCCCC",
"--color=TUVAL#CCFFFF",
"--color=SHADEB#9999CC",
"--yükseklik=125",
"--üst limit=656",
"--alt limit=0",
"--sert",
"--taban=1024",
"DEF:tot_mem=target.rrd:mem:ORTALAMA",
"CDEF:tot_mem_cor=tot_mem,0,671744,LIMIT,UN,0,tot_mem,IF,1024,/",
"CDEF:makine_mem=tot_mem,656,+,tot_mem,-",
"Yorum: $start_time arasındaki Bellek Tüketimi",
"YORUM: ve $end_time ",
"HRULE:656#000000:Maksimum Kullanılabilir Bellek - 656 MB",
"ALAN:makine_mem#CCFFFF:Kullanılmayan Bellek",
"AREA:tot_mem_cor#6699CC:MB cinsinden tüketilen toplam bellek");
benim $err=RRD'lerim::hata;
if ($err) {print "grafiği oluşturma sorunu: $err\n";}
# çıktıyı yazdır
print "Ortalama bellek tüketimi";
printf "%5.2f",$tot_mem_ave/1024;
print " MB. Grafik gösterimi /images/mem_$count.png adresinde bulunabilir.";

onworks.net hizmetlerini kullanarak rrd-yeni başlayanları çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad