Graphite installation on Linux



It is a free open-source software (FOSS) tool, monitors and graphs the performance of computer systems. It was developed by Orbitz and released as open source software in 2008. Graphite collects, stores, and displays time-series data in real time.

The tool has three main components:

  • carbon – a Twisted daemon that listens for time-series data
  • whisper – a simple database library for storing time-series data (similar in design to RRD)
  • graphite webapp – A Django webapp that renders graphs on-demand using Cairo

First add the EPEL repository by using the following command.

 yum -y install epel-release

Now add some prerequisites to install Graphite.

 yum install -y httpd net-snmp perl pycairo mod_wsgi python-devel git gcc-c++

Now install Python package Manager.

 yum install -y python-pip node npm

Now its time to install Graphite as follows

pip install Django==1.10.3
pip install  Twisted==16.5
pip install django-tagging
pip install whisper
pip install graphite-web
pip install carbon

Finally add some packages as follows

yum install collectd collectd-snmp
git clone /usr/local/src/statsd/

Graphite Configuration

cp /opt/graphite/examples/example-graphite-vhost.conf /etc/httpd/conf.d/graphite.conf
cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf
cp /opt/graphite/conf/storage-aggregation.conf.example /opt/graphite/conf/storage-aggregation.conf
cp /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi
cp /opt/graphite/conf/graphTemplates.conf.example /opt/graphite/conf/graphTemplates.conf
cp /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf
chown -R apache:apache /opt/graphite/storage/

Now Edit the file /opt/graphite/conf/storage-schemas.conf by using vi editor modify the file as follows


Now create a super-user in graphite to save the graphs as follows

cd /opt/graphite/webapp/graphite
sudo python migrate

Sample Output:

[root@localhost graphite]# sudo python migrate
Creating tables ...
Creating table account_profile
Creating table account_variable
Creating table account_view
Creating table account_window
Creating table account_mygraph
Creating table dashboard_dashboard_owners
Creating table dashboard_dashboard
Creating table events_event
Creating table url_shortener_link
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_session
Creating table django_admin_log
Creating table django_content_type
Creating table tagging_tag
Creating table tagging_taggeditem

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'root'):
Email address:
Password (again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
 .. . .. . .. .. .. .. .  . .. . 
 . . . .. . . . . .. . .. .. ...  . .

Now start services as follows

systemctl enable httpd
systemctl start httpd
/opt/graphite/bin/ /opt/graphite/

Now access it in your web-browser http://ip-address:8080


For more articles like us facebook.

Previous articleOpenfire installation on Linux
Next articleHow to upgrade fedora 24 to fedora 25
This is Naga Ramesh Reddy from Bangalore (India).I have 4+ years of experience in System and Network Administration field. I like to read and write about Linux, Cisco, Microsoft and DevOps technologies and the latest software releases. Particularly I am very interested about Linux flavors like Centos, RHEL, Ubuntu and Linux Mint.