Statping-ng es una herramienta de código abierto que permite visualizar el estado de tus aplicaciones web, APIs, servidores o cualquier otro servicio a través de icmp. Vamos a lanzar el servicio Statping-ng utilizando Docker y Portainer.
🔧 Paso 1: Configurar el contenedor en Portainer
El volumen lo dejamos por defecto o podemos utilizar uno a nuestro gusto, en este ejemplo está default.
Modifica las variables de entorno para publicar el servicio a través del puerto desado, en este caso es el 80 pero por defecto lo publica en 8080.
Y por ultimo en Restart policy marcamos la opcion Always.
Lanzamos el contendor... et voilà.
⚙️ Paso 2: Configurar Statping-ng
Accedemos directamente la IP por el puerto escogido y nos abre la ventana de la configuración básica del servicio. Escogemos la BBDD, en este caso el propio SQLite de la imagen (podemos utilizar nuestro propio MySQL) y rellenamos los datos, estos se podrán editar mas adelante.
Accede al panel de monitorización. Una vez configurado, podrás ver la web de monitorización, que incluye algunos servicios de prueba.
Lo siguiente es ir al fin de la pagina e iniciar sesión en el Darshboard, aquí nos mostrará nuestros servicios con una vista mas compacta y nos dará acceso a la gestión de nuestro entorno.
Alimenta la herramienta con los servicios que deseas monitorizar y crea grupos para categorizarlos. Asegúrate de que Statping tenga comunicación con los servicios a monitorizar, especialmente si están en redes segmentadas o detrás de un firewall
🛠️ Nota importante: Corrección de bug en SQLite
Existe un bug conocido en la imagen que, al reiniciar, puede mostrar tiempos en milisegundos con datos mal truncados, ej:
apt-get install sqlite3
cd /var/lib/docker/volumes/NOMBRE_DEL_VOLUMEN/_data
sqlite3 statping.db
Dentro de SQLite, ejecuta:
UPDATE hits SET latency=REPLACE(latency, '000000', ''), ping_time=REPLACE(ping_time, '000000', '') WHERE latency LIKE '%000000';
.quit