Küçük bir izleme çözümü yapıyorum ve önceki okumaların mevcut okumadan daha büyük olduğu durumlarda doğru/en iyi davranışın ne olduğunu anlamak istiyorum. Örneğin, ifHCOutOctets
SNMP nesnesi, Cisco yönlendiricide bir arabirimden iletilen baytları sayar. Grafik sayacı, örneğin yeniden yönlendiricinin yeniden başlatılması nedeniyle örneğin 0'a geri sıfırlanırsa nasıl davranmalıdır?SNMP sayacı önceki okumadan daha küçük bir değere sahip olduğunda grafik aracı nasıl davranmalıdır?
Trafik grafiğinin:
if [ ! $prev_val ]; then
# This reading will be used to set the baseline value for "prev_val" variable
# if "prev_val" does not already exist.
prev_val="$cur_val"
elif ((prev_val > cur_val)); then
# Counter value has set to zero.
# Use the "cur_val" variable.
echo "$cur_val"
prev_val="$cur_val"
else
# In case "cur_val" is higher than or equal to "prev_val",
# use the "cur_val"-"prev_val"
echo $((cur_val - prev_val))
prev_val="$cur_val"
fi
Ben de yukarıdaki algoritmaya dayalı küçük bir örnek grafiği yaptı: algoritması aşağıdaki Benim seçenekte doğru davranıştır
reading 1: cur_val=0, prev_val will be 0
reading 2: 0-0=0(0 Mbps), cur_val=0, prev_val will be 0
reading 3: 20-0=20(160 Mbps), cur_val=20, prev_val will be 20
reading 4: 20-20=0(0 Mbps), cur_val=20, prev_val will be 20
reading 5: 50-20=30(240 Mbps), cur_val=50, prev_val will be 50
reading 6: 40(320Mbps), cur_val=40, prev_val will be 40
reading 7: 70-40=30(240 Mbps), cur_val=70, prev_val will be 70
reading 8: no data from SNMP agent
reading 9: 90-70=20(160 Mbps), cur_val=90, prev_val will be 90
Bana göre bu küçük algoritma düzgün çalışıyor gibi görünüyor.
Lütfen bir şey belirsiz ise bildirin. Soruyu düzeltirim.
Grafik uygulaması, iletilen baytların bazı deltalarını veya mutlak değerini gösterecektir? –
Delta göstermesi gerekiyor. Bir bant genişliği (bps) grafiği olacaktır. – Martin