http://github/draco2003 ! Lead the Infrastructure Tools Teams - InternalTools : Customers are Employees - DevTools : Customers are Engineers ! Next Monitorama in New England? Boston 2015? I’ll bring reptiles :) !
• Offers more than 7 million products. • More than 16 million site visitors per month. • In the past year the company grew 55%. • 2013 sales reached $915 million.
the puzzle: * Active / Active DC * Primarily Load-balancer -> PHP WebFarm * Everything else is a Heterogeneous Environment (PHP, Python, .NET, Java, Appliances running on Linux and Windows)
sniffer and analyzer. • Kind of like Wireshark as a service. • Currently in production as Beta. ! ! ! ! ! ! ! ! ! ! • Essentially it is a Packet processing pipeline.
Wiff in multiple ways. • Network interface • pcap file (or ring buffer of tcpdump files.) • RabbitMQ • egress or ingress traffic, if they are packets, we'll take'em all.
to map IP to key file in config • Not all SSL ciphers supported, but most are easy to add. • We don't store request or response bodies, but you can… • This is alpha as we improve performance at full volume.
in ! • Wiff keeps track of connections ! • Orders the packets by sequence number ! • Stitches the payloads ! • Decrypting if needed. ! • The stream is then parsed into a response / request pair and sent to Elasticsearch
the processed data somewhere. • Our primary usage is send to Elasticsearch (via RabbitMQ) • Parse the stitched tcpstream into JSON Object of request / response pair. ! • Example reporter for sending to Elasticsearch for Windows/Low volume usage. !
the beginning of the pipeline. ! • Kibana friendly data format • Example/Pre-configured dashboards coming soon. ! • It’s in Elasticsearch, analyze to your hearts content. ! • Alert: • Tattle for Elasticsearch? (that's another talk ;) ) • Whatever you use now for alerting from ES queries.
errors or logs if the load balancer is mis- configured or erroring? (Other than the customer) • Web servers can only log the requests they see. • Web servers can only log the requests they complete. • Apache / Nginx don't write log line on segfault, etc.. • Application can only log requests they complete. • Logging not up high enough when needed? set-cookie anyone?
• a farm of web servers handling requests. • multiple types of web servers handling requests. • appliances handling some portion of requests. • lots of different log formats. ! • Single Pane of glass/Single format of data.
Runs on Windows boxes to watch proprietary software. • Third Party Appliance / External api call latency • Packet RTT • Frequency of requests • Tracking / Investigating desktop traffic.
Checkout the repo at: https://github.com/wayfair/wiff ! If you don’t want to build it yourself, we’ve tagged a release so you can grab the jar https://github.com/wayfair/wiff/releases/