This is something I recently tested for a customer :
# THIS MIGHT BE DIFFERENT FOR AN ACTUAL RHEL
# This should work :
yum install -y graphite-web python-carbon
Edit /etc/carbon/storage-schemas.conf, put the following content :
#==================================================================
# Schema definitions for Whisper files. Entries are scanned in order,
# and first match wins. This file is scanned for changes every 60 seconds.
#
# [name]
# pattern = regex
# retentions = timePerPoint:timeToStore, timePerPoint:timeToStore, ...
# Carbon's internal metrics. This entry should match what is specified in
# CARBON_METRIC_PREFIX and CARBON_METRIC_INTERVAL settings
[carbon]
pattern = ^carbon\.
retentions = 60:90d
##
## Dev defaults
##
[netapp.perf.dev]
pattern = ^netapp\.perf\.dev\..*
retentions = 10s:24h, 1m:100d, 15m:395d, 1h:5y
[netapp.poller.perf.dev]
pattern = ^netapp\.poller\.perf\.dev\..*
retentions = 10s:24h, 1m:100d, 15m:395d, 1h:5y
[netapp.perf7.dev]
pattern = ^netapp\.perf7\.dev\..*
retentions = 10s:24h, 1m:100d, 15m:395d, 1h:5y
[netapp.poller.perf7.dev]
pattern = ^netapp\.poller\.perf7\.dev\..*
retentions = 10s:24h, 1m:100d, 15m:395d, 1h:5y
##
## Prod defaults
##
[OPM]
pattern = ^netapp-performance\..*
retentions = 5m:100d, 15m:395d, 1h:5y
[OPM Capacity]
pattern = ^netapp-capacity\..*
retentions = 15m:100d, 1d:5y
[OPM Capacity Poller]
pattern = ^netapp-poller\..*
retentions = 15m:100d, 1d:5y
[netapp.capacity]
pattern = ^netapp\.capacity\.*
retentions = 15m:100d, 1d:5y
[netapp.poller.capacity]
pattern = ^netapp\.poller\.capacity\.*
retentions = 15m:100d, 1d:5y
[netapp.perf]
pattern = ^netapp\.perf\.*
retentions = 60s:35d, 5m:100d, 15m:395d, 1h:5y
[netapp.poller.perf]
pattern = ^netapp\.poller\.perf\.*
retentions = 60s:35d, 5m:100d, 15m:395d, 1h:5y
[netapp.perf7]
pattern = ^netapp\.perf7\.*
retentions = 60s:35d, 5m:100d, 15m:395d, 1h:5y
[netapp.poller.perf7]
pattern = ^netapp\.poller\.perf7\.*
retentions = 60s:35d, 5m:100d, 15m:395d, 1h:5y
##
## Catch all
##
[defaults]
pattern = .*
retentions = 60s:35d, 5m:100d, 15m:395d, 1h:5y
#==================================================================
Then :
systemctl enable carbon-cache
systemctl start carbon-cache
firewall-cmd --permanent --add-service=httpd
firewall-cmd --reload
Edit /etc/httpd/conf.d/graphite-web.conf , and make sure that section matches (it defaults to "local" instead of "all granted")
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
Run the following command :
PYTHONPATH=/usr/share/graphite/webapp django-admin syncdb --settings=graphite.settings
You will be asked to create a super user, just accept the defaults, and give it a password
Install Grafana
systemctl enable grafana-server
systemctl start grafana-server
firewall-cmd --permanent --add-port=3000/tcp
firewall-cmd --reload
Add a Datasource
Go in Configurations > Datasources and add a Datasource for Graphite :
Name : Graphite Default : YES (important)
Type : Graphite
Version 1.0.x (Important)
Leave defaults for the rest
Create an API key for Harvest
Go to Settings > API Keys
Key Name : Harvest
Role : Editor
Click Add and save the key somewhere (i.e. eyJrIjoiOHJKaVNYMzVmT3FERkxuOE1KY3NqeXdXM3JMQlBxTWIiLCJuIjoiSGFydmVzdCIsImlkIjoxfQ==)
You cannot get it after you leave that page, you will use it in Harvest install guide.
Install dependencies for Harvest
yum install -y perl-LWP-Protocol-https perl-XML-Parser perl-JSON