graphite 安装

依赖关系解决

sudo yum -y install bitmap bitmap-fonts Django pycairo python-devel python-ldap python-memcached mod_wsgi mod_python python-sqlite2 glibc-devel gcc gcc-c++ git openssl-devel  httpd memcached python-hashlib django-tagging  python-simplejson pip

安装Twisted和zope.interface

Twisted需要配合zope.interface 3.6以上版本使用

wget --no-check-certificate https://pypi.python.org/packages/source/z/zope.interface/zope.interface-4.1.1.tar.gz
 tar xvf zope.interface-4.1.1.tar.gz -C ../src/
 cd ../src/zope.interface-4.1.1/
 sudo python setup.py install
wget --no-check-certificate https://pypi.python.org/packages/source/T/Twisted/Twisted-14.0.1.tar.bz2
 tar xvf Twisted-14.0.1.tar.bz2 -C ../src/
 cd ../src/Twisted-14.0.1/
 sudo python setup.py install

安装步骤

mkdir /home/test/graphite
cd /home/test/graphite
sudo pip install https://github.com/graphite-project/ceres/tarball/master
sudo pip install carbon --install-option="--prefix=/home/test/graphite" --install-option="--install-lib=/home/test/graphite/lib"
sudo pip install whisper (后面千万不要添加参数,否则会导致whisper安装失败的)
sudo pip install graphite-web --install-option="--prefix=/home/test/graphite" --install-option="--install-lib=/home/test/graphite/webapp"

sudo pip install daemonize
vi /home/test/graphite/lib/carbon/util.py
  改from twisted.scripts._twistd_unix import daemonize 变成 import daemonize

初始化配置

cd /home/test/graphite/conf
cp carbon.conf.example carbon.conf
cp storage-schemas.conf.example storage-schemas.conf
cp graphite.wsgi.example graphite.wsgi
cp /home/test/graphite/examples/example-graphite-vhost.conf /etc/httpd/conf.d/graphite-vhost.conf
vi  /etc/httpd/conf.d/graphite-vhost.conf
  WSGISocketPrefix /home/test/graphite/wsgi
  同时修改所有opt为home/test,并修改User和Group都为test
chown -R test.test /var/run/httpd/
mkdir /home/test/graphite/wsgi
vi /home/test/graphite/conf/graphite.wsgi
  修改为sys.path.append(‘/home/test/graphite/webapp‘)
vi /home/test/graphite/conf/storage-schemas.conf
  配置数据存储的时间点及数据保存时长

为了防止whisper的产生数据过多,占用/分区的磁盘空间,需要转移至/data目录下

cd /home/test/graphite/storage/
mkdir -pv /data/whisper_new/
ln -s /data/whisper_new/  whisper

初始化数据库并启动服务:

sudo chown -R test.test /home/test/graphite
cd /home/test/graphite/webapp/graphite/
cp local_settings.py.example local_settings.py
vi local_settings.py
  # 修改GRAPHITE_ROOT、WHISPER_DIR、DATABASES等参数
 GRAPHITE_ROOT = ‘/home/test/graphite‘
 WHISPER_DIR = ‘/home/test/graphite/storage/whisper‘
 DATABASES = {
    ‘default‘: {
        ‘NAME‘: ‘/home/test/graphite/storage/graphite.db‘,
        ‘ENGINE‘: ‘django.db.backends.sqlite3‘,
        ‘USER‘: ‘‘,
        ‘PASSWORD‘: ‘‘,
        ‘HOST‘: ‘‘,
        ‘PORT‘: ‘‘
    }
}

python manage.py syncdb # 注:初始化数据库时设定用户test,邮箱[email protected],密码test12345,这也是web界面的登录账号和密码

sudo /etc/init.d/httpd restart
cd /home/test/graphite/
./bin/carbon-cache.py start

测试

手动生成数据

echo "local.random.diceroll 4 `date +%s`" | nc -q0 127.0.0.1 2003

测试程序生成数据:

cd /home/test/graphite/examples/
python example-client.py

启动多个carbon-cache,并使用carbon-relay调度metrics至各carbon-cache

vi /home/test/graphite/conf/carbon.conf
  添加instance-b和instance-c
 [cache:b]
 LINE_RECEIVER_PORT = 2103
 PICKLE_RECEIVER_PORT = 2104
 CACHE_QUERY_PORT = 7102

 [cache:c]
 LINE_RECEIVER_PORT = 2203
 PICKLE_RECEIVER_PORT = 2204
 CACHE_QUERY_PORT = 7202

分别启动instance-b和instance-c

cd /home/test/graphite
bin/carbon-cache.py --instance=b start
bin/carbon-cache.py --instance=c start

配置relay并启动

