How to Install and Configure Graphite on CentOS 7

Using a Different System?

  • How to Install and Configure Graphite on Ubuntu 16.04

Are we missing a guide for your target system? Request one, or submit your own!


Graphite is a highly scalable real-time graphing system that can be used to gather various system information and display it in an intuitive web interface. Graphite is also free and open source software.

This tutorial will cover the process of installing Graphite on a CentOS 7 Server instance.


  • A CentOS 7 instance.
  • A sudo user.

Step 1: Install Required Packages

In order for Graphite to install and function, a set of packages must be installed on the server. However, these packages are not available in the CentOS default yum repository. Vultr instances come with the EPEL repository enabled by default, but if you’re installing this elsewhere you will need to install it via:

sudo yum install -y

Next, install the requires packages for Graphite as follows:

sudo yum install -y graphite-web python-carbon

Step 2: Configure Graphite

Next, we will need to modify storage schema file. The values in this file will instruct Carbon on how long to store values.

sudo nano /opt/graphite/conf/storage-schemas.conf 

Add the following lines:

 [default] pattern = .* retentions = 12s:4h, 2m:3d, 5m:8d, 13m:32d, 1h:1y

Save the file and start Carbon using the following command:

sudo systemctl enable carbon-cache    sudo systemctl start carbon-cache 

Next, change the timezone and SECRET_KEY values in /etc/graphite-web/

Once you are done, run the database setup script using following command:

PYTHONPATH=/usr/share/graphite/webapp django-admin syncdb --settings=graphite.settings

Step 4: Configure Apache for Graphite

First, remove the default index page from apache:

  echo > /etc/httpd/conf.d/welcome.conf

Next, edit /etc/httpd/conf.d/graphite-web.conf and replace everything in the ‘Directory “/usr/share/graphite/”‘ block with:

    Require all granted    Order allow,deny    Allow from all

Assign the proper permissions to the Graphite directory:

sudo chown apache:apache /var/lib/graphite-web/graphite.db

And work around a bug related to building indexs with:

  touch /var/lib/graphite-web/index

Start Apache and enable auto-start:

sudo systemctl start httpd  sudo systemctl enable httpd  

Access Graphite Web Interface

You may need to enable port 80 in firewalld:

sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --reload

You can now access Graphite in your web browser by visiting your server’s IP address.

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article

No comments

Powered by Blogger.