Posted on Apr 22
Sensu
から InfluxDB
を扱えるようなので試してみるExtension not a handler
と書かれていました…Extension
を使ってみるAWS
上に構築したドキュメントは下記。
今回も Powered by Google 翻訳
だが、Extension
は下記のようなもののようだ。
Sensu
の EventMachine
内の処理で実行されるHandle
や Mutate
するのにオススメのようだInfluxDB
側で sensu
というデータベースを作っておくソースコードは以下に公開されている。
ちなみに sensu
から取り扱う場合には influxdb
とかではなく influx
と設定したりするので注意。
プラグインと同様にダウンロードして権限設定したいところだが、extensions
にダウンロードする。
cd /etc/sensu/extensions
sudo wget https://raw.githubusercontent.com/lusis/sensu_influxdb_handler/master/influx.rb
sudo chmod 755 influx.db
まずは Metrics
の Extension
としての設定を /etc/sensu/conf.d
以下に metrics.json
というファイル名で設置する。
{
"handlers": {
"metrics": {
"type": "set",
"handlers": [ "debug", "influx"]
}
}
}
次に Extension
自身の設定(InfluxDB
のホストや認証情報等)を /etc/sensu/conf.d/influx.json
に設定する。
{
"influx": {
"host": "localhost",
"port": "8086",
"user": "root",
"password": "root",
"database": "sensu"
//"strip_metric": "somevalue"
}
}
今回は Load Average
のメトリクスを採りたいので以下のプラグインを利用する。
/etc/sensu/plugins/
以下にダウンロードして権限を付ける。
wget -O /etc/sensu/plugins/load-metrics.rb https://raw.github.com/sensu/sensu-community-plugins/master/plugins/system/load-metrics.rb
chmod 755 /etc/sensu/plugins/load-metrics.rb
そして /etc/sensu/conf.d
以下に check_load.json
というファイル名で以下を作成する。
{
"checks": {
"load_metrics": {
"type": "metric",
"handlers": ["influx"],
"command": "/etc/sensu/plugins/load-metrics.rb",
"subscribers": [
"test"
],
"interval": 10
}
}
}
設定が終わったら sensu-server
を再起動する。
/etc/init.d/sensu-server restart
再起動すると以下のようなログが出力される。
{"timestamp":"2014-04-23T07:13:49.954990+0900","level":"info","message":"loaded extension","type":"handler","name":"influx","description":"outputs metrics to InfluxDB"}
また、正常にメトリクスを送っている場合には下記のようなログも出力される。
{"timestamp":"2014-04-23T07:14:54.290269+0900","level":"info","message":"handler extension output","extension":{"type":"extension","name":"influx"},"output":"InfluxDB: Handler finished"}
早速、InfluxDB
の Data Interface
からクエリを投げてみる。series
は sensu
で設定した check_load.json
の load_metrics
が定義されている。
また、下記の値が InfluxDB
に登録されることになる。
以下のようなクエリを投げることでメトリクスが取得出来る。
以下のようなクエリを投げることでメトリクスが取得出来る。
実行すると…以下のようにグラフが表示された!
おお。
Grafana
や Tasseo
で見てみるinfluxdb-cli
という CLI ツールがあるようなので試してみるInfluxDB
に入ったデータをちゃんと見てみる2014 かっぱのほげふが