Udelal jsem si na web stranky zobrazeni aktualniho poctu useru a connections na jednotlivych gw do internetu vcetne jednoducheho prehledoveho grafu. Pocet connectu ktery vraci mt v count only ma nejaky bug a orezava maximum na hodnotu kousek nad 2000 connectu, coz je skoda. Tak treba se to bude nekomu hodit.
Offline ukazka je tady:
:-)
#! /bin/sh
# nacteme pocty ip a pocet connections z jednotlivych gw do promenych
iptgn=`ssh -l read 10.244.1.1 ip firewall address-list print list=listactip5m count-only`
ipadsl1=`ssh -l read 10.78.1.1 ip firewall address-list print list=listactip5m count-only`
ipadsl2=`ssh -l read 10.70.1.1 ip firewall address-list print list=listactip5m count-only`
iptgncon=`ssh -l read 10.244.1.1 ip firewall connection print count-only`
ipadsl1con=`ssh -l read 10.78.1.1 ip firewall connection print count-only`
ipadsl2con=`ssh -l read 10.70.1.1 ip firewall connection print count-only`
# vlozime do promenne datum a cas pro zobrazeni na strance a cas pro pouziti v gnuplot
cas=`date`
casgraph=`date +%H.%M`
# echem soupeme html do souboru users.html spolu s nactenymi promenymi
# hlavicka web stranky s refreshem po 5min
echo "<html>" > /var/www/html/users.html
echo "<head>" >> /var/www/html/users.html
echo "<meta http-equiv="Refresh" content="300">" >> /var/www/html/users.html
echo "<title>uzivatele na GW</title>" >> /var/www/html/users.html
echo "</head>" >> /var/www/html/users.html
# telo webu
echo "<body>" >> /var/www/html/users.html
echo "<h2>Aktualni pocet uzivatelu frcicich prez jednotlive GW</h2>" >> /var/www/html/users.html
echo "<h3>Udaje jsou aktualizovany kazdych 5 minut</h3>" >> /var/www/html/users.html
echo "Bohuzel ma MT nejaky bug a udavany pocet connectu ma strop tesne nad 2000 connectu, takze ve skutecnosti je vyssi." >> /var/www/html/users.html
echo "<h4>Naposledy: ${cas} </h3>" >> /var/www/html/users.html
echo "<b><li>GW TGNET momentalne vyuziva ${iptgn} uzivatelu s ${iptgncon} connections</li>" >> /var/www/html/users.html
echo "<li>GW ADSL I momentalne vyuziva ${ipadsl1} uzivatelu s ${ipadsl1con} connections</li>" >> /var/www/html/users.html
echo "<li>GW ADSL II momentalne vyuziva ${ipadsl2} uzivatelu s ${ipadsl2con} connections</li></b>" >> /var/www/html/users.html
echo "<h4>Grafy:</h3>" >> /var/www/html/users.html
echo "Jsou to grafy od -24h do aktualna, nedejte se zmast cisly na ose, kazda carka je hodina" >> /var/www/html/users.html
# vkladame obrazky vytvorene gnuplotem
echo "<img src="users.png">" >> /var/www/html/users.html
echo "<img src="connects.png">" >> /var/www/html/users.html
echo "</body>" >> /var/www/html/users.html
echo "</html>" >> /var/www/html/users.html
# konec tvorby web stranky
# soupeme hodnoty do souboru pro tvorbu grafu pomoci gnuplot
echo "${casgraph} ${iptgn} ${ipadsl1} ${ipadsl2}" >> /etc/rc.d/scripts/dataplotusers
echo "${casgraph} ${iptgncon} ${ipadsl1con} ${ipadsl2con}" >> /etc/rc.d/scripts/dataplotconnect
# pomoci temp souboru orezavam pocet dat na poslednich 288 radku coz odpovida poslednim 24 hodinam a vracim zpet do datoveho souboru
tail -n 288 /etc/rc.d/scripts/dataplotusers > /tmp/tempus
mv /tmp/tempus /etc/rc.d/scripts/dataplotusers
tail -n 288 /etc/rc.d/scripts/dataplotconnect > /tmp/tempcon
mv /tmp/tempcon /etc/rc.d/scripts/dataplotconnect
sleep 2
# volam skript pro tvorbu grafu
/etc/rc.d/scripts/plot >$ /dev/null
Dal pak mam skriptik ktery nam dela grafy pomoci gnuplot:
#!/usr/bin/gnuplot
# skript pro tvorbu grafu gnuplotem
# nastavuji vlastnosti a vystup grafu
set term png small picsize 860 400
set out '/var/www/html/users.png'
set style data lp
set time
set xtics 0,12,288
set key title "Users"
# kreslime grafy
plot "/etc/rc.d/scripts/dataplotusers" using 2 title "TGNET", "/etc/rc.d/scripts/dataplotusers" using 3 title "ADSL I", "/etc/rc.d/scripts/dataplotusers" using 4 title "ADSL II"
replot
set term png small picsize 860 400
set out '/var/www/html/connects.png'
set style data lp
set time
set key title "Connections"
plot "/etc/rc.d/scripts/dataplotconnect" using 2 title "TGNET", "/etc/rc.d/scripts/dataplotconnect" using 3 title "ADSL I", "/etc/rc.d/scripts/dataplotconnect" using 4 title "ADSL II"