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依赖包

添加额外的源

除了CentOSbaseupdatesextra之外,再添加两个源:epelrpmforge

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


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

cairographite的绘图库,是必须的软件。

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

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

mod_wsgiapache的模块


3.安装Graphite组件

Graphite组件包括三个部分:carbonwhispergraphite-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.

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/

SetHandler None


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

SetHandler None


# The graphite.wsgi file  has to be accessible by apache. It won't

# be visible to clients  because of the DocumentRoot though.

Order deny,allow

Allow from all



配置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-jsstatsd

#先安装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 &




8.参考文章

http://www.jsxubar.info/centos-5%E5%AE%89%E8%A3%85graphite.html

http://www.osninja.com/wp/?p=134