monitoreo en status bar de tmux
index | about | archive | charlas | docs | links
dot |
git |
img |
plt |
tty |
uml
…anda lento… mmm… que raro!
Hace un par de meses que heredé un par de servidores con varios servicios que deben estar operativos 24x7 y entre ellos me tocó manter un qmail y como no podía ser de otra manera de tanto en tanto hay algo de SPAM y por ello la cola de mails se eleva. :S
A fin de tener alguna métrica de qué está sucediendo era necesario visualizar constantemente el estado de la cola y si bien hay muchísimas herramientas disponibles opté por el principio KISS 1 (Keep it simple, stupid), de momento sólo lo vería yo y posiblemente alguién más en mi ausencia, no quería instalar nada en ese servidor, tampoco tenía muchas posibilidades de conectarme a otros servidores por reglas de firewall y quería tenerlo visible en mi tmux ya que paso ahí gran parte del día (y a veces las noches)
bash para generar y spark para graficar
Abusando una vez más de bash hice un script en el server que envía un timestamp y metricas básicas, entre ellas la cantidad de mails encolados a un log y ese log se copia un una vps donde esta este blog, asi de esta manera el qmail envía a osiux.com el log y luego un script debería descargar de osiux.com para «graficar» localmente.
El contenido del script qmhandle:
#!/bin/sh export http_proxy="" log=/tmp/qmhandle.log wget -q -O $log http://pub.osiux.com/qmhandle.log q=`tail -20 $log | awk '{print $5}'` a=`echo $q | awk '{print \$1}'` b=`echo $q | awk '{print \$5}'` c=`echo $q | awk '{print \$10}'` d=`echo $q | awk '{print \$15}'` e=`echo $q | awk '{print \$20}'` echo $a `echo $a $b $c $d $e | spark` $e
Si ejecutamos qmhandle vemos:
531 █▄▄▁▂ 524
Para entender qué estamos visualizando, miremos el log:
tail /tmp/qmhandle.log
2016-02-03 15:10 527 1 526 1 0 2016-02-03 15:11 524 0 524 1 0 2016-02-03 15:12 523 0 523 1 0 2016-02-03 15:13 523 0 523 1 0 2016-02-03 15:14 523 1 522 1 1 2016-02-03 15:15 523 0 523 1 0 2016-02-03 15:16 521 0 521 1 0 2016-02-03 15:17 526 0 526 1 0 2016-02-03 15:18 523 0 523 1 0 2016-02-03 15:19 524 0 524 1 0
El resultado es un timestamp con una serie de números, la columna 5 es la que importa y hay una línea nueva cada 1 minuto.
Al procesar el log, me quedo con la cantidad de mails encolados
cada 1, 5, 10, 15 y 20 minutos, asi tengo una tendencia con unas
bonitas barras (gracias a spark 2) y el mínimo y
máximo, esta información se actualiza en la barra de tmux cada 1
minuto, agregando al ~/.tmux.conf el comando qmhandle:
set -g status-right '#[fg=red,bg=default]#(qmhandle) #[fg=colour231,bg=colour232] #(bateria) #[fg=colour11,bg=colour232] %d/%m %H:%M'
Básico pero efectivo! :)
ChangeLog
- 2023-05-09 11:37agregar DESCRIPTION, KEYWORDS y actualizar OpenGraph en monitoreo en status bar de- tmux
- 2022-11-13 20:39agregar y actualizar tags OpenGraph
- 2019-04-18 02:11Actualizar archive, years, charlas y corregir babel en un post
- 2019-04-18 00:21Agregar hora en header date
- 2019-04-09 03:01Recuperar archivos en .md y convertirlos a .org
- 2016-02-03 18:20@ 00:01 hs - mejor barra spark en 2016-02-03-monitoreo-en-status-bar-de-tmux.org
- 2016-02-03 03:07@ 02:00 hs - reorganizo archive blog y agrego primer post del 2016 :)
