Instalación manual: WebFig y Winbox
Instala el agente desde los menús del propio router, sin un ordenador que ejecute la CLI. Cada paso
es un formulario: su menú, los campos que hay que rellenar y el formulario tal como queda relleno.
Los valores son los que escribe mikroscope install, así que mikroscope status, upgrade y
uninstall tratan el resultado como suyo. Winbox tiene los mismos menús y campos que WebFig,
aunque ninguna instalación se ha hecho en Winbox (sin probar);
las capturas, y la instalación de la que salen, son de WebFig
(Probado en).
Antes de empezar
Sección titulada «Antes de empezar»- El router tiene RouterOS 7.24 o posterior, el paquete
containery el modo de dispositivo con los contenedores activados: Requisitos. El modo de dispositivo no tiene página en WebFig; es una orden del terminal (Modo de dispositivo). - Para las pertenencias a listas: la lista de interfaces y la lista de direcciones por las que
descarta tu firewall (
LANyLANsen la configuración por defecto de MikroTik): Listas del firewall. - Para el tar de la imagen: el tar de la arquitectura del router, renombrado
mikroscope.tar(Instalación sin conexión nombra cada uno).
Los pasos usan los valores por defecto de abajo. Para cambiar uno, cámbialo en cada paso donde aparece, el manifiesto incluido. Instalación manual: terminal lista cada valor y cómo se derivan de él los demás.
| Valor | Por defecto |
|---|---|
| Etiqueta, el Comment de cada objeto | mikroscope:mikroscope (managed by mikroscope) |
| veth | veth-mikroscope |
| Dirección del router | 172.30.10.1/30 |
| Dirección y puerto del agente | 172.30.10.2/30, 9123 |
| Envlist | mikroscope-env |
| Root dir | mikroscope/mikroscope |
| Manifiesto | mikroscope/ |
| Imagen, descarga del registro | registry-1. |
| Imagen, tar | mikroscope.tar |
Desliza en horizontal para ver todas las columnas
Deja la etiqueta tal cual, carácter a carácter: es como la CLI reconoce cada objeto como de la instalación.
Entra. Abre http:// y entra con un usuario administrador. Después elige
Advanced arriba: los pasos usan el árbol de menús completo, que Quick Set oculta.

Rellenar un formulario. Un campo que solo muestra un botón + está sin valor: pulsa + para abrirlo. Cuando RouterOS rechaza un objeto, el formulario sigue abierto con el motivo bajo sus botones.
Escribir el manifiesto
Sección titulada «Escribir el manifiesto»El manifiesto lista cada objeto que crean los pasos siguientes, para que mikroscope uninstall
los encuentre todos.
Files › New › Text File:
| Campo | Valor |
|---|---|
| Name | mikroscope/ |
| Contents | las líneas de abajo, las del origen de imagen que uses |
mikroscope-manifest=1name=mikroscopetag=mikroscope:mikroscope (managed by mikroscope)disk=veth=veth-mikroscopesubnet=172.30.10.0/30port=9123iface-list=LANaddr-list=LANsexpose=container-name=remote-image=registry-1.docker.io/jmrplens/mikroscope-agent:1.6.1token=nodir=mikroscopefile=mikroscope/mikroscope.manifest.txtobject=/interface/veth name=veth-mikroscopeobject=/ip/address interface=veth-mikroscopeobject=/interface/list/member interface=veth-mikroscope list=LANobject=/ip/firewall/address-list list=LANs address=172.30.10.0/30object=/container/envs list=mikroscope-envobject=/container interface=veth-mikroscopedir=mikroscope/mikroscopemikroscope-manifest=1name=mikroscopetag=mikroscope:mikroscope (managed by mikroscope)disk=veth=veth-mikroscopesubnet=172.30.10.0/30port=9123iface-list=LANaddr-list=LANsexpose=container-name=remote-image=token=nodir=mikroscopefile=mikroscope/mikroscope.manifest.txtobject=/interface/veth name=veth-mikroscopeobject=/ip/address interface=veth-mikroscopeobject=/interface/list/member interface=veth-mikroscope list=LANobject=/ip/firewall/address-list list=LANs address=172.30.10.0/30file=mikroscope.tarobject=/container/envs list=mikroscope-envobject=/container interface=veth-mikroscopedir=mikroscope/mikroscopeSi te saltas una pertenencia a lista, escribe none tras su iface-list= o addr-list= y quita su
línea object=. OK crea el directorio mikroscope junto con el archivo.
Script de RouterOS explica cada línea.


Crear la veth
Sección titulada «Crear la veth»Interfaces › VETH › New:
| Campo | Valor |
|---|---|
| Comment | mikroscope:mikroscope (managed by mikroscope) |
| Name | veth-mikroscope |
| Address | 172.30.10.2/30 |
| Gateway | 172.30.10.1 |
Deja el resto como está.


Añadir la dirección
Sección titulada «Añadir la dirección»IP › Addresses › New:
| Campo | Valor |
|---|---|
| Comment | mikroscope:mikroscope (managed by mikroscope) |
| Address | 172.30.10.1/30 |
| Interface | veth-mikroscope |


Añadir las pertenencias a listas
Sección titulada «Añadir las pertenencias a listas»Opcional. Dejan pasar las respuestas del agente por las reglas raw del firewall que descartan por lista de interfaces o por lista de direcciones. Una pertenencia no se limita a mikroscope: cualquier otra regla que coincida con la lista coincide también con la veth o con el /30 (Listas del firewall).
Interfaces › Interface List › New:
| Campo | Valor |
|---|---|
| Comment | mikroscope:mikroscope (managed by mikroscope) |
| List | LAN |
| Interface | veth-mikroscope |


