Construir un clúster de frambuesa Pi - Monitoreo de la Parte IV

Construir un clúster de frambuesa Pi - Monitoreo de la Parte IV

Tener un clúster construido con Raspberry Pi no solo es divertido, sino que también facilita su trabajo. Como discutimos en nuestro último artículo de la serie, puede usar el clúster para compilar software o hacer que recopile datos de varias fuentes en Internet. Hay muchos usos para tal cosa.

Sin embargo, después de compilarse durante una hora seguida, puede sentir curiosidad por cómo funcionan sus nodos. Cómo funcionan bajo carga, si no están poco a potencia o si la temperatura de la CPU no aumenta por encima de los niveles deseados. ¿Cuánta memoria te queda en cada uno de los nodos mientras realizan tareas?. Cuantos más nodos tenga en su estante, más información tendrá que pasar. Afortunadamente, hay un software que puede ayudarlo a visualizar dicha información de una vez en varias maneras.

En este tutorial aprenderás:

  • Cómo instalar el miradas herramienta de monitoreo
  • Cómo configurar las miradas
  • Cómo utilizar miradas Para ver la información del clúster
  • Cómo crear una página web local para mostrar el miradas producción
Las miradas muestran información relevante sobre cada nodo de su clúster de Linux.

Construcción de la serie Raspberry Pi:

  • Construyendo un clúster de Raspberry Pi - Parte I: Adquisición y ensamblaje de hardware
  • Construyendo un clúster de Raspberry Pi - Parte II: Instalación del sistema operativo
  • Construyendo un clúster de Raspberry Pi - Parte III: gestión de nodos simultáneos
  • Construir un clúster de frambuesa Pi - Parte IV: Monitoreo

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Raspbian Linux
Software Miradas
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Miradas: lo imprescindible en el monitoreo de clúster

Piense en las miradas como un arriba para grupos. Es más que eso. Es una navaja suiza para monitorear grupos. Puede mostrar todo lo que necesita en una ventana de terminal: temperatura del hardware, velocidad del ventilador, procesos de ejecución, uso de RAM y CPU, IP de nodos y varias otras gemas interesantes y más pequeñas. El software se basa en ncurses y también le permitirá navegar fácilmente sus nodos de clúster, configurar lo que muestra la ventana de información e incluso tiene un modo de servidor web para que pueda obtener esa información en una página web.

Instalación de miradas

El software se basa en Pitón. Hay varias formas de instalarlo. La mayoría de las distribuciones de Linux ya lo tienen en sus repositorios, por lo que en Ubuntu simplemente harías un

$ sudo apt instalación de la instalación 


y todas las dependencias del paquete se resolverían. Si prefiere hacerlo de la manera de Python, puede usar pepita:

$ sudo apt instalación Pip $ Pip Glances de instalación 

Glances tiene una tonelada de módulos, como información de RAID, información de red WiFi, interfaz web o integración de Docker. Para asegurarse de obtenerlos todos, si usa pepita, Instalar miradas con

$ PIP Install 'Glances [Acción, navegador, nube, cpuinfo, acoplador, exportación, carpetas, GPU, gráfico, IP, RAID, SNMP, Web, WiFi]' ' 

También puede usar un script de configuración que se instala miradas en su sistema, independientemente de la distribución que use. Descarga la última rama maestra de GitHub y la configura en su sistema. Para este uso

$ curl -l https: // bit.ly/miradas | /bin/bash 

También asegúrese de instalar miradas En todos los nodos de clúster.

Configuración de miradas

Después de la instalación, miradas crea un archivo de configuración en /etc/miradas/ llamado miradas.confusión. En este archivo puede ajustar qué y cómo le mostrará la interfaz NCurses. Por ejemplo, si desea usar un fondo blanco en lugar de un fondo negro en la pantalla de información del sistema, puede modificar la línea

curse_theme = negro 

a

curse_theme = blanco 

La interfaz NCurses usa colores, por lo que si desea que se alerte visualmente por una CPU de sobrecarga, puede definir en qué porcentaje de la barra de uso de la CPU pasará de verde a rojo. Para esto modifique el valor de cpu_critical = 90 a algo entre 10 y 99. RAM, intercambio, umbrales de carga todos tienen los mismos parámetros:

