graphite是个不错的监控系统,不过文档真的很烂。之前 @ARGV 写过一篇blog介绍了debian系统上的安装过程。
由于安装过程在最新版有一些变化,所以将我最近手动安装的过程整理出来,希望对你有帮助。
整个过程采用的系统是CentOS 6.4 x86_64。软件仓库配置了EPEL。
安装过程记录
yum安装
其实EPEL仓库中已经有graphite的安装包。设置EPEL仓库,用yum直接安装即可。
yum --enablerepo=epel install graphite-web python-carbon -y
手工安装
准备工作目录
mkdir -p ~/graphite_setup && cd ~/graphite_setup
安装whisper
git clone https://github.com/graphite-project/whisper.git
cd whisper && sudo python setup.py install && cd -
安装carbon
git clone https://github.com/graphite-project/carbon.git
cd carbon && python setup.py install && cd -
cd /opt/graphite/conf
cp carbon.conf.example carbon.conf
cp storage-schemas.conf.example storage-schemas.conf
根据需求调整carbon.conf中的配置。
安装graphite-web
git clone https://github.com/graphite-project/graphite-web.git
cd graphite-web && python check-dependencies.py
#如果报告依赖问题,需要安装对应的软件包
yum install pycairo django pytz pyparsing django-tagging python-memcached python-ldap twisted txamqp python-rrdtool -y
sudo python setup.py install
cd /opt/graphite/webapp/graphite/
cp local_settings.py.example local_settings.py
务必重新设置SECRET_KEY,根据需要调整TIME_ZONE和其它参数。
PYTHONPATH=/opt/graphite/webapp/ django-admin syncdb --settings=graphite.settings
制造一些测试数据
cd /opt/graphite/examples/
python example-client.py
或者用脚本模拟也写随机数据
ruby -e 'puts "test.op.random_seq #{rand(100)} #{Time.now.to_i}"' | nc 127.0.0.1 2003
启动web 服务
cp /opt/graphite/examples/example-graphite-vhost.conf /etc/httpd/conf.d/
service httpd restart
安装文档参考
# 安装文档的更新 https://github.com/graphite-project/graphite-web/blob/master/INSTALL
# https://github.com/graphite-project/graphite-web