CentOS 5.5 安装Graphite

CentOS 5.5 安装Graphite


1.系统信息汇总

[root@cc-monitor conf]# uname -a

Linux cc-monitor 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST  2011 x86_64 x86_64 x86_64 GNU/Linux

 


[root@cc-monitor conf]# python -V

Python 2.4.3

 


[root@cc-monitor conf]# getenforce

Disabled
 

 


2.安装Graphite依赖包

 


添加额外的源

除了CentOS源base、updates、extra之外,再添加两个源:epel和rpmforge。

# 安装epel源

wget  http://mirrors.sohu.com/Fedora-epel/5/i386/epel-release-5-4.noarch.rpm

yum install epel-release-5-4.noarch.rpm

# 安装rpmforge源

wget  http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

yum install rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

 


安装依赖包

依赖包相当多,争取一次搞定

yum -y install bitmap bitmap-fonts Django pycairo python-devel  python-ldap python-memcached mod_wsgi python-sqlite2 glibc-devel gcc gcc-c++  git openssl-devel python-zope-interface httpd memcached python-hashlib  django-tagging python-twisted python-simplejson

 


这里还是做一下简单说明:

cairo是graphite的绘图库,是必须的软件。

bitmap-fonts字体也是需要的,否则可能图形显示不正常

python-twisted必须安装rpmforge源的python-twisted-core-8.2.0-1.el5.rf,这也是为什么添加rpmforge源的原因。

mod_wsgi是apache的模块
 

 


3.安装Graphite组件

 


Graphite组件包括三个部分:carbon、whisper和graphite-web

下载地址:

https://github.com/graphite-project/graphite-web/downloads

https://github.com/graphite-project/whisper/downloads

https://github.com/graphite-project/carbon/downloads

# install graphite-web

tar zxvf graphite-web-0.9.10.tar.gz

cd graphite-web-0.9.10

python setup.py install

cd ..

# install whisper

tar zxvf whisper-0.9.10.tar.gz

cd whisper-0.9.10

python setup.py install

cd ..

# install carbon

tar zxvf carbon-0.9.10.tar.gz

cd carbon-0.9.10

python setup.py install

 

 

 


4.配置apache服务

 


创建 Graphite 的虚拟主机配置:/etc/httpd/conf.d/graphite.conf,创建方法如下:

cat > /etc/httpd/conf.d/graphite.conf

Listen 8080

 


# You may need to manually edit  this file to fit your needs.

# This configuration assumes  the default installation prefix

# of /opt/graphite/, if you  installed graphite somewhere else

# you will need to change all  the occurances of /opt/graphite/

# in this file to your chosen  install location.

<VirtualHost *:8080>

 ServerName graphite

 DocumentRoot  "/opt/graphite/webapp"

 


 # 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

 


 # 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>

 


 # NOTE: 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/  "/usr/lib/python2.4/site-packages/django/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>

 


配置mod_wsgi模块

在  /etc/httpd/conf.d/wsgi.conf文件中添加以下两行:

LoadModule wsgi_module  modules/mod_wsgi.so

WSGISocketPrefix /var/run/wsgi

 

 

 


5.配置Graphite

 


运行以下命令创建配置文件

cd /opt/graphite/conf/

for i in graphite.wsgi carbon.conf  storage-schemas.conf storage-aggregation.conf; do cp $i.example $i; done

cd /opt/graphite/webapp/graphite/

cp local_settings.py.example  local_settings.py

 


运行以下命令创建数据库:

cd /opt/graphite/webapp/graphite/

python manage.py syncdb

chown -R apache:apache /opt/graphite/

 

 


 

 


6.启动服务和程序

 


service httpd start

/opt/graphite/bin/carbon-cache.py start

安装已经完成。在浏览器中使用http://ip:8080,使用安装graphite的主机的ip代替。可以访问即可以肯定的告诉你CentOS 5安装Graphite成功了
 

 


7.安装node-js和statsd

 


#先安装python2.6

yum install bzip2* glibc-devel

cd Python-2.6.8

make clean

./configure

make

make install

ln -s /usr/local/bin/python  /usr/bin/python

 


#再安装node-js

wet  http://nodejs.org/dist/node-v0.4.8.tar.gz

cd node-v0.8.7

./configure

make

make install

 


#验证安装是否成功

[root@cc-monitor statsd-2.0.1]# node -v

v0.8.7

 


#安装statsd

git clone http://github.com/etsy/statsd.git

cp -R statsd /opt/graphite/

 

 

 

#Create /opt/graphite/statsd/local.js

[root@cc-monitor statsd]# cat local.js

{

  graphitePort: 2003

, graphiteHost: "localhost"

, port: 8124

}

 


#start nodejs/statsd

cd /opt/graphite/statsd

nohup /usr/local/bin/node stats.js  local.js &