Cuidado = 50 Advertencia = 70 Crítico = 90 

Puede modificar sus valores para que sus respectivas barras cambien los colores solo entonces entonces se alcanza ese límite definido por el valor. Desenchufado el Alias ​​de sensores líneas en el [sensores] Sección para obtener información sobre CPU y la temperatura de la placa base. Para esto también necesitarás tener el hddtemp y psutilo Paquetes instalados en cada uno de los nodos de clúster Raspbian:

$ sudo apt install hddtemp python-psutil 

La lista de elementos configurables es extensa pero el /etc/miradas/miradas.confusión El archivo está bien documentado y se explica por sí mismo y requeriría un artículo propio. Pero vamos a ver qué puede hacer con miradas.

Usando miradas

Hay varias formas de usar miradas. Si desea ver información sobre un nodo de clúster en particular y está conectado a él a través de SSH, simplemente puede invocar el comando con

$ miradas 

Si quieres empezar miradas En el modo de servidor en un nodo de clúster, agrega el -s atributo:

$ Glances -S 

Luego, en otra máquina, puedes comenzar miradas Como una simple aplicación de cliente y conectarse a la miradas servidor con el que acaba de comenzar

$ Glances -C 192.168.X.X 


dónde 192.168.X.X es la IP del servidor de miradas. Alternativamente, puede usar nombres de host si se definen en su /etc/huéspedes archivo:

$ Glances -C RPI1 

Puede definir sus nodos de clúster en el archivo de configuración. Busca el Servidor de cliente sección de miradas.confusión y agregue sus nodos:

[ServerList] # Defina la lista de servidores estáticos server_1_name = 192.168.1.126 server_1_alias = rpi1 server_1_port = 61209 server_2_name = 192.168.1.252 server_2_alias = rpi2 server_2_port = 61209 server_3_name = 192.168.1.150 server_3_alias = rpi3 server_3_port = 61209 server_4_name = 192.168.1.124 server_4_alias = rpi4 server_4_port = 61209 

Como puede ver, cada servidor tiene un número, un nombre, un alias y un puerto. El puerto debe permanecer 61209 Para todos los nodos, mientras que el alias debe corresponder al nombre de host de cada nodo de clúster IP.

Al usar múltiples nodos, para evitar ingresar su contraseña de inicio de sesión cada vez que se conecta a un miradas servidor puede definir esa contraseña en queMainex en el miradas archivo de configuración. Editar /etc/miradas/miradas.confusión y agregue sus nodos de clúster al [Contraseñas] sección:

rpi1 = YourPassword rpi2 = YourPassword rpi3 = YourPassword rpi4 = YourPassword 

Sustituto tu contraseña con la contraseña que establece en la tercera parte de esta serie y guarda el archivo.

Ahora puedes llamar miradas de una computadora portátil con

$ miradas --browser 

y vea todos sus nodos de clúster en una lista de NCurses navegables. Puede ingresar a cada uno de ellos, ver lo que cada uno está haciendo con sus recursos y procesos y luego pasar al siguiente.

Modo de servidor web

Pero, ¿y si quisieras ver todos tus nodos de clúster a la vez?? Sería mejor? ¿Y no sería aún mejor mostrar esa información en una página web?? Glances tiene un modo de servidor web con el que puede comenzar:

$ Glances -W 

Una vez que un servidor de miradas se activa como servidor web, puede usar cualquier navegador web para acceder a una página web que detalla la misma información que puede ver en la interfaz NCurses. Simplemente ingrese la dirección IP del nodo o el nombre de host en la barra de URL de su navegador y use 61208 como puerto.

Por ejemplo http: // 192.168.1.252: 61208 En nuestra LAN, mostrará la información de Glances Webserver relacionada con el segundo nodo del clúster. El problema es que tendrá que usar diferentes páginas y direcciones para cada nodo. Entonces, ¿por qué no hacer una sola página web que muestre los cuatro nodos a la vez usando una página HTML simple con Iframes?

