Preguntas frecuentes
Cada respuesta es la versión corta de una página que tiene el detalle, y enlaza a ella.
MIPS y TILE
Sección titulada «MIPS y TILE»mikroscope no funciona en routers MIPS ni TILE. El agente se ejecuta en un contenedor de RouterOS,
y MikroTik publica el paquete container solo para arm, arm64, x86 y CHR (la lista de paquetes de
MikroTik). mikroscope compila su
agente para arm64, arm y x86_64. En una placa MIPS o TILE, la herramienta es SNMP o un exportador de
la API: Cuándo usar otra herramienta.
Routers probados
Sección titulada «Routers probados»Probado en enumera cada equipo y versión de RouterOS en los que ha funcionado mikroscope, físicos y virtuales, con lo que se ejecutó en cada uno y lo que no se ha probado. Un informe de placa desde otro router lo añade allí.
Por qué RouterOS 7.24
Sección titulada «Por qué RouterOS 7.24»El paso del contenedor escribe privileged=, un atributo que RouterOS añadió en la 7.24, diga lo
que diga --privileged. doctor y el script de instalación comprueban primero la versión y se
detienen en una anterior sin escribir nada:
Requisitos.
Botón de device-mode
Sección titulada «Botón de device-mode»MikroTik lo diseñó así. Device-mode limita lo que permite un router, para protegerlo de un atacante
que haya conseguido acceso, así que cambiarlo exige acceso físico: tras
/system/, alguien pulsa el botón reset o mode, o corta la
alimentación del router, en menos de cinco minutos (la página de device-mode de
MikroTik). Ninguna
herramienta puede hacerlo en remoto:
Device mode.
Coste para el router
Sección titulada «Coste para el router»Con los 10 Hz por defecto de la instalación, el agente cuesta 2,69 % de un núcleo y 13,2 MiB de memoria, leídos de su propio cgroup, y cuesta 16,83 % a 100 Hz. Eso supera el presupuesto de CPU del propio proyecto, de 2 %, y cabe en su presupuesto de memoria, de 16 MiB: Coste del agente, con cómo medirlo en tu router.
Uso en producción
Sección titulada «Uso en producción»El agente nunca se conecta hacia fuera y no presenta ninguna credencial. Cada escritura se enumera
antes de hacerse y va etiquetada, y uninstall retira todo lo que creó la instalación y verifica
que no queda nada: un ciclo con guion dejó el /export del router idéntico byte a byte
(verificado). El contenedor se ejecuta con
privileged=yes, una concesión real: Modelo de seguridad.
Tráfico de interfaces
Sección titulada «Tráfico de interfaces»No desde dentro del contenedor. /proc/net/dev y los demás ficheros de red van por espacio de
nombres de red, así que allí cuentan la propia veth del contenedor, y privileged=yes no lo
cambia. Los bytes y paquetes por interfaz vienen de la API de RouterOS, que el colector fusiona con
el reloj del agente:
Visibilidad del contenedor.
Ventana de cpu-load
Sección titulada «Ventana de cpu-load»Alrededor de un segundo. El cpu-load de RouterOS sigue una media móvil de aproximadamente un
segundo del tiempo ocupado del kernel, llega a la API una fracción de segundo tarde y no es una media
de sesenta segundos (medido). Una ráfaga más
corta que ese segundo queda promediada dentro: Capa de la API de
RouterOS.
SNMP y mktxp
Sección titulada «SNMP y mktxp»mikroscope no sustituye a SNMP ni a mktxp. Tampoco sustituye a la API de RouterOS, de la que toma el tráfico por interfaz. Lo que añade es la vista del propio kernel, que ninguno de los otros documenta leer: ticks por núcleo hasta a 100 Hz, softirqs, descartes y squeezes de softnet, y el log del kernel. Donde no se ejecuta ningún contenedor, la herramienta es SNMP o mktxp: Comparado con alternativas.
Dashboards de Grafana
Sección titulada «Dashboards de Grafana»install no configura Grafana: solo escribe en el router. Lo hace el colector, cuando se ejecuta
con --grafana <url> y un token de cuenta de servicio de Grafana en GRAFANA_TOKEN: en cada
arranque crea o corrige la fuente de datos y publica el dashboard de cada almacén que sabe
describir: InfluxDB, Elasticsearch y PostgreSQL (con --postgres) sin más, y Prometheus y Graphite
cuando se les da la dirección en --grafana-datasource-url.
mikroscope dashboards publish, con las opciones de destino del colector y --grafana, hace lo
mismo una sola vez sin recoger, y dashboards import o la importación del propio Grafana asocian un
dashboard a una fuente de datos que ya tienes:
Configurar en Grafana.
Conexiones salientes
Sección titulada «Conexiones salientes»El agente no envía nada fuera del router. Sirve HTTP en la dirección de su veth, no abre ninguna
conexión saliente y no busca actualizaciones. Tu colector tira de él, y cada token de destino y
credencial de la API se queda en tu equipo, porque todo lo que está en la envlist del contenedor se
trata como legible por cualquier usuario de RouterOS con read:
Modelo de seguridad.