Estadísticas de nuestro servidor con sere
En el artículo de hoy vamos a hablar de un herramienta excelente para la monitorización de servidores, desde cualquier lugar, efectivamente, estoy hablando de sere. Para más inri, el producto ha sido creado por un miembro de la comunidad de software libre y una de las personas más activas e inquietas de la blogesfera linuxera.
Estadísticas en directo de nuestro servidor con sere
Desde la página web linuxito.com, que visito prácticamente cada día, se anunció hace unos días un producto que no conocía, se trataba de sere. Leyendo el artículo y visitando su repositorio en GitHub, me di cuenta que el producto y la web que lo anunciaba eran la misma persona, esto es, el amigo Emiliano.
Sinceramente, si el producto no hubiera sido de mi interés, no hubiera leído ni una sola línea al respecto y sin duda no me hubiera puesto manos a la obra para probarlo. Cómo véis esto no ha sido así 🙂
Vamos un poco al lío. Sobre el producto debemos saber que está creado utilizando PHP y HTML5, usando como base para las métricas, la herramienta sar
, incluida en el paquete sysstat
. Además, una cosa muy importante, el diseño del panel web es responsive, ya sabéis, se adapta perfectamente a los navegadores web y a todo tipo de dispositivo, ya sea PC, móvil o tableta. Dicho producto nos va a permitir ver una serie de gráfricas y datos, del estado del servidor que escojamos y administremos.
Las gráficas nos muestran:
- Uso de CPU.
- Número de transacciones de I/O por segundo.
- Uso de memoria volátil.
- Uso de memoria transaccional o SWAP.
- Load o carga del servidor. Dicho datos es el resultado del promedio de la suma del número de tareas en ejecución, listas para ejecutarse y estado sleep.
- Estado de red, mediante el número de KB enviados y recibidos.
Por defecto los datos se referescan cada tres segundos (se puede modificar a nuestro gusto)
Instalación de sere 0.1.2
Recientemente ha visto la luz la versión 0.1.2, por lo que será la que instalemos. Dicha versión ofrece mejoras como gráficas mejoradas, un extracto de los 10 procesos que más CPU consumen, cantidad de usuarios, entre otras. Además, según indica en la nota de la nueva versión, tiene más mejoras en mente.
Recordemos que tenemos que tener instalado en el servidor PHP en una versión superior a la 4, además de sysstat
. La instalación es bien sencilla, depende de nuestro sistema operativo, por ejemplo, en un sistema operativo CentOS 7, sería:
yum update
yum install php sysstat
Una vez hecho esto descargamos la última versión, desde GitHub:
wget https://github.com/linuxitux/sere/releases/tag/v0.1.2
tar xzf v0.1.2.tar.gz -C /var/www
mv /var/www/sere-0.1.2 /var/www/sere
Debemos modificar el fichero de configuración y adaptarlo a nuestro gusto:
/**** Configuration ****/
// User
$user = "admin";
// Passsword for user
$pass = "contraseña";
// Hostname
$hostname = exec("hostname -A");
// Network device
$iface = "eth1";
// Samples for each run, 1 per second
$samples = 1;
// Update interval, must be > $samples
$update_interval = 3;
/***********************/
Por último y no menos importante es crear un fichero de configuración para nuestro servidor web. En mi caso es Apache, así que creo el fichero dentro de /etc/httpd/conf.d, lo he llamado sere.conf:
Una vez esto, reiniciamos el servidor web, y ya podemos acceder. Para el caso, he utilizado uno de los servidores web que administro:
Como podéis observar la información es muy detallada y estéticamente se ve bien. Todavía le queda mucho camino por delante, apenas acaba de empezar a caminar. Para mejorar, por ejemplo, estaría bien que los paneles se pudiesen mover a nuestro gusto, además de poder incluso eliminarlos de la vista, y sólo dejar una selección de los que más nos interesen. Incluso, siendo exigente, sería genial que las métricas se guardasen en una base de datos y poder ver un historial de evolución. Otra idea, por ejemplo, sería el número de usuarios logueados en el sistema, el número de conexiones de nginx o apache, etcétera.
Sólo tengo palabras de agradecimiento por el trabajo realizado. Desde hace unos días sigo el proyecto en GitHub, y desde mi modestia opinión intentaré aportar en lo que pueda.
Espero que el artículo os haya parecido interesante. Nos leemos en la próxima.
Personalmente creo que definir a sere como «herramienta excelente para la monitorización de servidores» es pasarse un poco. Yo lo hubiese dejado en interfaz web para sysstat escrita en PHP.
Decir que es una herramienta de monitorización no es lo más acertado, la herramienta de monitorización se llama syssat. Obviamente esa afirmación la hago desde mi punto de vista, luego cada uno que opine lo que quiera. No es por quitar mérito a sere, pero… el chocolate espeso jeje.
Hola Martín,
Primero de todo gracias por comentar. A mi me parece excelente, ya que cumple perfectamente con su fin, que es ofrecer una serie de estadísticas y métricas en directo de un servidor dado, utilizando el diseño responsive para así poder utilizarse en todo tipo de plataformas, vía navegador web. Y todo ello siendo muy ligera, ya que apenas utiliza recursos del sistema para obtener la información.
En cualquier caso ni mucho menos me considero un experto en desarrollo web, ya que no lo soy ni me dedico a ello, pero como administrador de sistemas me parece muy útil.
Un saludo
Es válido el comentario, aunque sere utiliza directamente la salida del comando sar, en lugar de parsear la base de datos de sysstat como lo hace Sysstat Graph.
Dependiendo del proveedor de cloud hosting que dispongamos, seguramente tengamos acceso a herramientas mucho más potentes. Aunque, muchos proveedores de VPS no te ofrecen directamente nada para monitoreo, por lo que esta pequeña herramienta te puede ser útil, sin cargar al servidor (si ves el código fuente son apenas unas pocas líneas de PHP y todo el procesamiento se hace con JavaScript puro en el cliente).
Un saludo.
Top + nload con colores… Meh
La idea de la herramienta es no tener la necesidad de abrir una shell, especialmente desde un dispositivo móvil. Dudo que top + nload desde una consola te de una vista adaptada a la pantalla de un dispositivo móvil.
Gracias colega, mejor review imposible. Interesantes sugerencias me has dejado, lo de mover/quitar los recuadros es algo que quiero hacer pero por ahora me he topado con mis limitaciones. Los datos no los voy a guardar en una base de datos, porque eso ya lo hace sysstat, sólo estaría duplicando información. Mi idea es integrarlo con Sysstat Graph, una herramienta que muestra gráficamente el extracto de la base de datos de sysstat. Con ello tendríamos en una página tanto el historial de consumo de recursos como el «live».
Un saludo.
Gracias a ti por tu trabajo 🙂
Por cierto, ese servidor necesita memoria XD
Sí, bien cierto. El pobre va muy justo.