Install graphite server using python-pip
apt-get install gcc python-dev python-pip
sudo pip install https://github.com/graphite-project/ceres/tarball/master
sudo pip install whisper
sudo pip install carbon
sudo pip install graphite-web
cd /opt/graphite/conf
sudo cp carbon.conf.example carbon.conf
sudo cp storage-schemas.conf.example storage-schemas.conf
sudo cp graphite.wsgi.example graphite.wsgi
===========================================
Run carbon service and test
===========================================
sudo /opt/graphite/bin/carbon-cache.py start
sudo /opt/graphite/bin/carbon-cache.py start
if you get something like Python Error - ImportError: cannot import name daemonize
take a look at: Can't Start Carbon - 12.04 - Python Error - ImportError: cannot import name daemonize
try:
sudo pip install 'Twisted<12.0'
check if the port of carbon service is opened:
netstat -naep | grep 2003
test:
perl -e '$ts = time(); for (1..1000) { printf "foo.bar %d %d\n", int(rand(10000)), $ts - 90 * $_ }' \ | nc -c localhost 2003
===========================================
Run Graphite web UI (apache2 with mod_python, mod_wsgi)
===========================================
sudo apt-get install apache2 libapache2-mod-python libapache2-mod-wsgi
sudo apt-get install apache2 libapache2-mod-python libapache2-mod-wsgi
sudo chown -R www-data:www-data /opt/graphite/storage/
sudo mv /etc/apache2/sites-available/default /etc/apache2/sites-available/default.bak
sudo cp /opt/graphite/examples/example-graphite-vhost.conf /etc/apache2/sites-available/default
sudo mkdir /etc/httpd
sudo mkdir /etc/httpd/wsgi
cd /opt/graphite/webapp/graphite/
sudo cp local_settings.py.example local_settings.py
restart apache2
sudo service apache2 restart
===========================================
Initialize database after installed apache2
===========================================
sudo apt-get install python-django
sudo pip install django-tagging==0.3.1
cd /opt/graphite/webapp/graphite/
sudo python manage.py syncdb
Username: root
Password: xxx
E-mail: info@fxlive.de
Edit
/opt/graphite/webapp/graphite/local_settings.py
add:
SECRET_KEY
SECRET_KEY
TIME_ZONE = 'Europe/Berlin'
LOG_RENDERING_PERFORMANCE = True
LOG_CACHE_PERFORMANCE = True
===========================================
Troubleshooting
===========================================
1) Edit the following file:
/etc/apache2/sites-available/default
Make sure that the configuration for WSGISocketPrefix is set as follows:
WSGISocketPrefix /var/run/apache2/wsgi
Otherwise, you will get the following error:
[Tue Jun 19 13:21:28 2012] [error] [client 192.168.xxx.xxx] (2)No such file or directory: mod_wsgi (pid=19506): Unable to connect to WSGI daemon process 'graphite' on '/etc/apache2/run/wsgi.19365.1.1.sock' after multiple attempts.
2) if you changed the VirtualHost post, do not forget to add this port in
/etc/apache2/ports.conf
add something like this:
NameVirtualHost *:8000
Listen 8000
3) if you can not see the images, get something like this:
ViewDoesNotExist: Could not import graphite.render.views. Error was: No module named cairo
you need install:
sudo apt-get install python-cairo-dev
4) watch the logs if something still not working right:
cd /opt/graphite/storage/log/webapp
find . -name '*.log' | xargs tail -F
5) location of graphite's whisper database (RDD storage)
/opt/graphite/storage/whisper
===========================================
example: storage-schemas.conf
===========================================[stats_1day]
pattern = ^stats_1day\.
retentions = 1d:1y
[stats_1hour]
pattern = ^stats_1hour\.
retentions = 1h:90d
===========================================
example: /etc/apache2/sites-available/default
===========================================
<IfModule !wsgi_module.c>
LoadModule wsgi_module modules/mod_wsgi.so
</IfModule>
WSGISocketPrefix /var/run/apache2/wsgi
<VirtualHost *:8000>
ServerName graphite
DocumentRoot "/opt/graphite/webapp"
ErrorLog /opt/graphite/storage/log/webapp/error.log
CustomLog /opt/graphite/storage/log/webapp/access.log common
# enable XORS (Cross-origin resource sharing), see below
Header set Access-Control-Allow-Origin "*"
# I've found that an equal number of processes & threads tends
# to show the best performance for Graphite (ymmv).
WSGIDaemonProcess graphite processes=5 threads=5 display-name='%{GROUP}' inactivity-timeout=120
WSGIProcessGroup graphite
WSGIApplicationGroup %{GLOBAL}
WSGIImportScript /opt/graphite/conf/graphite.wsgi process-group=graphite application-group=%{GLOBAL}
# XXX You will need to create this file! There is a graphite.wsgi.example
# file in this directory that you can safely use, just copy it to graphite.wgsi
WSGIScriptAlias / /opt/graphite/conf/graphite.wsgi
Alias /content/ /opt/graphite/webapp/content/
<Location "/content/">
SetHandler None
</Location>
# XXX In order for the django admin site media to work you
# must change @DJANGO_ROOT@ to be the path to your django
# installation, which is probably something like:
# /usr/lib/python2.6/site-packages/django
Alias /media/ "@DJANGO_ROOT@/contrib/admin/media/"
<Location "/media/">
SetHandler None
</Location>
# The graphite.wsgi file has to be accessible by apache. It won't
# be visible to clients because of the DocumentRoot though.
<Directory /opt/graphite/conf/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
you may want to enable XORS (Cross-origin resource sharing) or cross site scripting or whatever~
you should add this line
Header set Access-Control-Allow-Origin "*"
in to
/etc/apache2/sites-available/default
and then restart apache2
===========================================
bugfix
===========================================
there is a small bug in Graphite's Dashboard JS, take a look this post:
http://www.abcn.net/2014/01/graphites-dashboard-set-auto-hide-navbar.html
there is a small bug in Graphite's Dashboard JS, take a look this post:
http://www.abcn.net/2014/01/graphites-dashboard-set-auto-hide-navbar.html
show loaded modules:
ReplyDeleteapachectl -t -D DUMP_MODULES
The Assam Higher Secondary Education Council was established on 1st June,1984.Assam Higher Secondary Education Council or AHSEC is renowned board for 10+2 education in north-eastern India. The AHSEC have its head Office at AHSEC HS Question Paper 2023 Bamunimaidam, Guwahati. It regulate, supervise and develop Higher Secondary Education in the state of Assam.
ReplyDeleteHello mate great blog poost
ReplyDelete