Harika RRDTool uygulamasıyla başarılı bir şekilde birkaç grafik oluşturuyorum. Ancak, grafik çizerken VRULE seçeneğiyle ilgili bazı sorunlar yaşıyorum.
Bash komut dosyasıyla grafikler oluşturuyorum. Şimdilik gece yarısında dikey bir kırmızı çizgi çizmeye çalışıyorum (UTC + 02: 00’da).
Çağdaki son 2 gece yarısı saatini alma kodu:
NOW=`date +%s`
DAY=86400
ZONE=7200
LDAY=$((NOW/DAY))
MID=$((LDAY*DAY))
SAST=$((MID-ZONE))
YEST=$((SAST-DAY))
Öyleyse eğer echo ya $SAST veya $YESTBana dün gece ya da önceki gün gece yarısında dönme zamanı verecek.
İşte grafiklerden biri için çalışma snippet'i:
$RRDTOOL graph /var/www/images/graphs/wdata36h.png \
--title 'Pi Traffic Count (wlan0)' \
--watermark "Graph Drawn `date`" \
--vertical-label 'Bytes' \
--lower-limit '0' \
--rigid \
--alt-autoscale \
--units=si \
--width '700' \
--height '200' \
--full-size-mode \
--start end-36h \
'DEF:wrx=/usr/local/bin/system/data.rrd:wrx:AVERAGE' \
'DEF:wtx=/usr/local/bin/system/data.rrd:wtx:AVERAGE' \
'AREA:wtx#0000FFFF:Upload\:' \
'GPRINT:wtx:LAST:\:%8.2lf %s]' \
'STACK:wrx#00CC00FF:Download\:' \
'GPRINT:wrx:LAST:\:%8.2lf %s]'
Gördüğünüz gibi, grafik 2 orta geceyi kapsayan son 36 saati kapsar. Eklemeye çalıştım $SAST ve $YEST değişkenler birkaç yolludur ancak değişken değerleri olarak değil, değişken isimleri olarak okumaya devam eder.
Eklemeye çalıştım:
'VRULE:$YEST#FF0000' \
'VRULE:$SAST#FF0000' \
ve
'VDEF:yest=$YEST' \
'VDEF:sast=$SAST' \
'VRULE:yest#FF0000' \
'VRULE:sast#FF0000' \
Fakat alıntı işaretleri değişkenlerin değişken isimleri olarak yorumlanmasına neden oluyor.
Gerçekten yeniden yaratmak istemiyorum. data.rrd Çok sayıda tarihi veri bulunduğundan dosyalayın. Bu, dikey çizgileri çizmem gerekeceği anlamına geliyor. graph sahne değil update sahne.