For more info on haproxy + sFlow, see http://blog.sflow.com/2013/05/haproxy.html
Neil On Apr 30, 2013, at 1:50 PM, Neil Mckee wrote: > Hello All, > > I had a go at adding standard sFlow instrumentation to haproxy: > https://github.com/sflow/haproxy > > This implements the exact same binary-logging-over-UDP export that you get > from mod-sflow for apache, nginx-sflow-module, tomcat-sflow-valve, and more. > It supports random 1-in-N sampling for scalability, and it is designed to be > integrated with host performance counters from hsflowd, along with sFlow > traffic monitoring from most network switches. (The goal being holistic > end-to-end visibility). > > Anyone want to try it out? > > (If you would need it on a particular branch of haproxy, let me know.) > > These would be the "getting started" steps: > > (1) make TARGET=linux26 USE_SFLOW=yes > (2) install hsflowd from http://host-sflow.sourceforge.net > (3) edit /etc/hsflowd.conf to set DNSSD=off, configure manual collector for > "collector { ip = 127.0.0.1 } ", and add a line with "sampling.http = 1" > (4) /etc/init.d/hsflowd start > (5) download sflowtool sources from > http://www.inmon.com/technology/sflowTools.php (a simple tool for ASCIIfying > the binary feed) > (6) configure; make; make install > (7) run "sflowtool" > (8) generate some requests through haproxy > (9) you should see output in sflowtool looking something like this: > > extendedType proxy_socket4 > proxy_socket4_ip_protocol 6 > proxy_socket4_local_ip 0.0.0.0 > proxy_socket4_remote_ip 10.0.0.160 > proxy_socket4_local_port 0 > proxy_socket4_remote_port 80 > flowBlock_tag 0:2100 > extendedType socket4 > socket4_ip_protocol 6 > socket4_local_ip 0.0.0.0 > socket4_remote_ip 10.1.3.2 > socket4_local_port 0 > socket4_remote_port 62902 > flowBlock_tag 0:2206 > flowSampleType http > http_method 2 > http_protocol 1001 > http_uri GET > /inmsf/Widget?id=base.categorytrend.1&height=200&width=320&ms=1362731388006 > HTTP/1.1 > http_host 10.0.0.153:8080 > http_referrer http://10.0.0.153:8080/inmsf/Home?action=widgets > http_useragent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:19.0) > Gecko/20100101 Firefox/19.0 > http_mimetype image/png > http_request_bytes 11292 > http_bytes 481 > http_duration_uS 1434000 > http_status 200 > > (10) Ganglia will accept this feed and display the host and http counters. > Other sFlow collectors are listed here: > http://sflow.org/products/collectors.php > (Though not all of these will recognize the sFlow-HTTP structures). > > More background and documentation here: > http://blog.sflow.com/search?q=HTTP > > Neil >

