Integrar métricas de Unraid en Homepage

Advertencia: Este artículo tiene más de 365 días.

Si utilizar Homepage y tienes un servidor Unraid habrás visto que no dispone de ningún widget que nos proporcione información sobre el estado del servidor, sin embargo y gracias a Unraid Simple Monitoring API vamos a poder integrar unas sencillas métricas

Las métricas que proporciona actualmente Unraid Simple Monitoring API son:

  • Utilización de disco y temperatura
  • Tráfico de la red
  • Carga y temperatura de la CPU
  • Utilización de la memoria

Instalación

La instalación se realizaba desde las Community Applications

Búsqueda de Unraid Simple Monitoring API en Community Apps

A no ser que ya estés utilizando el puerto que viene por defecto puedes dejar la plantilla como viene por defecto

Plantilla de configuración de la API

Es normal que el contenedor no arranque y de un error ya que no hemos creado ningún fichero de configurador

Error del contenedor por falta de configuración

Crea un fichero de configuración en la ruta que hayas configurado en la plantilla, si lo dejaste por defecto sera /mnt/user/appdata/unraid-simple-monitoring-api, por ejemplo

networks:
  - eth0
disks:
  cache:
    - /mnt/cache
  array:
    - /mnt/disk1
    - /mnt/disk2
    - /mnt/disk3
    - /mnt/disk4

cpuTemp: /sys/class/hwmon/hwmon4/temp3_input

Recuerda que esta configuración se corresponde con mi ordenador, tendrás que adaptarla al tuyo

Ahora si, inicia el contenedor, ya no debería de dar error, podemos hacer un petición a la API para comprobar se funciona correctamente en la url http://ip-servidor-unraid:24940

Respuesta de la API funcionando

Integración con Homepage

Debemos de editar el fichero services.yaml, por ejemplo si quieres que aparezca así

Widget de Unraid en Homepage

- Unraid:
     icon: unraid.png
     href: http://ip-unraid
     widget:
       type: customapi
       url: http://ip-unraid:24940
       method: GET # this doesn't matter
       mappings:
         - field:
             cache_total: free
           label: caché free
           format: number
           suffix: GiB
         - field:
             cache_total: used
           label: percent used
           format: percent
         - field:
             array_total: total # or used, total, used_percent, free_percent
           label: array total
           format: number # or percentage
           suffix: GiB # or nothing in case of percentages, or whatver you prefer
         - field:
             array_total: used # or used, total, used_percent, free_percent
           label: array used
           format: number # or percentage
           suffix: GiB # or nothing in case of percentages, or whatver you prefer

Si por el contrario te gusta más así:

Widget de Unraid en Homepage en formato lista

- Unraid:
         icon: unraid.png
         href: http://ip-unraid
         widget:
           type: customapi
           display: list
           url: http://ip-unraid:24940
           method: GET # this doesn't matter
           mappings:
             - field:
                 cache_total: free
               label: caché free
               format: number
               suffix: GiB
             - field:
                 cache_total: used
               label: percent used
               format: percent
             - field:
                 array_total: total # or used, total, used_percent, free_percent
               label: array total
               format: number # or percentage
               suffix: GiB # or nothing in case of percentages, or whatver you prefer
             - field:
                 array_total: used # or used, total, used_percent, free_percent
               label: array used
               format: number # or percentage
               suffix: GiB # or nothing in case of percentages, or whatver you prefer
             - field:
                 cpu: load_percent # or temp
               label: cpu load
               format: percent # or number
             - field:
                 cpu: temp # or temp
               label: cpu temp
               format: number # or number
               suffix: º

Espero que te haya gustado, pasa un gran día 🐧