statsdpy sample config:
[main] #graphite host and port to connect too. #graphite_host = 127.0.0.1 #graphite_port = 2003 #address and port we should listen for udp packets on #listen_addr = 127.0.0.1 #listen_port = 8125 #Debug mode is enabled by default! #debug = no #How often to flush stats to graphite #flush_interval = 10 #calculate XXth percentile #percent_threshold = 90
- Edit the config file to adjust your to your environment.
- Start the service:
statsdpy-server start --conf=/path/to/your.conf
- Fire some udp counter, timer, or gauge events at statsdpy
- Check syslog for any errors starting up or processing events
Its important to note that statsdpy runs in debug mode by default (at least for now). So if you wont be running it in the foreground with the
-f|--foreground flag you might wanna set
debug = false in your config. However, running with debug enabled and in the foreground makes it very handy for debuging new statsd clients/events (just dont point it at a valid graphite host).
As with the original statsd implementation from etsy the following event types are supported:
Simple counters. Add 1 to the "sitelogins" event bucket. It stays in memory until flushed to graphite as specified by the flush_interval.
Another counter, this time add "7" to the "500errors" event bucket.
The "pageload" event took 320ms to complete this time. statsdpy computes the XXth percentile (as specified in the config), average (mean), lower and upper bounds for the configured flush interval.
Gauge (simple arbitrary values)
The etsy statsd implementation now supports combined events via seperation by newline. Statsdpy supports this method now as well:
This counter is being sent sampled every 1/10th of the time.
This counter is being sampled at a 50% rate.
Clone the version you want and build the package with stdeb (sudo apt-get install stdeb):
git clone email@example.com:pandemicsyn/statsdpy.git statsdpy-0.0.6 cd statsdpy-0.0.6 git checkout 0.0.6 python setup.py --command-packages=stdeb.command bdist_deb dpkg -i deb_dist/python-statsdpy_0.0.6-1_all.deb
Installation via setup.py
git clone firstname.lastname@example.org:pandemicsyn/statsdpy.git
python setup.py install
- Copy the sample config to /etc/statsdpy/statsdpy.conf
- Edit /etc/statsdpy/statsdpy.conf as required for your environment
- Start statsdpy
/usr/bin/statsdpy-server --conf=/etc/statsdpy/statsdpy.conf start
- Optionally, a basic init script is provided as etc/statsdpy/statsdpy.init