Skip to content
CDNStat is a daemon collecting various statistics from nginx requests: request count, sent bytes, referer, URI path.
Go
Latest commit a342da8 Sep 22, 2012 @antage Updated bootstrap CDN links
Failed to load latest commit information.
bin Project layout has been changed Jun 26, 2012
src Fixed memory leaks Jul 4, 2012
templates
.gitignore Project layout has been changed Jun 26, 2012
README.md

README.md

CDNStats

CDNStat is a daemon collecting various statistics from nginx requests: request count, sent bytes, referer, URI path.

Installation

git clone git://github.com/antage/cdnstats
GOPATH=./cdnstats go install cdnstats
cdnstats/bin/cdnstats -h x.x.x.x -p pppp

Where x.x.x.x is host name, pppp is port number. Default values: 127.0.0.1:9090

Now you can open browser at http://x.x.x.x:pppp/ for web-page displaying statistics.

How to setup Nginx?

Configuration example:

server {
    location / {
        root /var/www;
        post_action @stats; # after each request send information to cdnstats
    }

    location @stats {
        proxy_pass http://x.x.x.x:pppp/collect?bucket=[bucket name]&s=[hostname]&uri=$uri;
        # don't wait too long
        proxy_send_timeout 5s;
        proxy_read_timeout 5s;

        # optional header if you use domain name instead of ip-address x.x.x.x
        # proxy_set_header Host cdnstat.example.org;

        # this headers are used by cdnstats
        proxy_set_header X-Bytes-Sent $body_bytes_sent;
        # Referer header is sent implicitly

        # delete unused headers
        proxy_set_header Accept "";
        proxy_set_header Accept-Encoding "";
        proxy_set_header Accept-Language "";
        proxy_set_header Accept-Charset "";
        proxy_set_header User-Agent "";
        proxy_set_header Cookie "";

        # don't send POST-request body
        proxy_pass_request_body off;
    }
}
Something went wrong with that request. Please try again.