■Graphiteの構成
Graphite-Web
Carbon
Whisper
■graphiteのインストール準備
graphiteをpip(pythonのパッケージ管理ツール)でインストールする。(本家サイトを参照)
#graphiteの構成要素のcarbonをインストールするために、pythonの開発ヘッダーを入れる。 $ sudo yum install python-devel #pipのセットアップを行うため、setuptoolsをインストールする $ wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python #続いてpipのインストール $ curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | sudo python準備完了!
■graphiteのインストール
では、さっそくgraphiteのインストールを始める。
$ sudo pip install https://github.com/graphite-project/ceres/tarball/master $ sudo pip install whisper $ sudo pip install carbon $ sudo pip install graphite-web特にエラーなし。
デフォルトでは、/opt/graphite/にインストールされる。とマニュアルにあるが、
/usr/lib/python2.6/site-packages/opt/graphite/
に出来上がっている。/opt/graphiteにまとめておきたいので、インストールし直し。
$ sudo pip uninstall carbon $ sudo pip uninstall graphite-web $ sudo pip install carbon --install-option="--prefix=/opt/graphite" --install-option="--install-lib=/op¥t/graphite/lib" $ sudo pip install graphite-web --install-option="--prefix=/opt/graphite" --install-option="--install-lib=/opt/graphite/lib" $ ls /opt/graphite bin conf examples lib storage webapp
■graphiteのセットアップ(本家サイトを参照)
graphite-webでは、local_settings.pyを読み込んで設定されるみたいなので、設定を変更する。
サイトのページには
/opt/graphite/webapp/graphite/local_settings.py
があると記載があったが、見あたらなかった。exampleファイルがあったので、コピーして使う。
$ mkdir /opt/graphite/webapp/graphite $ cd /opt/graphite/webapp/graphite $ cp /opt/graphite/lib/graphite/local_settings.py.example ./local_settings.py $ sudo vi local_settings.py#以下、変更箇所
TIME_ZONE = 'Asia/Tokyo' LOG_RENDERING_PERFORMANCE = True LOG_CACHE_PERFORMANCE = True LOG_METRIC_ACCESS = True
■carbonのセットアップ(本家サイトを参照)
・carbon.conf
carbonデーモン用の設定ファイル。ファイル内のセクションは
[cache]・・・carbon-cacheに関する設定ファイル
[relay]・・・carbon-relayに関する設定
[aggregator]・・・carbon-aggregatorに関する設定
今回は設定変更なし進める。
・storage-schemas.conf
メトリクスの保持期間の設定をするためのファイル。ここの設定でwhisperに伝達する。
この設定のポイントは・ファイルの上から順に適用される
・正規表現が使える
・メトリクス名にマッチした最初のパターンが使われる
・最初にメトリクスが送られた来たときに、保持期限が設定される
・この設定が変更されても、生成済みwspファイルには反映されない。whisper-resize.pyを使って変更する必要がある。
とのこと。
記載例)
[apache_busyWorkers]
pattern = ^servers\.www.*\.workers\.busyWorkers$
retentions = 15s:7d,1m:21d,15m:5y
1行目はセクション名。2行目は
3行目は、7日間は15秒間平均(デフォルトは平均)、21日間は1分平均、5年間は15分平均
という意味になる。
今回はデフォルトで。
$ cp storage-schemas.conf.example storage-schemas.conf
$ less storage-schemas.conf
Schema definitions for Whisper files. Entries are scanned in order,
# and first match wins. This file is scanned for changes every 60 seconds.
#
# [name]
# pattern = regex
# retentions = timePerPoint:timeToStore, timePerPoint:timeToStore, ...
# Carbon's internal metrics. This entry should match what is specified in
# CARBON_METRIC_PREFIX and CARBON_METRIC_INTERVAL settings
[carbon]
pattern = ^carbon\.
retentions = 60:90d
[default_1min_for_1day]
pattern = .*
retentions = 60s:1d
すべてのデータを60秒間平均で1日保持。
$ /opt/graphite/bin/carbon-cache.py start
・
・
ImportError: Twisted requires zope.interface 3.6.0 or later: no module named zope.interface.
$ sudo pip install zope.interface==3.6.0
$ sudo /opt/graphite/bin/carbon-cache.py start
・
・
Starting carbon-cache (instance a)
#ログも確認してみる
$ cd /opt/graphite/storage/log/carbon-cache/
$ ls
carbon-cache-a
$ cd carbon-cache-a
$ less console.log
10/10/2015 23:39:36 :: Log opened.
10/10/2015 23:39:36 :: twistd 15.4.0 (/usr/bin/python 2.6.6) starting up.
10/10/2015 23:39:36 :: reactor class: twisted.internet.epollreactor.EPollReactor.
10/10/2015 23:39:36 :: ServerFactory starting on 2003
10/10/2015 23:39:36 :: Starting factory <twisted.internet.protocol.ServerFactory instance at 0x308e290>
10/10/2015 23:39:36 :: ServerFactory starting on 2004
10/10/2015 23:39:36 :: Starting factory <twisted.internet.protocol.ServerFactory instance at 0x3097b90>
10/10/2015 23:39:36 :: ServerFactory starting on 7002
10/10/2015 23:39:36 :: Starting factory <twisted.internet.protocol.ServerFactory instance at 0x3097bd8>
10/10/2015 23:40:36 :: /opt/graphite/conf/storage-aggregation.conf not found, ignoring.
10/10/2015 23:41:36 :: /opt/graphite/conf/storage-aggregation.conf not found, ignoring.
10/10/2015 23:42:36 :: /opt/graphite/conf/storage-aggregation.conf not found, ignoring.
10/10/2015 23:43:36 :: /opt/graphite/conf/storage-aggregation.conf not found, ignoring.
■carbonの実行
$ /opt/graphite/bin/carbon-cache.py start
・
・
ImportError: Twisted requires zope.interface 3.6.0 or later: no module named zope.interface.
エラーが出た。調べてみると、とりあえずzope.interface自体をインストールする方法があるらしい。
$ sudo pip install zope.interface==3.6.0
$ sudo /opt/graphite/bin/carbon-cache.py start
・
・
Starting carbon-cache (instance a)
$ cd /opt/graphite/storage/log/carbon-cache/
$ ls
carbon-cache-a
$ cd carbon-cache-a
$ less console.log
10/10/2015 23:39:36 :: Log opened.
10/10/2015 23:39:36 :: twistd 15.4.0 (/usr/bin/python 2.6.6) starting up.
10/10/2015 23:39:36 :: reactor class: twisted.internet.epollreactor.EPollReactor.
10/10/2015 23:39:36 :: ServerFactory starting on 2003
10/10/2015 23:39:36 :: Starting factory <twisted.internet.protocol.ServerFactory instance at 0x308e290>
10/10/2015 23:39:36 :: ServerFactory starting on 2004
10/10/2015 23:39:36 :: Starting factory <twisted.internet.protocol.ServerFactory instance at 0x3097b90>
10/10/2015 23:39:36 :: ServerFactory starting on 7002
10/10/2015 23:39:36 :: Starting factory <twisted.internet.protocol.ServerFactory instance at 0x3097bd8>
10/10/2015 23:40:36 :: /opt/graphite/conf/storage-aggregation.conf not found, ignoring.
10/10/2015 23:41:36 :: /opt/graphite/conf/storage-aggregation.conf not found, ignoring.
10/10/2015 23:42:36 :: /opt/graphite/conf/storage-aggregation.conf not found, ignoring.
10/10/2015 23:43:36 :: /opt/graphite/conf/storage-aggregation.conf not found, ignoring.
ちゃん起動しているようです。
0 件のコメント:
コメントを投稿