Ir al contenido

Primera grabación

Graba el kernel del router mientras cambias algo en él, y lee en un solo gráfico qué hizo el cambio. Para esto hace falta un agente ya instalado: Instalación rápida pone uno.

  • mikroscope status --router admin@192.168.88.1 imprime una línea agent:. Las órdenes de abajo llegan al agente en su dirección por defecto, 172.30.10.2:9123; pasa --subnet y --port si instalaste con otras.
  • Para el paso 3, un usuario de la API de RouterOS con acceso de lectura. Usuario de la API tiene las dos órdenes que lo crean.

El paso 3 lee tres variables de entorno:

Variable Opción
MIKROSCOPE_API_ADDR --api
MIKROSCOPE_API_USER --api-user
MIKROSCOPE_API_PASSWORD ninguna

La contraseña no tiene opción, así que no aparece en ps ni en el historial de tu shell. La CLI no lee .env por su cuenta: exporta las variables, o copia .env.example a .env y cárgalo con set -a; . ./.env; set +a. Variables de entorno enumera todas.

  1. Graba mientras haces el cambio.

    Ventana de terminal
    mikroscope record --for 60s --out burst

    En un terminal, escribe una línea y pulsa Intro en cualquier momento que quieras recordar: se convierte en una marca con el reloj del agente. La CLI lo dice al arrancar: type a line and press Enter to add a marker; Ctrl-C stops. Sin --for graba hasta Ctrl-C. Al terminar imprime lo que escribió:

    recorded 600 samples (seq 11..610), 0 gap(s), 0 marker(s), via direct http://172.30.10.2:9123
    burst.jsonl
    burst.csv
    burst.markers.csv
    burst.meta.json

    El resumen cuenta las marcas escritas en el propio record, y nombra cualquier tramo de muestras que ya hubiera salido del anillo del agente.

  2. Marca desde otro terminal.

    Ventana de terminal
    mikroscope mark --out burst "queue tree applied"

    Imprime marker added to burst.markers.csv at <time>. mark añade al mismo fichero mientras record sigue, y también funciona después de la grabación.

  3. Añade el log del propio router.

    Ventana de terminal
    export MIKROSCOPE_API_ADDR=192.168.88.1:8728 MIKROSCOPE_API_USER=mikroscope MIKROSCOPE_API_PASSWORD=…
    mikroscope mark --out burst --log-markers --router-tz Europe/Madrid

    Cada línea del log dentro de la ventana de la grabación cuyo tema sea system, interface o container se convierte en una marca:

    7 log marker(s) added to burst.markers.csv (window <start> → <end>, topics system,interface,container)

    Añade firewall o script con --topics. --router-tz es la zona IANA que muestra el reloj del router, porque las horas del log de RouterOS no llevan zona; por defecto es la de tu máquina. record --log-markers hace lo mismo al acabar la grabación.

  4. Dibújalo.

    Ventana de terminal
    mikroscope plot --in burst

    Escribe burst.svg e imprime burst.svg: 600 samples, 10 markers. --title fija el título y --svg otra ruta. La misma grabación da siempre los mismos bytes.

  5. Sigue recogiendo (opcional). Para guardar las muestras y no solo una ventana, ejecuta el colector hacia Prometheus, InfluxDB 3 u otro destino; con --grafana también publica el dashboard (Configurar en Grafana).

El gráfico tiene tres paneles sobre un mismo eje de tiempo:

  • Ocupación por núcleo. La parte de cada tick de 100 ms que un núcleo pasó trabajando. Una muestra de un núcleo al 100 % son 100 ms de trabajo, y mueve una media de cuatro núcleos y un segundo solo 2,5 %: las excursiones cortas que una media esconde son el motivo de muestrear a 10 Hz.
  • softnet, por segundo. dropped cuenta los paquetes que el kernel perdió de su cola, que ningún contador de interfaz muestra; time_squeeze cuenta las veces que el kernel se contuvo. Un squeeze por sí solo no es una avería.
  • Memoria disponible. Lo que el kernel podría entregar sin recurrir al swap.

Cada marca es una línea vertical discontinua, dibujada en todos los paneles, con su etiqueta al lado. Las marcas del log que caen en el mismo segundo se funden en una línea etiquetada N× con el primer mensaje. Un hueco en las muestras es una línea roja. Una etiqueta de más de 40 caracteres se corta a 37 y unos puntos suspensivos.

Línea base en reposo lee línea a línea una grabación real de un router en reposo, la forma con la que se comparan las demás, y Diagnosticar fallos tiene las firmas que deja una avería en estos paneles.

Ventana de terminal
mikroscope uninstall --router admin@192.168.88.1 --yes

Retira cada objeto que creó la instalación, leyendo la lista del manifiesto de la instalación en el router, y termina con verified: nothing mikroscope created remains on the router. Sin --yes solo los enumera. Actualizar y desinstalar tiene lo que nunca toca, y cómo quitar dashboards y datos guardados.