基于CentOS6.5,statsD跟Graphite的部署过程(nginx)

来源:互联网 发布:php文件上传过程 编辑:程序博客网 时间:2024/06/13 19:47
基于CentOS6.5,statsD和Graphite的部署过程
最近在整理爬虫,采用scrapy,想部署一套分布式爬虫系统,graphite作为爬虫的监控,废话不多说直接上手 
系统版本:CentOS release 6.5 (Final) 
Python版本:Python 2.7.6 

开始部署Graphite 
1、系统依赖 
引用
yum -y install libpng-devel


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) 
引用
pip install Django==1.5.8 
pip install django-tagging


4、有用到mysql数据库安装mysql模块 
引用
pip install mysql-python


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


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

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


8、修改Django的数据库配置(配置文件位置/opt/graphite/webapp/graphite/settings.py) 
引用
#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' 
  } 
}


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


10、安装Twisted(注意版本) 
引用
pip uninstall Twisted 
pip install "Twisted<12.0"


11、启动carbon-cache服务 
引用
cd /opt/graphite 
bin/carbon-cache.py start


12、OK基础完成,接下来配置WEB(Nginx+uWSGI模式) 
12.1、需要先安装uwsgi 
引用
pip install uwsgi

12.2、配置、启动uwsgi服务 
引用
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>

12.3、启动uwsgi 
uwsgi /opt/graphite/uwsgi.xml 
12.4/nginx配置 
引用
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/; 
        } 
}

12.5、配置完成,重新启动nginx,访问主机ip,就会出现graphite的页面
0 0
原创粉丝点击