Installs and configures Graphite. Much of the work in this cookbook is done by Heavy Water Software and Hector Castro. This version is configured specifically for Amazon Linux as I couldn't get any others to work out of the box on the Amazon AMIs. This can be integrated into the great StatsD library from Etsy for realtime statistics.
- Amazon Linux
- apache2
- python
node['graphite']['version']
- version of graphite to install (defaults to 0.9.10)node['graphite']['password']
- password for graphite root user(defaults tochange_me
)node['graphite']['url']
- url of the graphite server (defaults to graphite)node['graphite']['url_aliases']
- array of url aliases (defaults to nil)node['graphite']['listen_port']
- port to listen on (defaults to 80)node['graphite']['base_dir']
= "/opt/graphite"node['graphite']['doc_root']
= "/opt/graphite/webapp"node['graphite']['storage_dir']
= "/opt/graphite/storage"node['graphite']['django_root']
= "@DJANGO_ROOT@" - configurable path to your django installationnode['graphite']['timezone']
- Set the timezone for the graphite web interface, defaults to Europe/Londonnode['graphite']['memcache_hosts']
- Array of IP and port pairs for memcached.node['graphite']['carbon']['line_receiver_interface']
- line interface IP (defaults to 0.0.0.0)node['graphite']['carbon']['line_receiver_port']
- line interface port (defaults to 2003)node['graphite']['carbon']['pickle_receiver_interface']
- pickle receiver IP (defaults to 0.0.0.0)node['graphite']['carbon']['pickle_receiver_port']
- pickle receiver port (defaults to 2004)node['graphite']['carbon']['cache_query_interface']
- cache query IP (defaults to 0.0.0.0)node['graphite']['carbon']['cache_query_port']
- cache query port (defaults to 7002)node['graphite']['carbon']['max_cache_size']
- max size of the carbon cache (defaults to "inf")node['graphite']['carbon']['max_creates_per_second']
- max number of new metrics to create per second (defaults to "inf")node['graphite']['carbon']['max_updates_per_second']
- max updates to carbon per second (defaults to "1000")node['graphite']['carbon']['service_type']
- init service to use for carbon (defaults to runit)node['graphite']['carbon']['log_whisper_updates']
- log updates to whisper (defaults to false)
recipe[graphite]
will install Graphite and all of its components.recipe[graphite::carbon]
will install Carbon.recipe[graphite::whisper]
will install Whisper.recipe[graphite::web]
will install Graphite's dashboard.
recipe[graphite]
should build a stand-alone Graphite installation on Amazon Linux.
Graphite's credentials default to username root
and password change_me
(customisable)
with an e-mail address going no where. Also, two schemas are provided by default:
stats.*
for StatsD and a catchall that matches anything.