1
Métricas de bandwith usage x protocol/TCP port

Open 3 Respuestas 17 Views

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

3 Respuestas

1

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.

respondido por Richzendy (660 puntos) Jul 18, 2016
1Comentarios
comentado por edux (12,550 puntos) Jul 20, 2016
Ir por los logs seria lo menos invasivo, si podes shipearlos a algun lado y procesarlos afuera. poner ntop, o snifear el trafico es mas costoso. Tambien si tenes un cluster grande balanceado equitativamente podes enfocarte en medir 1 solo host y tomarlo como muestra.
0
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".
respondido por MefhigosetH (180 puntos) Jul 19, 2016
0
Pegale una miradita a http://www.ntop.org/

Posiblemente te sirva para lo que estas buscando.
respondido por sebaminguez (1,150 puntos) Jul 20, 2016
...