4 herramientas para monitorear la red en Linux vía SSH ( centos, debian )

Hace no mucho ya les he hablado de herramientas para monitorear la red en linux, hoy vengo con 3 herramientas más, que si bien son similares cada una tiene alguna función interesante que la otra no tiene.

Programas para monitorear la red y el consumo en Linux – Debian y Centos

Veamos a ver que les traigo, primero bmon:

skamasle-bmon

Tiene algunas cosas interesantes como una gráfica que son puntos y asteriscos que es poco comprensible pero eso es lo de menos, si no vez los puntos y solo los números queda todo claro, tambièn se puede ver el consumo por horas, minutos, segundos etc.

En los repos de debian esta en 6 y 7 así que pueden instalarlo con

apt-get install bmon

El otro es iptraf:

iptraf

Este tiene muchas más opciones, es muy completo aunque no en todos los servidores funciona bien, en los VPS no siempre funciona, pero como digo es muy completo.

– Permite monitorear puertos TPC y UDP
– Ver conexiones entrantes y listarlas por IPS
– Ver cantidad de paquetes que se envían a cada puerto y por cual quier protocolo.
Eso y mucho más, bastante útil para monitorear y a la vez ver si no hay un DDOS o tráfico extraño en algún puerto.

Continuar leyendo «4 herramientas para monitorear la red en Linux vía SSH ( centos, debian )»

Script de monitoreo que envia email cuando la carga del servidor sube.

Bien para hoy tenemos un script de monitoreo que me encontré hace tiempo en el foro de cpanel creado por Jeff Petersen, un script bastante útil si queremos un monitoreo de la carga del server y otros factores como el uso de swap.

Bien primero les dejo el script y luego les explico un poco:

Script para monitorear la carga del server, memoria usada y procesos

NOTA: este script fue diseñado para servidores con WHM/cPanel

#!/bin/sh
export PATH=/bin:/usr/bin
######################################################
# Copyright Jeff Petersen, 2009 – 2013
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#####################################################
#####################################################
# START USER CONFIGURABLE VARIABLES
#####################################################
EMAIL=»you@example.com»
# 1 minute load avg
MAX_LOAD=3
# kB
MAX_SWAP_USED=1000
# kB
MAX_MEM_USED=500000
# packets per second inbound
MAX_PPS_IN=2000
# packets per second outbound
MAX_PPS_OUT=2000
# max processes in the process list
MAX_PROCS=400
#######################################################
# END USER CONFIGURABLE VARIABLES
#######################################################
IFACE=`grep ETHDEV /etc/wwwacct.conf | awk ‘{print $2}’`
if [[ «$IFACE» =~ «venet» ]] ; then
IFACE=venet0
fi
IFACE=${IFACE}:
######################################################
# 1 min load avg
######################################################
ONE_MIN_LOADAVG=`cut -d . -f 1 /proc/loadavg`
echo «1 minute load avg: $ONE_MIN_LOADAVG»
#######################################################
# swap used
######################################################
SWAP_TOTAL=`grep ^SwapTotal: /proc/meminfo | awk ‘{print $2}’`
SWAP_FREE=`grep ^SwapFree: /proc/meminfo | awk ‘{print $2}’`
let «SWAP_USED = (SWAP_TOTAL – SWAP_FREE)»
echo «Swap used: $SWAP_USED kB»
########################################################
# mem used
########################################################
MEM_TOTAL=`grep ^MemTotal: /proc/meminfo | awk ‘{print $2}’`
MEM_FREE=`grep ^MemFree: /proc/meminfo | awk ‘{print $2}’`
let «MEM_USED = (MEM_TOTAL – MEM_FREE)»
echo «Mem used: $MEM_USED kB»
########################################################
# packets received
########################################################
PACKETS_RX_1=`grep $IFACE /proc/net/dev | awk ‘{print $2}’`
sleep 2;
PACKETS_RX_2=`grep $IFACE /proc/net/dev | awk ‘{print $2}’`
let «PACKETS_RX = (PACKETS_RX_2 – PACKETS_RX_1) / 2»
echo «packets received (2 secs): $PACKETS_RX»
########################################################
# packets sent
########################################################
PACKETS_TX_1=`grep $IFACE /proc/net/dev | awk ‘{print $10}’`
sleep 2;
PACKETS_TX_2=`grep $IFACE /proc/net/dev | awk ‘{print $10}’`
let «PACKETS_TX = (PACKETS_TX_2 – PACKETS_TX_1) / 2»
echo «packets sent (2 secs): $PACKETS_TX»
let «SWAP_USED = SWAP_TOTAL – SWAP_FREE»
if [ ! «$SWAP_USED» == 0 ] ; then
PERCENTAGE_SWAP_USED=`echo $SWAP_USED / $SWAP_TOTAL | bc -l`
TOTAL_PERCENTAGE=`echo ${PERCENTAGE_SWAP_USED:1:2}%`
else
TOTAL_PERCENTAGE=’0%’
fi
##########################################################
# number of processes
#########################################################
MAX_PROCS_CHECK=`ps ax | wc -l`
send_alert()
{
SUBJECTLINE=»`hostname` [L: $ONE_MIN_LOADAVG] [P: $MAX_PROCS_CHECK] [Swap Use: $TOTAL_PERCENTAGE ] [pps in: $PACKETS_RX pps out: $PACKETS_TX]»
ps auxwwwf | mail -s «$SUBJECTLINE» $EMAIL
exit
}
if [ $ONE_MIN_LOADAVG -gt $MAX_LOAD ] ; then send_alert
elif [ $SWAP_USED -gt $MAX_SWAP_USED ] ; then send_alert
elif [ $MEM_USED -gt $MAX_MEM_USED ] ; then send_alert
elif [ $PACKETS_RX -gt $MAX_PPS_IN ] ; then send_alert
elif [ $PACKETS_TX -gt $MAX_PPS_OUT ] ; then send_alert
elif [ $MAX_PROCS_CHECK -gt $MAX_PROCS ] ; then send_alert
fi

