Posted at

CentOSにRPMでGraphite+Diamondをインストールする

More than 5 years have passed since last update.

システムデータ取得間隔に自由度があって、グラフを自由に描けそうものを探していてGraphiteというのがとりあえず良さそうなので、とりあえず簡単に試してみたときの手順。


Graphite本体

epelにrpmがあったので、epelを使ってインストール

# rpm -ivh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum install graphite-web graphite-web-selinux mysql mysql-server MySQL-python

で、MySQLの初期設定をしておく。

# service mysqld start

# /usr/bin/mysql_secure_installation

GraphiteがMySQLを使うように設定する。そのために、/etc/graphite-web/local_settings.py に下記を追加する。(もちろん、パスワードとかは適宜設定すること)

DATABASES = {

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

データベース権限設定を行う。

$ mysql -e "CREATE USER 'graphite'@'localhost' IDENTIFIED BY 'complexpassw0rd';" -u root -p

$ mysql -e "GRANT ALL PRIVILEGES ON graphite.* TO 'graphite'@'localhost';" -u root -p
$ mysql -e "CREATE DATABASE graphite;" -u root -p
$ mysql -e 'FLUSH PRIVILEGES;' -u root -p

Graphiteデータベースの初期化を以下のコマンドにて行う。その際、GraphiteのLoginなどに使うユーザ名、パスワードなどを聞かれるので適宜設定する。

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

以上で、Apache を起動しておく。

# service httpd start


carbon

Carbon は集めて来たメトリクスの保存先となる。これもyumでインストール。

# yum install python-carbon

/etc/carbon/cabon.conf および、/etc/carbon/storage-schemas.conf を適宜設定する。この当たりはGraphite本家のマニュアルを参照。

その後サービスを起動しておく。

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

これで、http://ホスト名/graphite にアクセスすればよい。


Diamond

とりあえずデータを取得しなければ始まらないので、お手軽にシステムデータを集めてくれるDiamondというのがあるおでこれを使う。

以下のような流れでインストールできる。

# git clone https://github.com/BrightcoveOS/Diamond.git

# cd Diamond
# make buildrpm
# cd dist/
# yum localinstall diamond-3.4.53-0.noarch.rpm

/etc/diamond/ にある diamond.conf.example を diamond.conf とし、編集する。

interval を 60 とかにし、host をGraphite(正確にはCarbon)が動いているホスト名に変更し、サービスを起動する。

/etc/init.d/diamond start

これでしばらくすると、GraphiteのWebからデータを見ることができる。

Graphiteはログインすると、カスタマイズしたグラフを保存したりできるようだけど、イマイチ使い方がわからない。

また、テンプレートのようなものがないので、綺麗なダッシュボードをつくるのは面倒そうな印象。

以上です。