システムデータ取得間隔に自由度があって、グラフを自由に描けそうものを探していて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はログインすると、カスタマイズしたグラフを保存したりできるようだけど、イマイチ使い方がわからない。
また、テンプレートのようなものがないので、綺麗なダッシュボードをつくるのは面倒そうな印象。
以上です。