Vamos a ver 4 herramientas básicas que todo administrador de sistema seguramente ya conoce, pero que nunca están de más repasarlas y si da la casualidad que no conoces alguna de ellas, pues mejor que las vayas conociendo.
Todas las herramientas suelen venir con tu distribución Linux, pero en algún caso es mejor incluso descargar el código fuente e instalarla a mano compilando para aprovechar las novedades de las últimas versiones.
iotop
IOTOP es una herramienta que nos permitirá saber en tiempo real y en modo texto, qué procesos del sistema leen y escriben del disco duro, así como el ancho de banda que utilizan (cuandos bytes/segundo escriben en el disco duro) y de esta manera, saber si un proceso está haciendo un uso demasiado alto que igual podríamos reducir con un ramdisk o algo similar.
- iotop : https://github.com/ngaro/iotop (oficial)
- iotop-c : https://github.com/Tomas-M/iotop (otra versión diferente)
nethogs
NETHOGS es otra de las herramientas ultrabásicas que nos permite saber en tiempo real y en modo texto qué procesos del sistema están enviando o recibiendo datos de la red, a qué velocidad y de esta manera tener una estimación de los recursos que necesitan.
Esta herramienta es verdaderamente útil cuando queremos saber cuanto ancho de banda necesitamos en nuestro Asterisk cuando lleva una cantidad determinada de llamadas, ya que podemos ver exactamente el ancho de banda del proceso Asterisk y no el de todo el sistema.
Nota importante: aunque las distribuciones suelen traer esta herramienta, si queremos monitorizar el tráfico UDP, es necesario descargarnos el código fuente y compilar. Son dos archivos, por lo que la compilación es muy sencilla, pero esta última actualización es vital para los que trabajamos en VoIP.
- nethogs : https://github.com/raboof/nethogs
perf
PERF es otro de los grandes descubrimientos en herramientas básicas (No confundir con ‘iperf‘ que es para monitorizar ancho de banda), ya que si bien herramientas como ‘top’, ‘htop’, y otras de este tipo, muestran la utilización del procesador y memoria de los procesos del sistema, ‘perf’ profundiza un poco más y muestra el uso de procesador y memoria de las funciones internas de cada proceso (incluido los del kernel de Linux) por lo que es especialmente útil si alguna aplicación está consumiendo demasiado procesador, podremos ver el nombre de las funciones internas que realmente están consumiendo esa cantidad de procesador y así investigar más al investigar qué hace dicha función
perf también permite capturar el consumo de procesador y memoria y guardarlo en un archivo para posteriormente utilizarlo para sacar gráficas de rendimiento, muy útil cuando estamos programando algo y queremos hacer una refactorización de partes del código.
- perf : https://github.com/brendangregg/perf-tools
- perf-graph : https://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html
sngrep
SNGREP es la última de las herramientas de las que hablaremos hoy, aunque es una gran conocida por los lectores de Sinologic, marcó un antes y un después en todo lo que significa monitorizar el flujo de tráfico SIP de un sistema de comunicaciones. Antes, si bien utilizábamos herramientas como ngrep o tcpdump o un simple «sip set debug on«, también había quien usaba Wireshark… pero desde la aparición de sngrep, monitorizar el tráfico SIP ha pasado a ser algo muchísimo más atractivo, eficiente y práctico.
- sngrep : https://github.com/irontec/sngrep