IP › Firewall › Address Lists › New:
| Campo | Valor |
|---|---|
| Comment | mikroscope:mikroscope (managed by mikroscope) |
| List | LANs |
| Address | 172.30.10.0/30 |


Crear la envlist
Sección titulada «Crear la envlist»Container › Envs › New, una vez por entrada, todas con List mikroscope-env:
| Key | Value |
|---|---|
MIKROSCOPE_TAG |
mikroscope:mikroscope (managed by mikroscope) |
RATE_HZ |
10 |
BUFFER_S |
60 |
PORT |
9123 |
ADDR |
172.30.10.2 |
MEM_LIMIT_MB |
16 |
CAPTURE_MB |
4 |
MIKROSCOPE_TAG es como la CLI sabe que la envlist es de la instalación. Las demás claves son los
ajustes del agente: Variables de entorno.
MEM_LIMIT_MB se deriva de la frecuencia y del anillo; el
Generador de scripts lo calcula para otros valores.


Una entrada TOKEN guarda su valor en claro, y WebFig lo muestra en claro en esta lista y en su
formulario (verificado). Añádela solo para
Exponer en la LAN, y trata como secreta cualquier pantalla que la
muestre.
Crear el contenedor
Sección titulada «Crear el contenedor»Container › New:
| Campo | Valor |
|---|---|
| Comment | mikroscope:mikroscope (managed by mikroscope) |
| Remote Image | registry-1. |
| Root Dir | mikroscope/mikroscope |
| Privileged | marcado |
| Interface | veth-mikroscope |
| Envlists | mikroscope-env |
| Memory Max | 64M |
| Logging | marcado |
| Start On Boot | marcado |
| Restart Policy | on failure (non 0 exit code) |
| Restart Interval | 00:00:10 |
| Restart Max Count | 5 |
Deja Name vacío: RouterOS nombra el contenedor a partir de la imagen. OK empieza la descarga: el router descarga la imagen de su propia arquitectura, así que necesita llegar al registro y tener sitio para las capas.



Espera a download/extract done en Log. Entonces la fila está lista para arrancar, y aún no
lleva la marca R.

-
Files › Upload…, y elige
mikroscope.tar. Queda en la raíz del almacenamiento del router.
Files › Upload… -
Container › New, con los campos de la descarga del registro pero File
mikroscope.taren lugar de Remote Image:
Container › New -
Espera a
download/extract doneen Log.
Container
Conserva el tar hasta terminar el paso siguiente.
Poner ignore-remote-image-change
Sección titulada «Poner ignore-remote-image-change»En el terminal, pon ignore-remote-image-change y nombra restart-policy en la misma orden: un
/container/set que no nombra restart-policy la devuelve a always
(verificado).
/container/set [find comment="mikroscope:mikroscope (managed by mikroscope)"] ignore-remote-image-change=yes restart-policy=on-failure:put [/container/get [find comment="mikroscope:mikroscope (managed by mikroscope)"] ignore-remote-image-change]:put [/container/get [find comment="mikroscope:mikroscope (managed by mikroscope)"] restart-policy]Las dos lecturas imprimen true y on-failure. install lo pone con los dos orígenes de imagen:
sin él, RouterOS para y borra el contenedor por su cuenta en cuanto se borra el tar, y lo vuelve a
crear minutos después.

Con el tar de la imagen, bórralo ahora: Files, selecciona mikroscope.tar, Remove.

Arrancar y verificar
Sección titulada «Arrancar y verificar»-
Container, selecciona la fila y después Start en el panel Actions.

Container › Start La fila recibe la marca
R(en marcha).
Container -
Log, con Filter activado y Topics contains
container: el registro termina con*** started /mikroscope-agenty la línea propia del agente.
Log -
En el terminal, pregunta al agente desde el router:
:put ([/tool/fetch url="http://172.30.10.2:9123/healthz" output=user as-value]->"data")Imprime
{"ok":true,…}.
Terminal
Desde un ordenador de la LAN del router, curl http://172.30.10.2:9123/ responde lo mismo,
y mikroscope status --router … lista cada objeto de la instalación
(Acceso por red si no responde).
Retirar
Sección titulada «Retirar»Desde un ordenador con la CLI, mikroscope uninstall --router … --yes lee el manifiesto, retira
todo lo que han creado los pasos de arriba y comprueba que no queda nada
(Actualizar y desinstalar). Desde los menús, retira en este orden:
-
Container: selecciona la fila, Stop en el panel Actions, espera a que desaparezca la marca
Ry después Remove. RouterOS borra el root dir,mikroscope/mikroscope, con el contenedor; si Files aún lo lista, bórralo también ahí.
Container › Stop, Remove -
Container › Envs: selecciona las siete entradas de
mikroscope-env, Remove.
Container › Envs › Remove -
IP › Firewall › Address Lists: la entrada
172.30.10.0/30, Remove. -
Interfaces › Interface List: el miembro
veth-mikroscope, Remove. -
IP › Addresses:
172.30.10.1/30, Remove. -
Interfaces › VETH:
veth-mikroscope, Remove. -
Files:
mikroscope/, Remove; después el directoriomikroscope. manifest.txt mikroscope, si no contiene nada más.
Files › Remove
Un tar que haya quedado de una extracción sin terminar también se va: Files, mikroscope.tar,
Remove.