API MIKROTIK [Updated] Graficar Interfaces o Queues en tiempo real con Highcharts y PHP


Nueva Versión Actualizada

Todos lo que leyeron la primera versión de «Graficar trafico de interfaces en tiempo real con Highcharts y PHP«, aquí les traigo la nueva versión con bastantes fixes que detallo a continuación:

  • Actualización de la librería de que conecta con el API de Denis Basta desde la versión 1.4  a la versión 1.6.
  • Actualizacion de la libreria Highcharts, pasando de v3.0.5 a v6.1.1. (ultima hasta el dia de hoy 30/05/18).
  • Se agrego un parámetro para graficar Interfaces o Queues a elección.
  • Se agrego función para formatear correctamente los bytes y mostrar bien los bytes, megas, etc.
  • Cambio de estilos y colores por unos mas amigables.

La configuración es la misma que en el post anterior.

Espero que les guste!.

Descargar Ejemplo de Graficar interfaces o queues en tiempo real version 2.0

______________

Primero en tech-nico.com

16 comentarios en “API MIKROTIK [Updated] Graficar Interfaces o Queues en tiempo real con Highcharts y PHP

  1. hello friend , i tried to put the same config as you did in the video
    im getting this error

    Uncaught SyntaxError: Unexpected token C in JSON at position 0
    at JSON.parse ()
    at Object.success ((index):23)
    at n (jquery.min.js:2)
    at Object.fireWith [as resolveWith] (jquery.min.js:2)
    at w (jquery.min.js:4)
    at XMLHttpRequest.d (jquery.min.js:4)
    12:21:35.068

    any help ?
    would be gratefull

  2. Hi there! This error could be because the file data.php it isnt’t bringing data from your RouterOS. You need to check that you made the setup properly, just for be sure, check the following points:

    • you must have created the user credentials with the right polices (read, write, api)
    • Ensure that your API service port is enabled, and add a rule in your firewall filter to accept all the traffic incoming to this port
    • Edit data.php and change the var debug=false to debug=true, only for testing purposes

    Finally run data.php directly from your browser with this URL: http://yourserver/api_higchart_folder/data.php?interface=ether1 (change for your own values).
    If you want, you could try testing the new version, because it have a lot of fixes and improvements; Here you are:

    Thanks for reading my blog. (where are u from?)
    Regards!.

  3. Estimado, al modificar la librería para que pueda elegirse el puerto te falto corregir la linea 102. En la misma hay un llamado a $port de la siguiente manera $this->error_no. De esa manera no se llama al $port pasado por parámetro sino al propio de la librería original. Me dí cuenta ya que el hosting que utilizo me bloquea la salida por el puerto 8728 (casi todos en realidad) y debo hacerlo salir por otro (por ello suelo hacer la misma modificación en la librería).

  4. Jose, acabo de implementarlo en un proyecto y salio andando de una. Debuggea, tenes algo mal.

  5. gracias por responder. tengo todo segun tutorial y comentarios sobre el mismo tema. sera que hay algunos requisitos que no estoy cumpliendo. utilizo el rb3011 de mikrtotik. gracias nuevamente

  6. Hola, google me trajo acá. Si serias tan amable de despejarme unas dudas:
    Necesito levantar los consumos de los usuarios de un Mikrotik, para armar una estadística mensual.
    Estoy bastante perdido por que soy «programador» no se mucho de Mikrotik.
    1- Se puede «emular/virtualizar» el RouterOS y un par de usuarios como para probar la API ya que no tengo acceso a un Mikrotic? GNS3 me soluciona eso?
    2- El mikrotik ya te da algún tipo de estadísticas o lo mejor es armar una base de datos en mi servidor con los datos que necesito mostrar y persistir los datos a través de la API.
    3- Esas consultas con la API podrían afectar el rendimiento del router?
    Gracias al que pueda responder, seguiré leyendo tu blog seguro me despeje dudas.

  7. Hola @Mr Ziggy,
    1) Si, emular definitivamente SI, Con GNS3 podes hacerlo sin drama. Tambien hay una version Cloud Hosted Router para instalar en Amazon o en servidores Cloud VmWare y otros. Hay imagenes VHDX, VDI, OVA, RAW.
    2) Si, tenes que armar Queues simples, asi sean estáticas o dinámicas y de esa manera podes ver en TX y RX la cantidad consumida en bytes. En este caso lo que sucede es que si reinician el RouterOS por algun motivo, esos valores inician de cero.
    3) No, para nada. Porque no lo necesitas en tiempo real. Podes pedirlos a medida que los necesites.

    Slds.

  8. Hola, tengo una duda, el script funciona correctamente, pero pregunto, al ser en tiempo real, el log se llena de login/logout del user para la API, sabes como se podria desactivar del log esas entradas y salidas? O que solución eficiente recomendarias hacer?

  9. Excelente trabajo, me has salvado amigo, comenzaba a trabajar con la API de mikrotik por solicitud de la empresa y tú me has ahorrado el trabajo de buscar como mostrar los valores obtenidos. Desde ya, que todo está bien echo, me parece que muestra un error pero es por Jquery, de lo demás funciona de perlas.

  10. Hola, will continue in english.

    i update to mikrotic 6.45.3
    No way to connect .
    I try with debug mode :
    Connection attempt #1 to 192.168.88.1:8728… <<>> [5/5] bytes read. >>> [5, 39]!done >>> [37/37] bytes read. >>> [37, 1]=ret=91f8ca6b46b4538111d7792da52fd620 <<< [6] /login <<< [9] =name=api <<>> [5/5] bytes read. >>> [5, 51]!trap >>> [42/42] bytes read. >>> [42, 8]=message=invalid user name or password (6) >>> [5/5] bytes read. >>> [5, 1]!done

    Any idea ?

    Gracias.

  11. Amigo porque me funciona en el localhost y lo subo a un cPanel y carga los complementos de los gráficos pero no activa el gráfico en tiempo real. Lo probé en localhost en una red fuera del Mikrotik para confirmar que había acceso remoto al api y funciona.. pero en cPanel no va
    .. espero puedas ayudarme

Deja un comentario