Sensu influxDB Grafana cheat sheet

From misc notes
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 を横並びで表示

Grafana.png

感想

Sensu influxDB Grafana を実戦レベルで触ってみて、 datadog の良さがよくわかった :)

とりあえず一旦環境凍結する
statsd の弱点。timestamp を持たないのでバッチ処理はできない。logstash + elasticsearch の利点。

その後

なんか influxDB って Elastic 社のあとを追っかけてるのか、独自の可視化ツール Chronograf や、データ収集ツール Telegraf など拡充してるなぁ。