A Golang-based open-source network monitoring tool

golang based open-source network monitoring tool

GoReplay is an open-source network monitoring tool which can record your live traffic and use it for shadowing, load testing, monitoring and detailed analysis.

About

As your application grows, the effort required to test it also grows exponentially. GoReplay offers you the simple idea of reusing your existing traffic for testing, which makes it incredibly powerful. Our state of art technique allows you to analyze and record your application traffic without affecting it. This eliminates the risks of putting a third party component in the critical path.

GoReplay increases your confidence in code deployments, configuration and infrastructure changes.

GoReplay offers a unique approach for shadowing. Instead of being a proxy, GoReplay listens in the background for traffic on your network interfaces, requiring no changes in your production infrastructure, other than running GoReplay daemon on the same machine as your service.

Swiss Army knife for testing and monitoring

Shadowing, also known as traffic mirroring or Dark Traffic

Systems behave differently depending on environment and traffic patterns. There is an entire layer of errors that just can’t be found via integrational or manual testing. GoReplay offers you the simple idea of reusing your existing traffic for testing: you can select part of production traffic and replay it to testing environment, while having the ability to filter and rewrite requests on the fly. Our state of art technique allows analyzing and recording network traffic without affecting your applications, eliminating risks that come with putting a third party component in the critical path. GoReplay increases your confidence in code deployments, configuration changes and infrastructure changes and ensures that your app isn’t tripped up by an edge-case that only presents itself after you’ve gone live. Learn more

Load testing

Writing synthetic tests is difficult because it’s almost impossible to truly replicate production traffic patterns. Humans, browsers, and robots all do strange things that affect the frequency of requests, URL weighting, size of headers, etc. With GoReplay you can replay your recorded traffic on higher or lower speed, ensuring that replayed requests will be exactly the same, will come in the same order, and even in the same TCP session, making GoReplay is arguably the simplest and most accurate load testing tool. GoReplay performance and clustering capabilities allow you to scale it both vertically and horisontally, in order to perform efficient and accurate load testing of any complexity. Learn more

Monitoring and analysis

Even if your application do not support monitoring or audit, you can make GoReplay record all traffic, without modifying your application, and store it in plain files or redirect to sources like ElasticSearch, Kafka, or S3 for further analysis. GoReplay can be extended with plugins, which can be written in any language, and allow you to dynamicaly access and modify original request, response and replayed respose data, to implement complex rewriting and monitoring logic, making it a trully swiss army knife for testing and monitoring web apps. Capabilities are limited only by your imagination:     – Store latest snapshot of production traffic to create repeatable test cases     – Log data for audit purpose, and dynamically stripping sensitive data     – Exposing live app metrics, via statsd, ELK, prometheus agent, or similar     – Monitoring performance and health of your app