Last active
March 16, 2017 20:04
-
-
Save obazoud/6711794 to your computer and use it in GitHub Desktop.
Install Graphite / Collectd in Ubuntu 12.04 (precise 64)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[cache] | |
# Enable daily log rotation. If disabled, a kill -HUP can be used after a manual rotate | |
ENABLE_LOGROTATION = True | |
# Specify the user to drop privileges to | |
# If this is blank carbon runs as the user that invokes it | |
# This user must have write access to the local data directory | |
USER = | |
# Limit the size of the cache to avoid swapping or becoming CPU bound. | |
# Sorts and serving cache queries gets more expensive as the cache grows. | |
# Use the value "inf" (infinity) for an unlimited cache size. | |
MAX_CACHE_SIZE = inf | |
# Limits the number of whisper update_many() calls per second, which effectively | |
# means the number of write requests sent to the disk. This is intended to | |
# prevent over-utilizing the disk and thus starving the rest of the system. | |
# When the rate of required updates exceeds this, then carbon's caching will | |
# take effect and increase the overall throughput accordingly. | |
MAX_UPDATES_PER_SECOND = 500 | |
# If defined, this changes the MAX_UPDATES_PER_SECOND in Carbon when a | |
# stop/shutdown is initiated. This helps when MAX_UPDATES_PER_SECOND is | |
# relatively low and carbon has cached a lot of updates; it enables the carbon | |
# daemon to shutdown more quickly. | |
# MAX_UPDATES_PER_SECOND_ON_SHUTDOWN = 1000 | |
# Softly limits the number of whisper files that get created each minute. | |
# Setting this value low (like at 50) is a good way to ensure your graphite | |
# system will not be adversely impacted when a bunch of new metrics are | |
# sent to it. The trade off is that it will take much longer for those metrics' | |
# database files to all get created and thus longer until the data becomes usable. | |
# Setting this value high (like "inf" for infinity) will cause graphite to create | |
# the files quickly but at the risk of slowing I/O down considerably for a while. | |
MAX_CREATES_PER_MINUTE = 50 | |
LINE_RECEIVER_INTERFACE = 0.0.0.0 | |
LINE_RECEIVER_PORT = 2003 | |
# Set this to True to enable the UDP listener. By default this is off | |
# because it is very common to run multiple carbon daemons and managing | |
# another (rarely used) port for every carbon instance is not fun. | |
ENABLE_UDP_LISTENER = False | |
UDP_RECEIVER_INTERFACE = 0.0.0.0 | |
UDP_RECEIVER_PORT = 2003 | |
PICKLE_RECEIVER_INTERFACE = 0.0.0.0 | |
PICKLE_RECEIVER_PORT = 2004 | |
# Set to false to disable logging of successful connections | |
LOG_LISTENER_CONNECTIONS = True | |
# Per security concerns outlined in Bug #817247 the pickle receiver | |
# will use a more secure and slightly less efficient unpickler. | |
# Set this to True to revert to the old-fashioned insecure unpickler. | |
USE_INSECURE_UNPICKLER = False | |
CACHE_QUERY_INTERFACE = 0.0.0.0 | |
CACHE_QUERY_PORT = 7002 | |
# Set this to False to drop datapoints received after the cache | |
# reaches MAX_CACHE_SIZE. If this is True (the default) then sockets | |
# over which metrics are received will temporarily stop accepting | |
# data until the cache size falls below 95% MAX_CACHE_SIZE. | |
USE_FLOW_CONTROL = True | |
# By default, carbon-cache will log every whisper update and cache hit. This can be excessive and | |
# degrade performance if logging on the same volume as the whisper data is stored. | |
LOG_UPDATES = False | |
LOG_CACHE_HITS = False | |
LOG_CACHE_QUEUE_SORTS = True | |
# | |
CACHE_WRITE_STRATEGY = sorted | |
# On some systems it is desirable for whisper to write synchronously. | |
# Set this option to True if you'd like to try this. Basically it will | |
# shift the onus of buffering writes from the kernel into carbon's cache. | |
WHISPER_AUTOFLUSH = False | |
# Only beneficial on linux filesystems that support the fallocate system call. | |
# It maintains the benefits of contiguous reads/writes, but with a potentially | |
# much faster creation speed, by allowing the kernel to handle the block | |
# allocation and zero-ing. Enabling this option may allow a large increase of | |
# MAX_CREATES_PER_MINUTE. If enabled on an OS or filesystem that is unsupported | |
# this option will gracefully fallback to standard POSIX file access methods. | |
WHISPER_FALLOCATE_CREATE = True | |
# To configure special settings for the carbon-cache instance 'b', uncomment this: | |
[cache:a] | |
LINE_RECEIVER_PORT = 2103 | |
PICKLE_RECEIVER_PORT = 2104 | |
CACHE_QUERY_PORT = 7102 | |
[cache:b] | |
LINE_RECEIVER_PORT = 2203 | |
PICKLE_RECEIVER_PORT = 2204 | |
CACHE_QUERY_PORT = 7202 | |
[relay] | |
LINE_RECEIVER_INTERFACE = 0.0.0.0 | |
LINE_RECEIVER_PORT = 2013 | |
PICKLE_RECEIVER_INTERFACE = 0.0.0.0 | |
PICKLE_RECEIVER_PORT = 2014 | |
# Set to false to disable logging of successful connections | |
LOG_LISTENER_CONNECTIONS = True | |
# Carbon-relay has several options for metric routing controlled by RELAY_METHOD | |
RELAY_METHOD = rules | |
# If you use consistent-hashing you can add redundancy by replicating every | |
# datapoint to more than one machine. | |
REPLICATION_FACTOR = 1 | |
# This is a list of carbon daemons we will send any relayed or | |
# generated metrics to. The default provided would send to a single | |
# carbon-cache instance on the default port. However if you | |
# use multiple carbon-cache instances then it would look like this: | |
DESTINATIONS = 127.0.0.1:2104:a, 127.0.0.1:2204:b | |
# This defines the maximum "message size" between carbon daemons. | |
# You shouldn't need to tune this unless you really know what you're doing. | |
MAX_DATAPOINTS_PER_MESSAGE = 500 | |
MAX_QUEUE_SIZE = 10000 | |
# Set this to False to drop datapoints when any send queue (sending datapoints | |
# to a downstream carbon daemon) hits MAX_QUEUE_SIZE. If this is True (the | |
# default) then sockets over which metrics are received will temporarily stop accepting | |
# data until the send queues fall below 80% MAX_QUEUE_SIZE. | |
USE_FLOW_CONTROL = True | |
[aggregator] | |
LINE_RECEIVER_INTERFACE = 0.0.0.0 | |
LINE_RECEIVER_PORT = 2023 | |
PICKLE_RECEIVER_INTERFACE = 0.0.0.0 | |
PICKLE_RECEIVER_PORT = 2024 | |
# Set to false to disable logging of successful connections | |
LOG_LISTENER_CONNECTIONS = True | |
# If set true, metric received will be forwarded to DESTINATIONS in addition to | |
# the output of the aggregation rules. If set false the carbon-aggregator will | |
# only ever send the output of aggregation. | |
FORWARD_ALL = True | |
# This is a list of carbon daemons we will send any relayed or | |
# generated metrics to. The default provided would send to a single | |
# carbon-cache instance on the default port. However if you | |
# use multiple carbon-cache instances then it would look like this: | |
DESTINATIONS = 127.0.0.1:2104:a, 127.0.0.1:2204:b | |
# If you want to add redundancy to your data by replicating every | |
# datapoint to more than one machine, increase this. | |
REPLICATION_FACTOR = 1 | |
# This is the maximum number of datapoints that can be queued up | |
# for a single destination. Once this limit is hit, we will | |
# stop accepting new data if USE_FLOW_CONTROL is True, otherwise | |
# we will drop any subsequently received datapoints. | |
MAX_QUEUE_SIZE = 10000 | |
# Set this to False to drop datapoints when any send queue (sending datapoints | |
# to a downstream carbon daemon) hits MAX_QUEUE_SIZE. If this is True (the | |
# default) then sockets over which metrics are received will temporarily stop accepting | |
# data until the send queues fall below 80% MAX_QUEUE_SIZE. | |
USE_FLOW_CONTROL = True | |
# This defines the maximum "message size" between carbon daemons. | |
# You shouldn't need to tune this unless you really know what you're doing. | |
MAX_DATAPOINTS_PER_MESSAGE = 500 | |
# This defines how many datapoints the aggregator remembers for | |
# each metric. Aggregation only happens for datapoints that fall in | |
# the past MAX_AGGREGATION_INTERVALS * intervalSize seconds. | |
MAX_AGGREGATION_INTERVALS = 5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Config file for collectd(1). | |
# Please read collectd.conf(5) for a list of options. | |
# http://collectd.org/ | |
# | |
Hostname "vagrant" | |
Interval 10 | |
ReadThreads 5 | |
LoadPlugin syslog | |
LoadPlugin logfile | |
LoadPlugin cpu | |
LoadPlugin interface | |
LoadPlugin load | |
LoadPlugin memory | |
LoadPlugin write_graphite | |
<Plugin write_graphite> | |
<Carbon> | |
Host "127.0.0.1" | |
Port "2013" | |
Prefix "" | |
Postfix "" | |
SeparateInstances true | |
</Carbon> | |
</Plugin> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ssh -p 2222 -R 2204:192.168.7.176:2204 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=ERROR -o IdentitiesOnly=yes -i ~/.vagrant.d/insecure_private_key [email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apt-get install --yes flex bison libperl-dev python-dev libdbi-dev libyajl-dev libxml2-dev libmysqlclient-dev iptables-dev git make build-essential automake libtool pkg-config libgcrypt11-dev curl libesmtp-dev liboping-dev libpcap0.8-dev libcurl4-gnutls-dev | |
cd /usr/src && git clone git://github.com/collectd/collectd.git && cd collectd | |
git co 5.2.x | |
./clean.sh && ./build.sh && ./configure --enable-curl --enable-curl_json --enable-curl_xml --enable-dbi --enable-python --enable-mysql --enable-smtp --enable-ping | |
make && make install | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://gist.github.com/obazoud/6705302 | |
#################################### | |
# BASIC REQUIREMENTS | |
# http://graphite.wikidot.com/installation | |
# http://geek.michaelgrace.org/2011/09/how-to-install-graphite-on-ubuntu/ | |
# Last tested & updated 10/13/2011 | |
#################################### | |
cd | |
sudo apt-get update | |
sudo apt-get upgrade | |
wget https://launchpad.net/graphite/0.9/0.9.10/+download/graphite-web-0.9.10.tar.gz | |
wget https://launchpad.net/graphite/0.9/0.9.10/+download/carbon-0.9.10.tar.gz | |
wget https://launchpad.net/graphite/0.9/0.9.10/+download/whisper-0.9.10.tar.gz | |
tar -zxvf graphite-web-0.9.10.tar.gz | |
tar -zxvf carbon-0.9.10.tar.gz | |
tar -zxvf whisper-0.9.10.tar.gz | |
mv graphite-web-0.9.10 graphite | |
mv carbon-0.9.10 carbon | |
mv whisper-0.9.10 whisper | |
rm graphite-web-0.9.10.tar.gz | |
rm carbon-0.9.10.tar.gz | |
rm whisper-0.9.10.tar.gz | |
sudo apt-get install --assume-yes apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 build-essential python3.2 python-dev libpython3.2 python3-minimal libapache2-mod-wsgi libaprutil1-ldap memcached python-cairo-dev python-django python-ldap python-memcache python-pysqlite2 sqlite3 erlang-os-mon erlang-snmp rabbitmq-server bzr expect ssh libapache2-mod-python python-setuptools | |
sudo easy_install django-tagging | |
sudo easy_install zope.interface | |
sudo easy_install twisted | |
sudo easy_install txamqp | |
#################################### | |
# INSTALL WHISPER | |
#################################### | |
cd ~/whisper | |
sudo python setup.py install | |
#################################### | |
# INSTALL CARBON | |
#################################### | |
cd ~/carbon | |
sudo python setup.py install | |
cd /opt/graphite/conf | |
sudo cp carbon.conf.example carbon.conf | |
sudo cp storage-schemas.conf.example storage-schemas.conf | |
sudo gedit storage-schemas.conf | |
### Replace contents of storage-schemas.conf to be the following | |
[stats] | |
priority = 110 | |
pattern = .* | |
retentions = 10:2160,60:10080,600:262974 | |
### | |
#################################### | |
# CONFIGURE GRAPHITE (webapp) | |
#################################### | |
cd ~/graphite | |
sudo python check-dependencies.py | |
sudo python setup.py install | |
# CONFIGURE APACHE | |
################### | |
cd ~/graphite/examples | |
sudo cp example-graphite-vhost.conf /etc/apache2/sites-available/default | |
sudo cp /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi | |
sudo mkdir /etc/httpd | |
sudo mkdir /etc/httpd/wsgi | |
sudo gedit /etc/apache2/sites-available/default | |
##### | |
# Change the line: WSGISocketPrefix run/wsgi | |
# To: WSGISocketPrefix /etc/httpd/wsgi | |
##### | |
sudo /etc/init.d/apache2 reload | |
#################################### | |
# INITIAL DATABASE CREATION | |
#################################### | |
cd /opt/graphite/webapp/graphite/ | |
sudo python manage.py syncdb | |
# follow prompts to setup django admin user | |
sudo chown -R www-data:www-data /opt/graphite/storage/ | |
sudo /etc/init.d/apache2 restart | |
cd /opt/graphite/webapp/graphite | |
sudo cp local_settings.py.example local_settings.py | |
#################################### | |
# START CARBON | |
#################################### | |
cd /opt/graphite/ | |
sudo ./bin/carbon-cache.py start |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
netcat -l 2204 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[default] | |
default = true | |
destinations = 127.0.0.1:2104:a, 127.0.0.1:2204:b |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment