So-net無料ブログ作成
  • ブログをはじめる
  • ログイン

インフラエンジニアのためのCassandra情報 監視その1 [Cassandra]

Cassandraの各ノードの状況をモニタリングする方法を検討します。
CassandraはJMXの値を外部から参照できるので、jconsoleを使ってノードの状況を見ることが
できますが、jconsole自体が監視ツールとしては使いにくく、時間的な推移を見ることができ
ないので、各ノードのJMXの値をグラフ化してみます。
グラフ化ツールには、Cactiを使用することにします。
cacti_sample.PNG
Cactiをインストールします。
$ sudo yum install net-snmp
$ sudo yum install rrdtool
$ sudo yum install mysql
$ sudo yum install httpd
$ sudo yum install cacti

Cacti用mysqlデータベースの設定。
$ mysql -u root -p
Enter password: root

mysql> create database cacti; ← Cacti用データベース作成
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on cacti.* to cactiuser@localhost identified by 'cactiuser'; ← Cacti用データベースアクセスユーザ登録
Query OK, 0 rows affected (0.06 sec)
mysql> \q
$ mysql -u cactiuser -p cacti < /var/www/cacti/cacti.sql ← Cacti用データベース初期化
Enter password: cactiuser

Cactiの設定。
$ sudo vi /var/www/cacti/include/config.php
  :
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser"; ←このあたり記入
$database_port = "3306";

$ sudo vi /etc/httpd/conf.d/cacti.conf
Alias /cacti/ /var/www/cacti/

   DirectoryIndex index.php
   Options -Indexes
   AllowOverride all
   order deny,allow
   deny from all
   allow from 127.0.0.1
   allow from 10.0.0.0/255.255.255.0 ←このあたりを修正
   AddType application/x-httpd-php .php
   php_flag magic_quotes_gpc on
   php_flag track_vars on


起動してGUIから設定継続する。
$ sudo /sbin/service httpd start

「http://[Cactiサーバ]/cacti」で初期設定を行う。 GUIの指示どおり、各コマンドへのパスを
設定する。完了するとログイン画面が出る。
このままだと、Cassandraの各ノードをCactiへ登録しても、CPU情報やメモリ量ぐらしかモニタ
できないので、JMXをグラフ化するプラグインを導入する。
使ったのは、こちら。
http://www.jointhegrid.com/cassandra/cassandra-cacti-m6.jsp
Ant1.8を使用するので、バージョンが古い場合はあらかじめインストールしておく。
(Antのバージョンアップが面倒なら、ダウンロードしたAntへパスだけ通しておきましょう)
cassandra-cacti-m6をダウンロード
$ svn co http://www.jointhegrid.com/svn/cassandra-cacti-m6/
$ cd cassandra-cacti-m6/trunk

AntでBuild
$ ant jar
 :
BUILD SUCCESSFUL
Total time: 1 second

jarファイルをCactiディレクトリへコピーする。
$ sudo cp dist/cassandra-cacti-m6.jar /var/www/cacti/scripts/

cassandra-cacti-m6を展開したソースから、cacti_templatesディレクトリをCactiでインポート
できるようにPC等にコピーしておく。(CentOS上でブラウザ動かせるなら不要)
次からは、CactiのWebUI画面でのGUI設定となります。
CactiのWebUIにadminでログインする。
Console->Import Templateの「参照」ボタンで、「cacti_templates/cassandra-6.0.xml」を
指定する。
オプションはデフォルトのまま、「Import」を実行。
Console->New Graphpsで、「Create New Host」をクリック。
「Description」に名前、「Hostname」にホスト名またはIPを設定、「Host Template」に
「Cassandra 6.0」を選択。「SNMP」は「NONE」にする。その他はデフォルトのまま、
「Create」。
「Associated Graph Templates」にCassandraのチェック項目が表示されているのを確認して、
「Save」。
Console->New Graphpsに戻って、「Host:」プルダウンで、今作ったホスト定義を指定する。
テンプレートチェックボックスにチェックを入れて、「Create」。
入力する内容は以下のとおり。
port 8080(JMXのポート)
user ホストのログインユーザ(誰でも良い)
pass 同パスワード
ColumnFamily,Keyspace 運用中のCassandraのそれぞれの値

全て入力したら、「Create」。
Console->Graph Treesで「Add」をクリック。
Nameを「Casssandra」等とクラスタ名を設定。「Create」。
「Tree Items」を「Add」。
「Tree Item Type」プルダウンを「Host」にする。
「Host」に上で作ったホストを選択して、「Create」。
設定が完了したらグラフを表示してみましょう。
WebUI上の、「graphs」タブを開いて、左ペインから上で作成したクラスタ名->ホスト名の順
に選択すると、グラフが表示されます。
デフォルトでのデータ採集までは10分ほどかかるので、それまではグラフの画像が「×」に
なってしまうようですが、しばらくすると表示されるようになりました。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は180日以上新しい記事の更新がないブログに表示されております。