vi /home/test/graphite/conf/carbon.conf # 修改relay配置
[relay]
LINE_RECEIVER_INTERFACE = 0.0.0.0
LINE_RECEIVER_PORT = 2013
PICKLE_RECEIVER_INTERFACE = 0.0.0.0
PICKLE_RECEIVER_PORT = 2014
DESTINATIONS = 127.0.0.1:2004:a, 127.0.0.1:2104:b, 127.0.0.1:2204:c
同时可定义relay规则:
vi /home/test/graphite/conf/relay-rules.conf
[servers]
pattern = ^servers\.
destinations = 127.0.0.1:2004:a, 127.0.0.1:2104:b, 127.0.0.1:2204:c
[default]
default = true
destinations = 127.0.0.1:2004:a, 127.0.0.1:2104:b, 127.0.0.1:2204:c
启动relay程序:
cd /home/test/graphite
./bin/carbon-relay.py start
然后修改各diamond.conf的配置文件中连接carbon的端口号为carbon-relay的端口2013和2014

其它

检查graphite的依赖关系

wget http://launchpad.net/graphite/0.9/0.9.9/+download/graphite-web-0.9.9.tar.gz
tar zxvf graphite-web-0.9.9.tar.gz -C ../src
cd /home/test/software/src/graphite-web-0.9.9/
python check-dependencies.py
时间: 2024-10-19 16:14:56

graphite 安装的相关文章

监控 graphite carbon diamond

监控: 1.检查服务可以性 2.性能指标检查 ganglia 专门做性能指标的工具 collectd  性能好 mrtg rrdtool    Round Robin datebase graphite安装: yum install graphite-web yum install python-carbon yum install python-whisper 启动carbon: /etc/init.d/carbon-cache restart 修改graphite配置: /etc/graph

graphite积累(二)

安装graphite的时候发现,graphite安装分graphite-web,whisper,carbon. graphite-web顾名思义,是graphite的网站部分,使用Django框架,使用cairo来根据需要呈现图形 whisper:数据库,用来储存时间序列数据 carbon:监听时间序列数据 graphite的工作流程是,carbon先把获取的数据写入数据库,然后webapp读取,最后显示图形. 目录说明: bin 数据收集相关工具 conf 数据储存相关配置文件 carbon.

Ubuntu 14.04 安装图形监控工具Graphite

什么是graphite? 先看看百度百科是怎么介绍 Graphite 是一个Python写的web应用,采用django框架,Graphite用来进行收集服务器所有的即时状态,用户请求信息,Memcached命中率,RabbitMQ消息服务器的状态,Unix操作系统的负载状态,Graphite服务器大约每分钟需要有4800次更新操作,Graphite采用简单的文本协议和绘图功能可以方便地使用在任何操作系统上. 百度百科讲的还算是比较清楚了,Graphite是用来监控系统的, 比如操作系统,缓存服

Icinga2使用graphite显示图像

下载地址:https://github.com/findmypast/icingaweb2-module-graphite 需要下载安装的软件:Django.django-tagging.pyparsing.python-whisper.pytz.mod_wsgi.python-carbon.python-twisted-core.python-zope-interface.python-zope-filesystem 软件安装略(rpm -i) # unzip icingaweb2-modul

安装grafana

安装 grafana 安装依赖程序: sudo  rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch vi /etc/yum.repos.d/elasticsearch.repo   [elasticsearch-1.0]   name=Elasticsearch repository for 1.0.x packages   baseurl=http://packages.elasticsearch.org/

InfluxDB安装及配置

这是我之前整理的InfluxDB安装及配置的笔记,这里记录下,也方便我以后查阅. 环境: CentOS6.5_x64 InfluxDB版本:1.1.0 一.安装 1.二进制安装 这里以centos6.5为例进行安装: wget https://dl.influxdata.com/influxdb/releases/influxdb-1.1.0.x86_64.rpm yum localinstall influxdb-1.1.0.x86_64.rpm 其它环境可以参考influxdb官方文档: h

calamari + ceph + saltstack 安装部署

准备工作 1.基础环境 ceph-admin ceph-mon  为同一台服务器 ceph-osd1 为一台服务器 ceph-osd2 为另一台服务器 2.关闭防火墙 # systemctl stop firewalld.service # systemctl disable firewalld.service 3.关闭Selinux # sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # setenforce

CentOS 6.5 编译安装 gcc-4.9.1

1.环境在标题中 2.gcc-4.9.1 的编译安装需要系统原来就有一套gcc/g++ 3.使用yum 安装 gcc/g++ 1 yum install gcc 2 yum install gcc-c++ 4.下载gcc-4.9.1 通过WinSCP 上传服务器 5.解压 1 tar xvf gcc-4.9.1.tar.gz 6.下载gcc编译的依赖项,这一步,会启动自动下载,但是在我的机器上下载完一个就停止了,尝试了很多次都这样,不知是不是下载服务器不稳定,还是我本地网络的原因.后来我就改用手

Graphite详解

Graphite详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs Graphite是一个开源实时的.显示时间序列度量数据的图形系统.Graphite并不收集度量数据本身,而是像一个数据库,通过其后端接收度量数据,然后以实时方式查询.转换.组合这些度量数据.Graphite支持内建的Web界面,它允许用户浏览度量数据和图. Graphite有三个主要组件组成: 1)Graphite-Web 这是一个基于Django