Ejecutar miradas en modo WebServer le permite ver la información del clúster utilizando un navegador web.

Creación de una estación de monitoreo de la página web de miradas

Instale Apache en el primer nodo del clúster. Usaremos RPI1 Como el nodo que muestra este archivo HTML. Puedes hacer esto con

$ sudo apt install apache2 

La raíz del servidor web de Apache es el /var/www/html/ carpeta. Crea un archivo nuevo aquí y lograme índice.html:

# touch/var/www/html/índice.html 

Ahora edite este archivo:

# nano/var/www/html/índice.html 

Agregue esto a su contenido:

afuera.println (""); afuera.println (""); afuera.println (""); afuera.println ("

Mi información de clúster "

"); afuera.println ("
"); afuera.println (""); afuera.println (""); afuera.println (""); afuera.println (""); afuera.println (""); afuera.println ("
"); afuera.println (""); afuera.println ("");

Guarde el archivo con CTRL+X. Como puede ver, estamos utilizando nombres de host en lugar de IPS y el puerto de servidor web Glances - 61208. Hay cuatro html Iframes, uno para cada nodo de clúster. Cambiar el altura y ancho valores para que los iframes llenen su pantalla.



Ahora solo una cosa más que hacer. Agregue la siguiente línea a cada /etc/rc.local Archivo de sus nodos de clúster:

Glances -W --Theme-White --Process-short-Name --shide-kernel-hira--fs-space --disable-irq --disable-raid --disable-holder--desesable-swap 

Esto le dice a las miradas que comiencen en el arranque como servidor web, que use el tema blanco, recorte el ancho de la lista de procesos que muestra y oculta algunas cosas que una frambuesa Pi no necesita o que rara vez usaría: información de redadas, información IRQ, ciertas ciertas Información de la carpeta, Información del hilo de intercambio y núcleo. Esto es para que después de reiniciar su clúster y acceda a la dirección del primer nodo a través de un navegador web, el Iframes podría adaptarse a toda la información relevante en sus respectivos Windows.

Puede decidir aún más cómo las páginas web del servidor web Glances muestran información al editar su archivo CSS respectivo ubicado en /usr/lib/python3/dist-packages/miras/salidas/static/public/css/style.CSS. Tamaño de fuente, tipo de fuente, colores: todos se pueden personalizar aquí para que la página web de la información del clúster sea más bonita.

Conclusión

Glances es una excelente manera de obtener información relevante de su clúster. Si usa el Influencia Método de la página web Puede visitar la página de información del clúster en cualquier momento y ver cómo se funcionan todos los nodos en una ventana del navegador. O puedes usar el ncurses interfaz en una pantalla terminal para ver la misma información. Glances es altamente personalizable y muy útil cuando usa un clúster, ya sea pequeño hecho de Raspberry Pi's.

Apéndice

No hay límites. En caso de que el clúster de 4 nodo Raspberry Pi no esté en su satisfacción, siempre puede agregar más nodos en cualquier momento.

2.La pantalla de 2 TFT posiblemente podría agregar otra dimensión a su clúster Raspberry Pi. En esta etapa, uno podría comenzar a pensar en cómo agregar algún tipo de base sólida para asegurarse de que el clúster de 8 nodos Raspberry Pi no pierda el equilibrio. "¿Estás ahí Hal??" - 2001: una odisea espacial 8 nodos Raspberry Pi Cluster

Tutoriales de Linux relacionados:

  • Obtenga la temperatura de la CPU en Linux
  • Cómo crear un clúster de Kubernetes
  • Ubuntu 20.04 Monitoreo del sistema con widgets de Conky
  • Ubuntu 22.04 Monitoreo del sistema con widgets de Conky
  • Cómo instalar Kubernetes en Ubuntu 20.04 fossa focal Linux
  • La mejor herramienta de monitoreo de sistemas para Linux
  • Cómo instalar Kubernetes en Ubuntu 22.04 Jellyfish de Jammy ..
  • Manipulación de Big Data para la diversión y las ganancias Parte 1
  • Cosas para instalar en Ubuntu 20.04
  • Manipulación de Big Data para diversión y ganancias Parte 2