¡Te damos la bienvenida al nuevo sysarmy --help! Para recuperar tu usuario pedí un password reset.

Métricas de bandwith usage x protocol/TCP port

Buenas.

Tengo una plataforma web que voy a comenzar a administrar dentro de poco, y una de sus características es que cada webserver corre tanto apache como nginx (Apache TPC80, Nginx TCP88 y sobre la misma IP) y son aplicaciones relacionadas pero distintas (Video On Demand) lo que necesito saber es la proporción de tráfico TCP que se sirve desde cada puerto TCP, para saber a futuro qué mejoras a la plataforma podría realizar.

Me han sugerido iptraf > logfile y parseando.

Otra de las alternativas en un mini brainstorming el sábado es que podría usar marcado de paquetes con iptables, algo tipo como esto:

http://blog.softlayer.com/2013/iptables-tips-and-tricks-track-bandwidth-with-iptables

Por el momento no hice nada, estoy recolectando información y tratando se decidir cuál es el mejor método.

Sin importar cuál elija, el resultado tiene que ser un número que debería graficar mediante Zabbix (es lo de menos) pero debería poder ver claramente cuánto tráfico estoy sirviendo desde el puerto TCP 80 y cuánto desd el TCP88.

Desgraciadamente el diseño de la arquitectura no depende de mi, por lo que tengo que arreglármelas con lo que tengo, no puedo separar esos servicios en diferentes servers.

Gracias

Respuestas

  • Creo que lo más fácil y menos invasivo ( ya que no necesitas la información en tiempo real ), es que aproveches los logs de cada webserver y hagas un consolidado con alguna de las muchas herramientas que existen para ello, incluso podrías tener stats bien detalladas como cuales vídeos son los más accedidos, algunas herramientas a considerar podrían ser:

    En todo caso pienso que puedes hacer lo mismo usando zabbix directamente, debe tener un plugin para eso.

  • Hola!

    Lo primero que se me ocurre (y además es algo que hago seguido en mi trabajo) es realizar una captura de paquetes (no lo especificás, pero estimo que usas Linux) durante algúna hora pico que conozcas, utilizando tcpdump.

    Suponiendo que la interfaz que te interesa es la eth1 entonces un comando podría ser...

    root#> tcpdump -i eth1 -s 0 -w /tmp/http_capture.pcap port 80 or 88

    Y luego de X cantidad de segundos lo parás con Ctrl-c y listo.

    Luego te bajas el pcap a una PC y lo abris con el wireshark. La primera herramienta de este programa que tenés que probar es la opción "Protocol Hierarchy" del menú "Statistics".
  • Pegale una miradita a http://www.ntop.org/

    Posiblemente te sirva para lo que estas buscando.
Este hilo ha sido cerrado.