Graphite+StatsD部署手册

Posted chmyee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Graphite+StatsD部署手册相关的知识,希望对你有一定的参考价值。

安装pip、carbon 和whisper

yum -y install epel-release   #安装epel扩展源pip才能安装

yum -y install python-pip

yum -y install python-devel

yum -y install gcc

yum -y install unzip

pip install carbon (pip install --no-index --find-links=/app/tools/stada/ carbon)

如果incremental报错,请先手动安装它:pip install --no-index --find-links=/app/tools/stada/ incremental

pip install whisper(pip install --no-index --find-links=/app/tools/stada/ whisper)

安装graphite-web

yum -y install libffi-devel zlib-devel openssl-devel install uwsgi-plugin-python

pip install graphite-web (pip install --no-index --find-links=/app/tools/stada/ graphite-web)

pip uninstall django

pip install django==1.8(pip install --no-index --find-links=/app/tools/stada/ django==1.8)

修改配置文件

cd /opt/graphite/conf/

ls #查看所有文件,拷贝去除example

cp aggregation-rules.conf.example aggregation-rules.conf

cp blacklist.conf.example blacklist.conf

cp carbon.amqp.conf.example carbon.amqp.conf

cp carbon.conf.example carbon.conf

cp dashboard.conf.example dashboard.conf

cp graphite.wsgi.example graphite.wsgi

cp graphTemplates.conf.example graphTemplates.conf

cp relay-rules.conf.example relay-rules.conf

cp rewrite-rules.conf.example rewrite-rules.conf

cp storage-aggregation.conf.example storage-aggregation.conf

cp storage-schemas.conf.example storage-schemas.conf

cp whitelist.conf.example whitelist.conf

cd /opt/graphite/webapp/graphite

cp local_settings.py.example local_settings.py

cd ../

mv content static

添加配置文件

vi uwsgi.ini

[uwsgi]

# Django-related settings

socket = :8000

buffer-size = 40000

plugins=python

# the base directory (full path)

chdir = /opt/graphite/webapp

# Django s wsgi file

module = graphite.wsgi

# process-related settings

# master

master = true

# maximum number of worker processes

processes = 1

# ... with appropriate permissions - may be needed

# chmod-socket = 664

# clear environment on exit

vacuum = true

创建manage.py,进行数据库的操作

cd /opt/graphite/webapp/

vi manage.py 写入如下内容:

#!/usr/bin/env python

import os

import sys

 

 

if __name__ == "__main__":

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "graphite.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

数据库操作

pip install scandir (pip install --no-index --find-links=/app/tools/stada/ scandir)

python manage.py migrate

vi /opt/graphite/webapp/graphite/local_settings.py

#取消SECRET_KEY、TIME_ZONE注释,并且修改值:

SECRET_KEY = ‘@2o8&38gcsb(p*o*dy(fmh!_3-30a1qwq$sadb+6vk243%wj0#‘

TIME_ZONE = ‘Asia/Shanghai‘

#保存退出

通过manage.py shell修改网站登录的用户名和密码

python manage.py shell

>>> from django.contrib.auth.models import User

>>> user_list=[x for x in User.objects.all()]

>>> print user_list

#如果user_list不为空

>>>user=user_list[0]

>>>user.username=‘admin‘

>>>user.set_password=‘123123‘

>>>user.save()

#如果user_list为空

>>>quit()

python manage.py createsuperuser

#根据提示创建你的用户

Username (leave blank to use ‘root‘): admin

Email address: [email protected]

Password:     #输入后不会显示,我输的[email protected]

Password (again):     #输入后不会显示

启动carboncarbon会在默认的2003端口接收数据

# pip install --no-index --find-links=/app/tools/stada/ service_identity

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

uwsgi --ini /opt/graphite/webapp/uwsgi.ini

#再新建一个窗口,启动nginx,或者让uwsgi后台运行,建议测试的时候新建窗口,错误好捕获。启动nginx之前,先关闭防火墙或者开启8001端口。我做测试,就关闭防火墙了。

systemctl disable firewalld #停用防火墙

systemctl stop firewalld    #禁止防火墙

/usr/local/nginx/sbin/nginx           #启动nginx

/usr/local/nginx/sbin/nginx -s reload   #重启nginx

 

以上是关于Graphite+StatsD部署手册的主要内容,如果未能解决你的问题,请参考以下文章

度量标准的 StatsD/Graphite 命名约定

Graphite 以外的 statsd 数据的 GUI? [关闭]

ini supervisord_graphite_statsd.conf

sh 在Azure Docker中安装graphite和statsd

阿里云ECS部署Grafana接入zabbix

石墨:总结所有匹配模式的统计数据?