基于CentOS6.5,statsD和Graphite的部署过程

最近在整理爬虫,采用scrapy,想部署一套分布式爬虫系统,graphite作为爬虫的监控,废话不多说直接上手
系统版本:CentOS release 6.5 (Final)
Python版本:Python 2.7.6

开始部署Graphite
1、系统依赖
[quote]yum -y install libpng-devel[/quote]

2、安装mysql、nginx(此处省略,可用源码或者yum安装,这里遇到一点问题,刚开始安装的是mysql5.6的版本,但是后面安装mysql-python,测试的时候 import MySQLdb出现问题,一直提示找不到libmysqlclient_r.so.16,进mysql lib目录一看,尼玛根本没有这个只有libmysqlclient_r.so.15和libmysqlclient_r.so.18,回忆以前安装mysql5.1时没有遇到这个问题,为了节省时间,只要对mysql降级)

3、安装Django(pip视为已安装,不做过多赘述,这里也需要说明下,这里耽误我不少时间,刚开始没有制定django版本,默认装了个1.8,麻痹啊,各种不兼容啊,还找不到问题,经过一番努力,偶然返现版本兼容问题,降级,安装指定版本1.5.8)
[quote]pip install Django==1.5.8
pip install django-tagging[/quote]

4、有用到mysql数据库安装mysql模块
[quote]pip install mysql-python[/quote]

5、开始搞Graphite(默认安装目录为/opt/graphite)
[quote]pip install carbon
pip install whisper
pip install graphite-web[/quote]

6、cairo和pycairo(这里直接用yum,版本为1.8.X,也可以使用源码安装)

7、配置carbon(这里直接采用默认配置)
[quote]cd /opt/graphite/conf
cp carbon.conf.example carbon.conf
cp storage-schemas.conf.example storage-schemas.conf[/quote]

8、修改Django的数据库配置(配置文件位置/opt/graphite/webapp/graphite/settings.py)
[quote]#Initialize deprecated database settings
DATABASE_ENGINE = ''
DATABASE_NAME = ''
DATABASE_USER = ''
DATABASE_PASSWORD = ''
DATABASE_HOST = ''
DATABASE_PORT = ''

DATABASES = {
'default': {
'NAME': 'name',
'ENGINE': 'django.db.backends.mysql',
'USER': 'user',
'PASSWORD': 'password',
'HOST': '192.168.2.244',
'PORT': '3306'
}
}[/quote]

9、设置完成数据库,需要进行数据同步
[quote]cd /opt/graphite/webapp/graphite
python manage.py syncdb[/quote]

10、安装Twisted(注意版本)
[quote]pip uninstall Twisted
pip install "Twisted<12.0"[/quote]

11、启动carbon-cache服务
[quote]cd /opt/graphite
bin/carbon-cache.py start[/quote]

12、OK基础完成,接下来配置WEB(Nginx+uWSGI模式)
12.1、需要先安装uwsgi
[quote]pip install uwsgi[/quote]
12.2、配置、启动uwsgi服务
[quote]cd /opt/graphite/conf
cp graphite.wsgi.example wsgi.py
cd /opt/graphite/
touch uwsgi.xml
vim uwsgi.xml
<uwsgi>
<socket>127.0.0.1:8630</socket>
<chdir>/opt/graphite/conf</chdir>
<module>wsgi</module>
<master>True</master>
<processes>4</processes>
<pidfile>/var/run/uwsgi-graphite.pid</pidfile>
<vacuum>True</vacuum>
<max-requests>5000</max-requests>
<daemonize>/var/log/uwsgi-graphite.log</daemonize>
<stats>127.0.0.1:9192</stats>
<protocol>http</protocol>
</uwsgi>[/quote]
12.3、启动uwsgi
uwsgi /opt/graphite/uwsgi.xml
12.4/nginx配置
[quote]server {
listen 80;
server_name localhost;
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;

location / {
include uwsgi_params;
proxy_pass http://127.0.0.1:8630;
}

location /static/admin/ {
alias /usr/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/;
}
}[/quote]
12.5、配置完成,重新启动nginx,访问主机ip,就会出现graphite的页面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值