Lo más importante es editar estos valores:

EMAIL=»you@example.com» -> Nuestro email

# 1 minute load avg
MAX_LOAD=3 -> La carga del servidor, si el servidor durante el último minuto a tenido una carga de más de 3 nos avisará.

# kB
MAX_SWAP_USED=1000 -> Si el servidor esta usando Swap y la cantidad es mayor o igual a lo que pongamos nos avisará lo mismo con las siguientes 3 opciones que es RAM, y paquetes entreantes y salientes por segundo, OJO que la RAM y el swap van en KiloBytes, si no saben calcular bien usen esta herramienta: calculadora bits

# kB
MAX_MEM_USED=500000

# packets per second inbound
MAX_PPS_IN=2000

# packets per second outbound
MAX_PPS_OUT=2000

# max processes in the process list
MAX_PROCS=400 -> cantidad de procesos que ejecuta el server, aveces muchos procesos pueden sigfinicar que estamos bajo DDOS, así que todo es útil.

Cuando el server nos mande un email veremos algo como esto en el asunto:

hostname [L: 8] [P: 500] [Swap Use: 2% ] [pps in: 124 pps out: 689]

Esto significa que:

– L – La carga media _( load average ) del último minuto.
– P – Número de procesos que ejecuta el servidor en el momento
– Swap Usage – Porcentaje del uso de swap.
– pps in – Paquetes entrantes por segundo.
– pps out – Paquetes salientes por segundo.

Se preguntarán ustedes que valores poner en la configuración, pues eso ya no se lo puedo decir a nadie y no por que sea o muy malo si no por que cada servidor es diferente, algunos con más ram, otros con mejor cpu, algunos por defecto ejecutan muchos procesos por que así lo requieren las aplicaciones que corren.

Les pongo unos ejemplos;

Hay servidores que ejecutan entre 50 y 80 procesos, a veces 100 luego de eso puede considerarse que hay algo anormal por que la media es eso entre 50 y 80 procesos, hay otros que ejecutan hasta 800 y lo anormal sería 1500, esto es solo para darles un ejemplo.

Lo mismo pasa con la carga del servidor, si tenemos un servidor pequeño de 2 o 4 cores, una carga media de 4 ya sería una carga alta, pero si tenemos un servidor de 16 o 24 cores no creo que nos moleste mucho que la carga este en 4, 6, 8 o poco más, ya que para algo tenemos un server potente.

Así que, los valores que tienen que poner los sabrán ustedes que tienen que conocer su servidor, saber cuanto es lo máximo que consume en RAM, CPU, SWAP, Paquetes entrantes y salientes y con base en eso deducir que valor sería alto o alarmante o mejor dicho que requiera atención y por ende decirle al script que nos mande un email.

Bien eso es todo, solo tienen que hacer un cron, puede ser cada minuto o cada 5 o como deseen, ahora no voy a explicar como hacer un cron, ya lo he hecho en otras ocasiones, así que pueden ver una de ellas en este enlace: cron parahacer backup de mysql

Lista de VPS Con Mejor Uptime + Herramienta de Monitoreo

Hoy les traigo algo que le será útil a más de un webmaster o administrador, aunque tal vez más a la gente nueva que anda buscando migrar a un VPS con un buen uptime o bien sea monitorear su VPS o página web para ver que uptime tiene.

Se trata de Hyperspin, una página web que tiene una Lista de VPS Con Mejor Uptime + Herramienta de Monitoreo

En términos generales la herramienta sirve para monitorear nuestro hosting, aunque también ofrece una lista de los VPS con mejor UPTIME

En dicha lista podemos ver el uptime de empresas como server4you, wiredtree, knownhost, godaddy, OVH, hostgator, burstnet, media temple y amazon que creo que son los más famosos o al menos a mi parecer son de los que más se habla por ahí.

La lista se puede ver por tiempo, uptime en el último año, uptime en los últimos meses, semanas y hasta días. La tabla comparativa también nos muestra el tiempo en días que se lleva monitoreando los servidores, a la vez que nos muestra una lista de servidores verificados y otra de no verificados.

Entre otras cosas podemos mencionar también que hiperspin, nos ofrece su servicio de monitoreo que puede ser una buena alternativa a las herramientas ya mencionadas en este otro post: 2 Aplicaciones para Monitorear UpTime de Tus Páginas Web – Avisos Por Maily SMS Cuando tu Web Se Cae. Hiperspin tiene precios bastante cómodos que van desde los 12 USD al mes si se quiere un monitoreo de cada minuto hasta los 2USD si se quiere algo económico y queremos un tiempo menor de monitoreo que sería de un chequeo cada 15 minutos, también nos avisan de caidas vía SMS con un coste de 20c cada SMS.

También tiene un servicio para revendedores bastante interesante.

Eso es todo, espero les sirva la herramienta de monitoreo, al igual que las estadísticas que presentan sobre el uptime de grandes empresas del sector.