こんにちは! JQです。
前回は『OSS編~AnsibleでRoleを試してみる04~』と題して、AnsibleでRoleのMetaを試してみました。
今回は『OSS編~Graphiteを試してみる01~』と題して、Graphiteを試してみたいと思います。
Graphiteとは
スケーラブルなリアルタイム・グラフシステムのOSSです。
インストール
1.必要なパッケージのインストール
先ずは必要なパッケージをインストールします。
※今回の環境はAmazonLinuxを利用
1 |
$ sudo yum install -y --enablerepo=epel django-tagging Django python-zope-interface pycairo python-twisted httpd mod_wsgi python-pip gcc python26-devel |
2.Graphiteのインストール
続いてpipコマンドでGraphiteをインストールしていきます。
1 |
$ sudo pip install whisper carbon graphite-web Twisted daemonize |
3.各種設定
各種設定をしていきます。
以下のコンフィグファイルを有効化します。
1 2 3 |
$ cd /opt/graphite/conf/ $ sudo cp carbon.conf.example carbon.conf $ sudo cp storage-schemas.conf.example storage-schemas.conf |
wsgiファイルをサンプルから作成します。
1 |
$ sudo cp graphite.wsgi.example graphite.wsgi |
Apache自体のwsgi.confを無効にしてGraphiteのサンプルを有効にします。
1 2 |
$ sudo mv /etc/httpd/conf.d/wsgi.conf /etc/httpd/conf.d/wsgi.conf.org $ sudo cp example-graphite-vhost.conf /etc/httpd/conf.d/graphite-vhost.conf |
local_settingsを有効にします。
※デフォルト以外のDBを使う場合は設定を変更します。
1 2 |
$ cd ../webapp/graphite $ sudo cp local_settings.py.example local_settings.py |
以下でdjango DBを作ります。
1 2 |
$ cd /opt/graphite/webapp/graphite $ sudo python manage.py syncdb |
Apacheから書き込めるように以下のディレクトリの権限を変更します。
1 |
$ sudo chown apache:apache /opt/graphite/storage/ -R |
carbonを起動してみますが、ImportErrorとなってしまいます。
1 2 3 4 5 6 7 8 9 |
$ sudo /opt/graphite/bin/carbon-cache.py start /usr/lib64/python2.6/site-packages/zope/__init__.py:3: UserWarning: Module twisted was already imported from /usr/lib64/python2.6/site-packages/twisted/__init__.pyc, but /opt/graphite/lib is being added to sys.path import pkg_resources Traceback (most recent call last): File "/opt/graphite/bin/carbon-cache.py", line 28, in <module> from carbon.util import run_twistd_plugin File "/opt/graphite/lib/carbon/util.py", line 21, in <module> from twisted.scripts._twistd_unix import daemonize ImportError: cannot import name daemonize |
次のファイルの以下を修正します。
1 2 3 |
$ sudo vim /opt/graphite/lib/carbon/util.py #from twisted.scripts._twistd_unix import daemonize import daemonize |
再度、実行してみます。
warningは出ますが、起動しています。
1 2 3 4 |
$ sudo /opt/graphite/bin/carbon-cache.py start /usr/lib64/python2.6/site-packages/zope/__init__.py:3: UserWarning: Module twisted was already imported from /usr/lib64/python2.6/site-packages/twisted/__init__.pyc, but /opt/graphite/lib is being added to sys.path import pkg_resources Starting carbon-cache (instance a) |
Apacheを起動します。
1 |
$ sudo /etc/rc.d/init.d/httpd start |
4.確認
それではHTTPでアクセスして確認してみます。
いかがでしたでしょうか?
次回は『OSS編~Graphiteを試してみる02~』と題して、Graphiteへのデータ登録を試してみたいと思います。
お楽しみに!!!