mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-01 10:22:08 +00:00
249 lines
22 KiB
JSON
249 lines
22 KiB
JSON
{
|
|
"meta": {
|
|
"title": "ProxMenux Monitor — Panel: Hardware | Documentación de ProxMenux",
|
|
"description": "La pestaña Hardware inventaría la máquina física: CPU y placa base, módulos de memoria, sensores térmicos, GPUs (con monitorización en tiempo real por slot e instalador de drivers en un clic), aceleradoras Coral TPU, resumen de almacenamiento con comprobaciones de velocidad de enlace, listas completas de dispositivos PCI y USB, consumo de energía, PSUs, ventiladores y estado del UPS."
|
|
},
|
|
"header": {
|
|
"title": "Panel: pestaña Hardware",
|
|
"description": "La máquina física en una sola pantalla — identidad de CPU y placa base, cada módulo de memoria, sensores térmicos en todos los subsistemas, GPUs con utilización en vivo e instalador de drivers integrado, Coral TPUs, cada dispositivo PCI y USB con su kernel driver, el inventario completo de discos con las velocidades de enlace negociadas, además de energía, refrigeración y el UPS.",
|
|
"section": "ProxMenux Monitor · Panel"
|
|
},
|
|
"intro": {
|
|
"title": "Construido a partir de herramientas estándar",
|
|
"body": "La mayor parte de esta pestaña se parsea de <code>lscpu</code>, <code>dmidecode</code>, <code>lspci</code>, <code>lsusb</code>, <code>lsblk</code>, <code>smartctl</code>, <code>nvme</code>, <code>sensors</code>, <code>nvidia-smi</code>, <code>intel_gpu_top</code>, <code>amdgpu_top</code>, <code>ipmitool</code> y <code>upsc</code>. Las secciones solo se renderizan cuando la herramienta correspondiente devuelve datos, así que un host sin UPS no mostrará la tarjeta UPS y un host sin IPMI no mostrará cifras de energía out-of-band."
|
|
},
|
|
"thresholds": {
|
|
"title": "Colores de estado y umbrales aplicados aquí",
|
|
"intro": "Cada indicador y lectura de temperatura usa la misma escala: <green/> <strong>verde</strong> por debajo de Advertencia, <amber/> <strong>ámbar</strong> entre Advertencia y Crítico, <red/> <strong>rojo</strong> desde Crítico. Valores recomendados incluidos con ProxMenux:",
|
|
"items": [
|
|
"<strong>Temperatura de CPU</strong>: advertencia 80 °C, crítico 90 °C.",
|
|
"<strong>Temperatura de disco</strong>: HDD 60/65 °C · SSD 70/75 °C · NVMe 80/85 °C · SAS 55/65 °C (advertencia / crítico)."
|
|
],
|
|
"outro": "Los valores se configuran por host; <link>Ajustes → Umbrales del monitor de salud</link> documenta y centraliza su ajuste."
|
|
},
|
|
"sections": {
|
|
"heading": "Secciones",
|
|
"intro": "Las secciones aparecen en este orden de arriba abajo. Algunas requieren el hardware o la herramienta correspondiente; se indican como <em>(condicional)</em>.",
|
|
"systemInfoTitle": "Información del sistema",
|
|
"systemInfoIntro": "Dos bloques uno al lado del otro, siempre presentes:",
|
|
"systemInfoItems": [
|
|
"<strong>CPU</strong>: modelo, microarquitectura, sockets, núcleos, hilos, frecuencias base y turbo, capacidades de virtualización (VT-x / AMD-V) y topología de caché.",
|
|
"<strong>Placa base</strong>: fabricante, modelo, versión y fecha de BIOS y UUID SMBIOS. Sirve para localizar la página de descarga correcta del fabricante al buscar firmware."
|
|
],
|
|
"memoryTitle": "Módulos de memoria",
|
|
"memoryBody": "Una fila por slot ocupado según <code>dmidecode</code>: etiqueta, capacidad del módulo, tipo (DDR4 / DDR5 / variantes ECC), velocidad configurada y nominal, fabricante, referencia y número de serie. Los slots vacíos aparecen atenuados para mostrar el margen de ampliación.",
|
|
"thermalTitle": "Monitoreo Térmico",
|
|
"thermalIntro": "Siete bloques alimentados por <code>lm-sensors</code>, <code>sysfs</code> y lectores específicos de cada herramienta. Los sensores hwmon de almacenamiento se asocian al dispositivo de bloques físico, con su modelo y ruta <code>/dev/...</code>. Cada bloque se oculta si no hay sensores en su categoría.",
|
|
"thermalItems": [
|
|
"<strong>CPU</strong>: temperatura del encapsulado y de cada núcleo.",
|
|
"<strong>GPU</strong>: sensores de GPU dedicada mediante <code>nvidia-smi</code> / <code>amdgpu_top</code> y de iGPU Intel. Incluye punto caliente y unión de memoria cuando el controlador los ofrece.",
|
|
"<strong>NVME</strong> — temperatura composite del controlador asociada a su namespace NVMe exacto.",
|
|
"<strong>HDD</strong> — lecturas de <code>drivetemp</code> para dispositivos de bloques rotacionales.",
|
|
"<strong>SSD</strong> — lecturas de <code>drivetemp</code> para dispositivos de bloques SATA/SAS no rotacionales.",
|
|
"<strong>PCI</strong> — sensores que aparecen como dispositivos conectados a PCI (HBAs, tarjetas de red con sensores internos).",
|
|
"<strong>OTHER</strong> — chipset, VRM, sensores ambiente que no encajan en otro sitio."
|
|
]
|
|
},
|
|
"graphics": {
|
|
"heading": "Tarjetas gráficas",
|
|
"intro": "Cada controlador de vídeo aparece en una tarjeta con fabricante, modelo, tipo (<em>Integrada</em> / <em>PCI</em> / BMC), dirección PCI (BDF), controlador del kernel y módulos. <strong>Cambiar modo</strong> alterna entre compartir la GPU con LXC (controlador nativo) y passthrough a VM (<code>vfio-pci</code>). <link>Cambiar modo GPU (VM ↔ LXC)</link> explica sus efectos en el host.",
|
|
"vfioImageAlt": "Sección Graphics Cards mostrando una GPU integrada Matrox G200EH atada a mgag200 (Ready for LXC) y una NVIDIA Quadro P400 atada a vfio-pci (Ready for VM passthrough)",
|
|
"vfioImageCaption": "Dos GPUs detectadas: el chip BMC Matrox está en el driver nativo y listo para LXC; la NVIDIA Quadro P400 está atada a <code>vfio-pci</code>, lista para passthrough a VM.",
|
|
"lxcImageAlt": "Tarjetas gráficas: iGPU Intel UHD Graphics con i915 y NVIDIA Quadro P1000 con nvidia, ambas listas para contenedores LXC",
|
|
"lxcImageCaption": "Mismo nodo después de devolver la tarjeta NVIDIA al driver nativo — ambas GPUs ahora Ready for LXC containers.",
|
|
"realtimeTitle": "Ventana de monitorización en tiempo real",
|
|
"realtimeBody": "Pulsa una GPU para abrir su monitorización por slot, que consulta la herramienta del fabricante cada tres segundos. Muestra fabricante, tipo, slot PCI, controlador, módulos del kernel, uso de motores (Render/3D, Video, Blitter, VideoEnhance), frecuencias de gráficos y memoria, temperatura, consumo si está disponible, VRAM y procesos activos con carga por proceso. Datos de <code>/api/gpu/<slot>/realtime</code>.",
|
|
"toolsIntro": "Herramienta del fabricante usada para cada GPU:",
|
|
"headerVendor": "Proveedor",
|
|
"headerTool": "Herramienta",
|
|
"headerProject": "Proyecto",
|
|
"tools": [
|
|
{
|
|
"vendor": "NVIDIA",
|
|
"tool": "nvidia-smi",
|
|
"projectLabel": "developer.nvidia.com",
|
|
"projectHref": "https://developer.nvidia.com/nvidia-system-management-interface"
|
|
},
|
|
{
|
|
"vendor": "iGPU Intel",
|
|
"tool": "intel_gpu_top (igt-gpu-tools)",
|
|
"projectLabel": "gitlab.freedesktop.org",
|
|
"projectHref": "https://gitlab.freedesktop.org/drm/igt-gpu-tools"
|
|
},
|
|
{
|
|
"vendor": "AMD",
|
|
"tool": "amdgpu_top",
|
|
"projectLabel": "github.com/Umio-Yasuno/amdgpu_top",
|
|
"projectHref": "https://github.com/Umio-Yasuno/amdgpu_top"
|
|
},
|
|
{
|
|
"vendor": "Matrox / ASPEED (BMC)",
|
|
"tool": "— (solo visualización)",
|
|
"projectLabel": "Detectado y etiquetado como BMC; sin bloque realtime."
|
|
}
|
|
],
|
|
"nvidiaImageAlt": "Monitorización de NVIDIA Quadro P1000: fabricante NVIDIA, controlador nvidia cargado, frecuencia gráfica 1.26 GHz, memoria 2.50 GHz, temperatura 50 °C, motores al 0 %, sin procesos activos y memoria total 4096 MiB",
|
|
"nvidiaImageCaption": "NVIDIA Quadro P1000 con controlador propietario: frecuencias, temperatura, barras de uso de motores y procesos activos.",
|
|
"intelImageAlt": "Monitorización de iGPU Intel UHD Graphics con controlador i915: consumo 11.31 W, carga de vídeo 1 % y proceso ffmpeg con 8 MB",
|
|
"intelImageCaption": "iGPU Intel con <code>i915</code> activo. La tabla Active Processes recoge un job ffmpeg usando el motor de video.",
|
|
"amdImageAlt": "Monitorización de GPU integrada AMD Lucienne con amdgpu: motores al 0 % y amdgpu_top como proceso activo",
|
|
"amdImageCaption": "iGPU AMD monitorizada con <code>amdgpu_top</code>. La herramienta aparece como proceso activo porque obtiene los datos en vivo.",
|
|
"installTitle": "Instalar el controlador NVIDIA desde la ventana",
|
|
"installBody": "Si una GPU NVIDIA usa <code>nouveau</code>/<code>nvidiafb</code> sin controlador propietario, no se pueden leer frecuencias, consumo ni carga por proceso. La ventana muestra <strong>Instalar controladores NVIDIA</strong>, que ejecuta el script de <link>Instalar controladores NVIDIA (Host)</link>.",
|
|
"noDriverAlt": "Monitorización de NVIDIA Quadro P620 con nvidiafb y nouveau cargados, aviso Monitorización ampliada no disponible y botón azul Instalar controladores NVIDIA",
|
|
"noDriverCaption": "Sin driver propietario instalado todavía — la modal muestra un instalador de un solo clic.",
|
|
"promptAlt": "Confirmación de instalación de controladores NVIDIA, con GPU detectadas, contenedores LXC con passthrough NVIDIA y botones Sí/Cancelar",
|
|
"promptCaption": "Resumen pre-instalación: GPUs detectadas, contenedores LXC que ya tienen passthrough NVIDIA y qué hará el script. No se toca nada hasta que confirmas.",
|
|
"successAlt": "Salida de terminal mostrando el driver NVIDIA 580.105.08 instalado correctamente y nvidia-smi reportando una Quadro P620",
|
|
"successCaption": "Instalación correcta — el <code>.run</code> de NVIDIA construido vía DKMS, el servicio de persistencia en su sitio y <code>nvidia-smi</code> reportando la GPU.",
|
|
"warningTitle": "Elige una versión de driver que tu GPU soporte de verdad",
|
|
"warningBody": "Las ramas nuevas de NVIDIA eliminan soporte para GPU antiguas, como Maxwell o Kepler. Si termina la instalación pero <code>nvidia-smi</code> muestra <em>\"No devices were found\"</em> o falla DKMS, puede que la rama no sea compatible. Repite el instalador con una rama anterior, como legacy 470.x para Kepler. Consulta la compatibilidad en la <a>página oficial de búsqueda de controladores</a>.",
|
|
"whereGoIntro": "Por dónde seguir desde aquí:",
|
|
"whereGoItems": [
|
|
"<link1>Instalar controladores NVIDIA (Host)</link1>: guía del instalador, matriz de compatibilidad del kernel, parche NVENC opcional y propagación a LXC.",
|
|
"<link2>Cambiar modo GPU (VM ↔ LXC)</link2>: efectos del control <em>Cambiar modo</em> de la tarjeta.",
|
|
"<link3>Añadir GPU a VM (passthrough)</link3> y <link4>Añadir GPU a LXC</link4>: primera asignación de una GPU sin asociar."
|
|
]
|
|
},
|
|
"coral": {
|
|
"heading": "Coral TPU / Aceleradoras de IA",
|
|
"subHeading": "(condicional)",
|
|
"intro": "Aparece cuando hay dispositivos Google Coral u otras aceleradoras de IA conectadas. Cada dispositivo abre sus detalles: conexión (M.2 / mini-PCIe / USB), ancho PCIe, ID de fabricante/producto, soporte de software (<code>apex</code> del kernel para PCIe, <code>libedgetpu</code> de usuario para USB), módulos (<code>gasket</code> + <code>apex</code>), nodos (<code>/dev/apex_*</code>), estado del runtime Edge TPU, temperatura en vivo y umbrales de aviso del firmware.",
|
|
"imageAlt": "Modal de detalle Coral Edge TPU: conexión PCIe / M.2, enlace PCIe 5.0 GT/s x1, vendor 1ac1:089a, kernel driver apex, módulos gasket y apex cargados, /dev/apex_0 presente, Edge TPU Runtime no instalado, temperatura 53.5 °C con umbrales de aviso de hardware",
|
|
"imageCaption": "Coral M.2 con los módulos de kernel del host cargados, el nodo de dispositivo arriba y los avisos de temperatura del firmware expuestos. La línea del runtime se pone verde una vez instalado el runtime Edge TPU correspondiente.",
|
|
"pathsIntro": "Hay dos vías de instalación según el formato:",
|
|
"pathsItems": [
|
|
"<strong>M.2 / Mini-PCIe</strong> — el host necesita los módulos de kernel <code>gasket</code> + <code>apex</code> construidos vía DKMS para que el nodo de dispositivo <code>/dev/apex_0</code> aparezca en el arranque.",
|
|
"<strong>USB Accelerator</strong> — el host solo necesita el runtime de espacio de usuario Edge TPU (<code>libedgetpu1-std</code>) desde el repositorio APT de Google."
|
|
],
|
|
"outro": "Una sola entrada, <installLink>Instalar Coral TPU en el host</installLink>, detecta y gestiona ambos tipos. Consulta el contexto y runtime oficial en <a>coral.ai/docs</a>. Después, asígnalo a un contenedor con <lxcLink>Añadir Coral TPU a LXC</lxcLink>."
|
|
},
|
|
"storage": {
|
|
"heading": "Resumen de almacenamiento",
|
|
"intro": "Todos los dispositivos de bloques conocidos por el kernel, agrupados por tipo. Cada disco muestra su nombre (<code>sda</code>, <code>nvme0n1</code>, <code>zram0</code>…), tipo (<em>SSD</em>, <em>HDD</em>, <em>NVMe SSD</em>), modelo y enlace negociado. Pulsa para abrir modelo, número de serie, capacidad, interfaz y velocidad actual y máxima.",
|
|
"imageAlt": "Tarjeta Storage Summary listando once dispositivos de bloque (SSDs SATA, HDDs SATA, SSDs NVMe y zram) con cadenas de modelo y velocidades de enlace negociadas; los dos discos NVMe muestran 3.0 x4 con la velocidad actual resaltada",
|
|
"imageCaption": "Once dispositivos en este nodo. Los enlaces SATA aparecen como <em>SATA <version>, <Gb/s> (current: ...)</em>; los NVMe como <em><PCIe gen> x<width></em>.",
|
|
"nvmeBody": "La línea de cada NVMe compara el enlace negociado con el máximo admitido. Si difieren, como un SSD Gen3 x4 funcionando a <strong>3.0 x1</strong> en un slot de un solo carril, el valor actual aparece en ámbar. Permite detectar enlaces limitados al investigar discos lentos o cambios de carriles tras actualizar BIOS.",
|
|
"nvmeModalAlt": "Modal de detalle de disco NVMe para nvme0n1: tipo NVMe SSD, 953.9 GB de capacidad, velocidad actual de enlace 3.0 x1 resaltada en ámbar, velocidad máxima 3.0 x4, modelo WDC CL SN720, número de serie, interfaz PCIe/NVMe",
|
|
"nvmeModalCaption": "Detalles NVMe con enlace limitado: el disco admite x4, pero el slot está conectado a x1.",
|
|
"outro": "Los datos SMART, autopruebas, historial e informe PDF están en <storageLink>Panel: Almacenamiento</storageLink>. Los mismos datos alimentan <smartLink>Salud y pruebas SMART de discos</smartLink>. Una prueba larga desde el script escribe el JSON mostrado por Monitor en <em>Almacenamiento → Historial</em>."
|
|
},
|
|
"pci": {
|
|
"heading": "Dispositivos PCI",
|
|
"intro": "Dispositivos PCI identificados por <strong>BDF PCI</strong> (Bus:Device.Function, p. ej. <code>03:00.0</code>) y clase (<em>Controlador de almacenamiento</em>, <em>Controlador USB</em>, <em>Tarjeta gráfica</em>, <em>Controlador de red</em>, <em>Controlador de audio</em>…). Cada tarjeta muestra fabricante, nombre y <strong>controlador del kernel asociado</strong>, útil para diagnosticar passthrough, grupos IOMMU o controladores incorrectos.",
|
|
"imageAlt": "Sección PCI Devices listando quince dispositivos agrupados por clase: storage controllers en ahci/nvme, USB controllers, tarjetas gráficas (una en vfio-pci, otra en el driver nativo), network controllers en igb / tg3, un audio controller junto a una GPU pasada por passthrough",
|
|
"imageCaption": "Quince dispositivos en este nodo. Fíjate en la GPU y su función de audio compañera, ambas atadas a <code>vfio-pci</code> — esa es una tarjeta preparada para passthrough a VM.",
|
|
"bdfTitle": "Leer el BDF",
|
|
"bdfBody": "<code>03:00.0</code> indica bus PCI <code>03</code>, dispositivo <code>00</code> y función <code>0</code>. Las GPU dedicadas suelen usar <code>.0</code> para gráficos y <code>.1</code> para audio HDMI. Ambas funciones se pasan juntas a la VM; por eso <link>Cambiar modo GPU</link> limpia también el audio que quedaría sin asociar al salir del modo VM."
|
|
},
|
|
"usb": {
|
|
"heading": "Dispositivos USB",
|
|
"intro": "Dispositivos USB con fabricante y producto, versión USB, dirección <code>bus:device</code>, ID <code>vendor:product</code> y controlador del kernel. Se clasifican por función: <em>Comunicaciones</em> (adaptadores Z-Wave / Zigbee), <em>SAI</em>, almacenamiento o HID. Así se identifican sin comparar sus ID.",
|
|
"imageAlt": "Dispositivos USB: Aeotec Z-Wave Z-Stick, coordinador Zigbee ConBee II y SAI Ellipse ECO, con versión USB, dirección, ID vendor:product y controlador asociado",
|
|
"imageCaption": "Tres dispositivos USB — dos radios de domótica en <code>usbfs</code> y un UPS en <code>usbfs</code> (NUT le habla a través de libusb)."
|
|
},
|
|
"power": {
|
|
"heading": "Consumo de energía",
|
|
"subHeading": "(condicional)",
|
|
"intro": "Aparece si el host ofrece telemetría de potencia. Muestra dos fuentes independientes cuando están disponibles:",
|
|
"items": [
|
|
"<strong>Consumo total ACPI / IPMI</strong>: potencia de todo el sistema desde un sensor de la placa o el BMC. Habitual en placas de servidor.",
|
|
"<strong>Consumo del encapsulado CPU</strong>: contadores Intel RAPL o equivalente AMD. Distingue el consumo de CPU del resto en placas de consumo sin sensor total."
|
|
],
|
|
"supplyImageAlt": "Consumo: 198 W totales por ACPI y dos fuentes de alimentación con estado OK y salida de 185 W y 5 W",
|
|
"supplyImageCaption": "Placa de servidor con un único sensor de energía ACPI y PSUs duales reportadas a través de IPMI — la segunda PSU es la redundante, en idle a 5 W.",
|
|
"cpuImageAlt": "Consumo en una placa de uso doméstico: solo 8.7 W de CPU medidos por Intel RAPL",
|
|
"cpuImageCaption": "Placa de uso doméstico sin sensor de consumo total: se muestra solo CPU mediante RAPL."
|
|
},
|
|
"psu": {
|
|
"heading": "Fuentes de alimentación",
|
|
"subHeading": "(condicional)",
|
|
"body": "En máquinas con placa de servidor o fuentes dobles, IPMI muestra presencia (PSU 1 / PSU 2 / …), tensión de entrada, potencia de salida y estado correcto/fallo. Compruébalo tras una interrupción eléctrica en nodos con fuentes redundantes."
|
|
},
|
|
"fans": {
|
|
"heading": "Ventiladores del sistema",
|
|
"subHeading": "(condicional)",
|
|
"body": "RPM de cada ventilador con minigráfico de tendencia, si se admite. Sin datos individuales, muestra una sola lectura del ventilador del chasis."
|
|
},
|
|
"ups": {
|
|
"heading": "Estado del SAI",
|
|
"subHeading": "(condicional)",
|
|
"body": "Aparece si hay un servidor NUT (Network UPS Tools) configurado y accesible. Muestra estado (en línea / batería / cargando / batería baja), carga de batería, autonomía estimada, porcentaje de carga soportada, tensión de entrada, modelo y firmware. Alimenta también <em>Seguridad y certificados</em> del monitor de salud: el paso a batería se señala inmediatamente."
|
|
},
|
|
"dataCollected": {
|
|
"heading": "Cómo se recopilan los datos",
|
|
"headerSection": "Sección de la pestaña",
|
|
"headerEndpoint": "Endpoint",
|
|
"headerSource": "Fuente",
|
|
"rows": [
|
|
{
|
|
"section": "Inventario estático (PCI, CPU, BIOS)",
|
|
"endpoint": "/api/hardware",
|
|
"source": "<code>lspci -vmm</code>, <code>/proc/cpuinfo</code>, <code>dmidecode</code>; cacheado durante toda la vida del proceso."
|
|
},
|
|
{
|
|
"section": "Valores de sensores en vivo",
|
|
"endpoint": "/api/hardware/live",
|
|
"source": "<code>sensors</code> (lm-sensors), <code>/sys/class/hwmon</code> y <code>/sys/block</code> identifican los dispositivos de almacenamiento. Las temperaturas son en vivo; solo se guarda en caché 60 segundos la asociación hwmon-dispositivo."
|
|
},
|
|
{
|
|
"section": "Historial de temperatura de CPU",
|
|
"endpoint": "/api/temperature/history",
|
|
"source": "Serie temporal registrada cada 60 segundos por el recolector de temperatura y almacenada en SQLite."
|
|
},
|
|
{
|
|
"section": "Métricas en vivo de GPU",
|
|
"endpoint": "/api/gpu/<slot>/realtime",
|
|
"source": "NVIDIA: <code>nvidia-smi --query-gpu=...</code>. Intel: <code>intel_gpu_top</code>. AMD: sysfs <code>/sys/class/drm/cardN</code>."
|
|
}
|
|
],
|
|
"codeComment1": "# Contrastar el inventario con la información del sistema operativo",
|
|
"codeComment2": "# Confirmar la tarjeta GPU que ve el panel"
|
|
},
|
|
"whereNext": {
|
|
"heading": "Por dónde seguir",
|
|
"items": [
|
|
{
|
|
"label": "Instalar controladores NVIDIA (Host)",
|
|
"href": "/docs/hardware/nvidia-host",
|
|
"tail": " — script que ejecuta el botón de instalación de la ventana de GPU."
|
|
},
|
|
{
|
|
"label": "Cambiar modo GPU (VM ↔ LXC)",
|
|
"href": "/docs/hardware/switch-gpu-mode",
|
|
"tail": " — lo que el conmutador de modo inline en cada tarjeta de GPU le hace al host."
|
|
},
|
|
{
|
|
"label": "Instalar Coral TPU en el host",
|
|
"href": "/docs/hardware/install-coral-tpu-host",
|
|
"tail": " — instalación del módulo del kernel y runtime de Coral."
|
|
},
|
|
{
|
|
"label": "Prueba de salud de disco SMART",
|
|
"href": "/docs/disk-manager/smart-disk-test",
|
|
"tail": " — script que produce los datos SMART de los detalles de disco en Almacenamiento."
|
|
},
|
|
{
|
|
"label": "Panel: pestaña Almacenamiento",
|
|
"href": "/docs/monitor/dashboard/storage",
|
|
"tail": " — tabla completa de atributos SMART, historial de self-tests e informe PDF."
|
|
},
|
|
{
|
|
"label": "Monitor de salud",
|
|
"href": "/docs/monitor/health-monitor",
|
|
"tail": " — categoría CPU y Temperatura, que usa los mismos sensores."
|
|
},
|
|
{
|
|
"label": "Referencia de la API",
|
|
"href": "/docs/monitor/api",
|
|
"tail": " — endpoints de hardware y GPU."
|
|
},
|
|
{
|
|
"label": "Índice del panel",
|
|
"href": "/docs/monitor/dashboard",
|
|
"tail": " — el resto de pestañas."
|
|
}
|
|
]
|
|
}
|
|
}
|