Sensu influxDB Grafana cheat sheet
Jump to navigation
Jump to search
Sensu influxDB Grafana 実験
Sensu
- omnibus installer
- ruby の環境を維持するのが良いので /etc/default/sensu は
EMBEDDED_RUBY=true
- /opt/sensu/embedded/bin/ruby を維持
- sensu plugin
- gem でインストールするまえに ~/.gemrc におまじない
gem: --no-ri --no-rdoc
- また現在は再編中とのことで、gem install には
--prerelease
- オプションが必要
- config
- 複数台の client で役割にあわせて checks かえるために subscriptions をうまく使う
"subscriptions": [ "linux", "load_balance" ]
influxDB
- メンテナンス
Ruby CLI for InfluxDB
InfluxDB Query Language
db.get_database_list db.database use sensu db.database SELECT * FROM /.*/ LIMIT 1 db.query('SELECT * FROM /.*/ LIMIT 1').keys DELETE FROM /cpu_cpu0_.*/ SELECT * FROM * WHERE host=production SELECT * FROM /cpu_.*/ WHERE host=production SELECT * FROM * WHERE host=production SELECT * FROM /cpu_.*/ WHERE host=production DELETE FROM /cpu_.*/ WHERE time < now() - 24h DELETE FROM /memory_.*/ WHERE time < now() - 24h
Grafana
- influxdb query で複数のホストから任意のホストのメトリックスを抽出
select mean(value) from "cpu_system" where $timeFilter and host = 'host3' group by time($interval) order asc
- and host = 'host3' に注目
- Templated dashboard 便利かも
Grafana - InfluxDB Templated Queries
- これを参考にホゲる!
- もちろんこれも
Grafana - InfluxDB
- meam(0 - value) おーーナイスなテクニック
- なかなか良い情報
Rittman Mead Consulting » OBIEE Monitoring and Diagnostics with InfluxDB and Grafana
- Derivative の場合の Group by Time
- 当然ですがサンプルが2個以上ないといけないので、ポーリング間隔の倍以上にする。(気付かずにハマりました...)
- Grid Min を 0 した方が良い場面
- グラフ見てて違和感があったのがこれが原因だ。
- alias patterns
- grafana は separator は '.' を前提にしてるが、influxdb 0.8 の場合 '_' で区切られてしまう(influxdb handler が変換してる)。influxdb 0.9 は '.' も有りそう。様子見...
- sensu+influxdb+grafana で munin風に 30h と 8d を横並びで表示
感想
Sensu influxDB Grafana を実戦レベルで触ってみて、 datadog の良さがよくわかった :)
- とりあえず一旦環境凍結する
- statsd の弱点。timestamp を持たないのでバッチ処理はできない。logstash + elasticsearch の利点。
その後
なんか influxDB って Elastic 社のあとを追っかけてるのか、独自の可視化ツール Chronograf や、データ収集ツール Telegraf など拡充してるなぁ。