This module installs and makes basic configs for graphite, with carbon and whisper.
RHEL/CentOS/Scientific 6+ Debian 6+ Ubunutu 10.04 and newer
Configure conf files as you need:
templates/opt/graphite/conf/storage-schemas.conf.erb templates/opt/graphite/webapp/graphite/local_settings.py.erb
stdlib by puppetlabs
facter > 1.6.2 puppet > 2.6.2
On Redhat distributions you need the EPEL or RPMforge repository, because Graphite needs packages, which are not part of the default repos.
The descriptions are short and their are more variables to tweak your graphite if needed. For further information take a look at the file templates/opt/graphite/conf/carbon.conf.erb
Parameter | Default | Description |
---|---|---|
gr_user | its empty | The user who runs graphite. If this is empty carbon runs as the user that invokes it. |
gr_max_cache_size | inf | Limit the size of the cache to avoid swapping or becoming CPU bound. Use the value "inf" (infinity) for an unlimited cache size. |
gr_max_updates_per_second | 500 | Limits the number of whisper update_many() calls per second, which effectively means the number of write requests sent to the disk. |
gr_max_creates_per_minute | 50 | Softly limits the number of whisper files that get created each minute. |
gr_line_receiver_interface | 0.0.0.0 | Interface the line receiver listens |
gr_line_receiver_port | 2003 | Port of line receiver |
gr_enable_udp_listener | False | Set this to True to enable the UDP listener. |
gr_udp_receiver_interface | 0.0.0.0 | Its clear, isnt it? |
gr_udp_receiver_port | 2003 | Self explaining |
gr_pickle_receiver_interface | 0.0.0.0 | Pickle is a special receiver who handle tuples of data. |
gr_pickle_receiver_port | 2004 | Self explaining |
gr_use_insecure_unpickler | False | Set this to True to revert to the old-fashioned insecure unpickler. |
gr_cache_query_interface | 0.0.0.0 | Interface to send cache queries to. |
gr_cache_query_port | 7002 | Self explaining. |
gr_apache_port | 80 | The HTTP port apache will use. |
gr_apache_port_https | 443 | The HTTPS port apache will use. |
node "graphite.my.domain" { include graphite }
# This carbon cache will accept TCP and UDP datas and # the cachesize is limited to 256mb node "graphite.my.domain" { class {'graphite': gr_max_cache_size => 256, gr_enable_udp_listener => True } }
The default puppet set up won't work if you have an existing web server in place. In my case this was Nginx. For me moving apache off to another port was good enough. To allow this you do
# Move apache to alternate HTTP/HTTPS ports: node "graphite.my.domain" { class {'graphite': gr_apache_port => 2080, gr_apache_port_https => 2443, } }
written by Daniel Werdermann dwerdermann@web.de
- Oisin Mulvihill, oisin dot mulvihill at gmail dot com.