Kau bisa bersembunyi dari kesalahanmu, tapi tidak dari penyesalanmu. Kau bisa bermain dengan dramamu, tapi tidak dengan karmamu.

  • About

    Seorang Teknisi Jaringan yang pernah berkecimpung di Internet Service Provider (ISP) dan akhirnya memutuskan diri untuk menjadi freelancer yang berdomisili di Solo, Surakarta Hadiningrat.

  • Services

    Melayani jasa pasang Internet berbasis Wireless maupun Fiber Optic, Jasa Pasang Tower/Pipa, Pointing Wireless, Setting Router, CCTV, Hotspot, Proxy, Web Server, Network Managed dan Monitoring

  • Contact

    Berbagai saran, kritikan, keluhan dan masukan akan sangat berarti bagi saya. Anda dapat menghubungi/whatsapp saya di nomor:08564-212-8686 atau melalui BBM:2128686

    Wednesday, May 22, 2019

    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

    :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"

    nanti hasilnya seperti berikut :

    Saturday, May 18, 2019




    Hmm.. kali ini mimin bakal share tips & trik cara gimana saat link intermittent maka dilakukan tindakan, di sini mimin disable peer yg ngarah ke sono. Bisa sobat kembangkan sendiri yah. Ok langsung aja bikin scheduler
    :global intermit
    :global melar
    :global limitnotif
    :local avgRtt;
    :local pin
    :local pout
    :local target 124.195.38.1
    /tool flood-ping $target count=10 do={
      :if ($sent = 10) do={
        :set avgRtt $"avg-rtt"
        :set pout $sent
        :set pin $received
      }
    }
    :local ploss (100 - (($pin * 100) / $pout))
    :local LogErrorMsg ("Ping average for host%0A$target = ".[:tostr $avgRtt]."ms%0Apacket loss = ".[:tostr $ploss]."%")
    :local LogWarnMsg ("Ping average for host%0A$target = ".[:tostr $avgRtt]."ms%0Apacket loss = ".[:tostr $ploss]."%")
    :local LogError ("Ping average for $target = ".[:tostr $avgRtt]."ms - packet loss: ".[:tostr $ploss]."%")
    :local LogWarn ("Ping average for $target = ".[:tostr $avgRtt]."ms - packet loss: ".[:tostr $ploss]."%")
    :if ($avgRtt > 20) do={
    :set melar ($melar +1)
    :log error "$LogError"
    } else={
    :log warning "$LogWarn"
    :set melar 0
    }
    # jika packetloss diatas 10% maka
    :if ([:tostr $ploss] > 10) do={
       :set intermit ($intermit +1)
       :set limitnotif ($limitnotif +1)
       } else={
       :set intermit 0
       }
    # jika intermitent terus
    :if ($intermit >=10) do={
       :local pesan "$LogErrorMsg"
       /routing bgp peer set [find name~"INIX" disabled=no] disabled=yes
       /ip firewall mangle set [find comment="backup_conn" disabled=yes] disabled=no
       :if ($limitnotif = 2) do={
          /tool fetch url="https://api.telegram.org/bot380921546:AAGn69QpFDuLSOQd3E3JtI5nhfKDkdKMW/sendMessage?chat_id=-20353xxx&text=$pesan" keep-result=no
         }
       }
    # jika tidak intermitent
    :if ($intermit = 0) do={
       :if ($limitnotif >=10)  do={
       :set limitnotif 0
       }
       :if ($limitnotif =0) do={
       :set limitnotif ($limitnotif +1)
       }
       /routing bgp peer set [find name~"INIX" disabled=yes] disabled=no
       /ip firewall mangle set [find comment="backup_conn" disabled=no] disabled=yes
       :local pesan "$LogWarnMsg"
       :if ($limitnotif =2) do={
          /tool fetch url="https://api.telegram.org/bot380921546:AAGn69QpFDuLSOQd3E3JtI5nhfKDkdKMW/sendMessage?chat_id=-20353xxx&text=$pesan" keep-result=no
          }
       }