Tech-nico.com

API MIKROTIK – Graficar el trafico de nuestros clientes y mostrar el log

Hola viejos amigos!. Algo que me han preguntado bastante es como hacer que el cliente o nosotros mismos veamos las graficas de consumo con el API de Mikrotik. Y para su sorpresa les cuento que esta parte se hace sin el API.

Estudiemos la ruta que nos da mikortik para ver el graph de un cliente:

Nota: Comprobar que en /tools/graphing  este graficando todos los queues.

http://200.20.30.40:8080/graphs/queue/%3Cpppoe-fduckardt52104%3E/

OK como veran.. aqui pueden haber 3 datos variables:

  1. La direccion IP del RouterOS.
  2. El puerto de www (/ip/services).
  3. El nombre del pppoe: fduckardt52104

Si Inspeccionamos el código de esta imagen con en el navegador veremos que solo se agrega /daily.gif al final de la URL quedando así:

http://200.20.30.40:8080/graphs/queue/%3Cpppoe-fduckardt52104%3E/daily.gif

Hagamoslo mas interesante:
Ahora que ya sabemos la ruta exacta de cada gráfica (no tuvimos que usar el api), es cuestión de armar esto con PHP, pero para que sea un poco mas interesante vamos dale uso del API para hacer que si el usuario pppoe esta activo, mostramos el Graph usando la ruta anterior, pero si no esta conectado, mostramos el log del usuario. Para ello vamos a armar un buscador de usuarios activos.

Si el usuario esta desconectado.

Si el usuario esta activo

Archivos importantes:

<!--
////////////////////////////////////////////////////////////////////
// ESTE EJEMPLO SE DESCARGO DE www.tech-nico.com ///////////////////
// Creado por: Nicolas Daitsch. Guatrache. La Pampa ////////////////
// Contacto: administracion@tech-nico.com //////////////////////////
// RouterOS API: Busco Usuario PPPoE activo y muestro Graph o Log //
////////////////////////////////////////////////////////////////////
-->
<?php
session_start();
$_SESSION['api_ip'] ="192.168.0.1"; // Tu RouterOS
$_SESSION['api_user'] ="tu_usuario";
$_SESSION['api_pass'] ="tu_password";
$_SESSION['api_port'] =8728;
$_SESSION['www_port'] =80;
?>

Desde este archivo se configura todo!!. Solo tienes que modificar las variables que están justo aquí arriba en el archivo log.php.
Si sigues mirando un poco mas abajo de los seteos veras que en esta ocasión estoy usando el framework de Mootools, aunque por el poquito código que estamos usando tranquilamente podríamos hacerlo todo con javascript (ajax).  Lo dejo a tu criterio.

Importante: para buscar tienes que escribir el nombre exacto del secret. Y luego presionar la tecla Enter.

Buscar Secret con el API de Mikrotik.

Espero que te haya gustado, puedes probar, investigar mi código y ademas modificarlo, pero asegúrate de no quitar las lineas del autor.

Descarga aqui el codigo de este ejemplo

Este post fue escrito por Nicolas. Primero en tech-nico.com/blog

Salir de la versión móvil