Hyperwatch is a flexible access log processor that helps operators analyze HTTP traffic reaching their infrastructure.
Hyperwatch is built on a real-time stream processor handling logs from inputs of any type:
- CDNs (Cloudfront, Cloudflare, Akamai, ...)
- Load Balancers (ELB)
- Reverse Proxies (Nginx, Haproxy, ...)
- Web Servers (Nginx, Apache, ...)
- Applications (Node, Ruby, PHP, ...)
Make sure you have Node.js version >= 14.
We recommend using nvm: nvm install && nvm use
.
git clone https://github.com/hyperwatch/hyperwatch.git
cd hyperwatch
npm install
npm start
It's loading the default configuration, it's the same as:
npm start config/default
The first thing you might want is configuring inputs to connect Hyperwatch to your traffic sources and convert it in the proper format.
In order to do this, you need to create a new configuration file such as config/custom.js
.
See Input Configuration for the list of available input types and how to configure them.
There are also a couple of constants you might configure with a simple config file, to learn more you can head to Constants Configuration.
npm start config/custom
The Hyperwatch API and Websocket will be served from port 3000
by default.
You can change that using an environment variable:
PORT=80 npm start config/custom