Script monitoring traffic pada mikrotik dengan php dan highchart

Script monitoring traffic pada mikrotik dengan php dan highchart - terdapat berbagai cara untuk melakukan monitoring traffic pada perangkat mikrotik,salah satunya dengan menggunakan api router os dari mikrotik.

 

Yang dibutuhkan adalah

1.Class Router Os Api
2.Script php untuk membaca traffic pada interface di mikrotik
3.Script html untuk menampilkan hasil dari traffic pada interface

 

Untuk Script Router Class Silahkan download langsung di bawah

 

Script untuk membaca traffic pada interface di mikrotik melalui api,berikut adalah scriptnya


$iphost= "ip router";
$userhost="user api";
$passwdhost="password api";
$api_puerto=8728;
$interface = $_GET["interface"]; ;

$API = new RouterosAPI();
$API->debug = false;
    if($API->connect( $iphost, $userhost, $passwdhost)){

//$getinterface = $API->comm("/interface/print");
    //$interface = $getinterface[$iface-1]['name'];
    $getinterfacetraffic = $API->comm("/interface/monitor-traffic", array(
      "interface" => "$interface",
      "once" => "",
      ));

    $rows = array(); $rows2 = array();

    $ftx = $getinterfacetraffic[0]['tx-bits-per-second'];
    $frx = $getinterfacetraffic[0]['rx-bits-per-second'];

      $rows['name'] = 'Tx';
      $rows['data'][] = $ftx;
      $rows2['name'] = 'Rx';
      $rows2['data'][] = $frx;
      
      
  }else{
        echo "Connection Failed!!";
  }
 
  $API->disconnect();

    $result = array();

    array_push($result,$rows);
    array_push($result,$rows2);
  print json_encode($result);

?>

Silahkan lakukan penyesuaian pada bagian berikut
$iphost= "ip router"; -> Di isi dengan ip router ada
$userhost="user api"; -> di isi dengan user login mikrotik anda
$passwdhost="password api"; -> di isi dengan password router mikrotik anda

Pastikan bahwa api sudah di enable pada router mikrotik anda melaui IP > SERVICE

monitor mikrotik

Untuk menampilkan menggunakan script ajax seperti berikut

$.ajax({
            url: 'data.php?interface='+interface,
            datatype: "json",
            success: function(data) {
                 var midata = JSON.parse(data);
                // console.log(midata);
                if( midata.length > 0 ) {
                    var TX=parseInt(midata[0].data);
                    var RX=parseInt(midata[1].data);
                    var x = (new Date()).getTime();
                    shift=chart.series[0].data.length > 19;
                    chart.series[0].addPoint([x, TX], true, shift);
                    chart.series[1].addPoint([x, RX], true, shift);
                    document.getElementById("tabletx").innerHTML=convert(TX);
                    document.getElementById("tablerx").innerHTML=convert(RX);
                }else{
                    document.getElementById("tabletx").innerHTML="0";
                    document.getElementById("tablerx").innerHTML="0";
                }
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                console.error("Status: " + textStatus + " request: " + XMLHttpRequest); console.error("Error: " + errorThrown);
            }       
        });

 

Download Full Script


Setelah download buka file data.php ubah $iphost,$passwdhost,$userhost dengan informasi login router anda

buka file index.html ubah value="" isi dengan interface yang ingin anda monitoring

Demo