Yup, dah tau maksudnya kan ? kali ini saya akan share tips gimana caranya jalanin monitor trafik pada interface tertentu (ether1 misalnya) pada pelanggan, yang nantinya dapat digunakan sebagai report ke pelanggan bahwa penggunaan dalam satu bulan ini sudah mencapai sekian GigaByte. Begitu lah kira kira. nah berikut scriptnya, silahkan dibikin scheduler
Nah, setelah diteliti lagi, ternyata script diatas masih ada kekurangan, yaitu ketika perangkat reboot, kereset jadi 0, akhirnya gw ubah jadi revisi scriptnya begini
nanti hasilnya seperti berikut :
:global iface ether1
:global trafikawal
:global trafik
# reset tanggal 1
#/system ntp client set primary-ntp=[:resolve id.pool.ntp.org] enabled=yes
#/system clock set time-zone-name="Asia/Jakarta"
:local date [/system clock get date]
:local tanggal [ :pick $date 4 6 ]
#:log warning $tanggal
:if ($tanggal = 1) do={:set trafikawal 0}
:set trafikawal [/interface get [find name=$iface] tx-byte]
:if ($trafikawal > 1073741824) do={
:set trafik ($trafikawal / 1073741824)
:set trafik ($trafik." GB")
} else={
:set trafik ($trafikawal / 1048576)
:set trafik ($trafik." MB")
}
:log warning "trafik $iface = $trafik"
/in ethernet set $iface comment="$trafikawal"
Nah, setelah diteliti lagi, ternyata script diatas masih ada kekurangan, yaitu ketika perangkat reboot, kereset jadi 0, akhirnya gw ubah jadi revisi scriptnya begini
:global iface ether1
:global trafikFresh
:global trafikSave
:global trafikBit
:global trafikBytes
:global trafikTotal
:local date [/system clock get date]
:local tanggal [ :pick $date 4 6 ]
#:log warning $tanggal
:if ($tanggal = 1) do={:set trafikBit 0}
# jika direboot ambil dari comment interface
:if ([:len $trafikFresh ] = 0) do={
:set trafikSave [/interface get [find name=$iface] comment]
# catat ke variable
:set trafikFresh [/interface get [find name=$iface] tx-byte]
:set trafikTotal ([:tonum $trafikSave] + [:tonum $trafikFresh])
:set trafikBit $trafikTotal
} else={
:set trafikBit [/interface get [find name=$iface] tx-byte]
:set trafikTotal ([:tonum $trafikSave] + [:tonum $trafikBit])
}
# jika ukuran gigabyte
:if ($trafikTotal > 1073741824) do={
:set trafikBytes ($trafikTotal / 1073741824)
:set trafikBytes ($trafikBytes." GB")
} else={
:set trafikBytes ($trafikTotal / 1048576)
:set trafikBytes ($trafikBytes." MB")
}
:log warning "trafik $iface = $trafikBytes"
/in ethernet set $iface comment="$trafikTotal"
mas maaf script yang revisi sudah berhasil menyimpan data pemakaian tetapi tiap tanggal 1 masih blm bisa otomatis ter reset
ReplyDelete