share facebook facebook2 twitter menu hatena pocket slack

2014.08.28 THU

Graphite Setup for Amazon Linux

川原 洋平

WRITTEN BY川原 洋平

どうも、可視化大好きおじさんことかっぱ (@inokara)です。

はじめに

ちょい必要になったのでセットアップしました。とりあえず、以下をコピペで貼っつけていけば Graphite が利用出来るはずです。

参考

手順

epel リポジトリの追加

rpm --import http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/RPM-GPG-KEY-EPEL-6
wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm

パッケージのインストール

yum install --enablerepo=epel graphite-web graphite-web-selinux mysql mysql-server MySQL-python python-carbon

MySQL の起動

service mysqld start

MySQL の root パスワード等は適宜設定する。

Graphite-web の設定

local_settings.py

cp /etc/graphite-web/local_settings.py /etc/graphite-web/local_settings.py.bk
cat << EOT >> /etc/graphite-web/local_settings.py
GRAPHITE_ROOT = '/usr/share/graphite'
CONF_DIR = '/etc/graphite-web'
STORAGE_DIR = '/var/lib/graphite-web'
CONTENT_DIR = '/usr/share/graphite/webapp/content'
WHISPER_DIR = '/var/lib/carbon/whisper/'
RRD_DIR = '/var/lib/carbon/rrd'
LOG_DIR = '/var/log/graphite-web/'

DATABASES = {
  'default': {
    'NAME': 'graphite',
    'ENGINE': 'django.db.backends.mysql',
    'USER': 'graphite',
    'PASSWORD': 'xxxxxxxxxxxx',
    'HOST': 'localhost',
    'PORT': '3306',
  }
}
EOT

MySQL に Graphite-web のユーザーやデータベースを設定する

mysql -e "CREATE USER 'graphite'@'localhost' IDENTIFIED BY 'xxxxxxxxxxxx';" -u root
mysql -e "GRANT ALL PRIVILEGES ON graphite.* TO 'graphite'@'localhost';" -u root
mysql -e "CREATE DATABASE graphite;" -u root
mysql -e 'FLUSH PRIVILEGES;' -u root

Graphite-web の初期設定を行う

/usr/lib/python2.6/site-packages/graphite/manage.py syncdb

幾つか質問されるので適宜答える。

Carbon と Apache を起動する

/etc/init.d/carbon-cache start
/etc/init.d/httpd start

Apache 2.4 の場合には…

このままのセットアップだと Apache 2.4 がインストールされるので少し graphite-web.conf を修正する。

graphite-web.conf

# Graphite Web Basic mod_wsgi vhost

<VirtualHost *:80>

    ServerName graphite-web
    DocumentRoot "/usr/share/graphite/webapp"
    ErrorLog /var/log/httpd/graphite-web-error.log
    CustomLog /var/log/httpd/graphite-web-access.log common
    Alias /media/ "/usr/lib/python2.6/site-packages/django/contrib/admin/media/"

    WSGIScriptAlias / /usr/share/graphite/graphite-web.wsgi
    WSGIImportScript /usr/share/graphite/graphite-web.wsgi process-group=%{GLOBAL} application-group=%{GLOBAL}

    <Location "/content/">
        SetHandler None
    </Location>

    <Location "/media/">
        SetHandler None
    </Location>

    <Directory "/usr/share/graphite/">
      Require all granted
    </Directory>

</VirtualHost>

さいごに

セットアップはとにかく簡単です。運用は…

元記事はこちらです。
Graphite Setup for Amazon Linux