Sensu influxDB Grafana cheat sheet: Difference between revisions
Jump to navigation
Jump to search
(→Sensu) |
|||
(24 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Sensu influxDB Grafana 実験 = | = Sensu influxDB Grafana 実験 = | ||
== Sensu == | == Sensu == | ||
*omnibus installer | |||
:ruby の環境を維持するのが良いので /etc/default/sensu は | |||
<pre> | |||
EMBEDDED_RUBY=true | |||
</pre> | |||
:/opt/sensu/embedded/bin/ruby を維持 | |||
*sensu plugin | *sensu plugin | ||
:gem でインストールするまえに ~/.gemrc におまじない | :gem でインストールするまえに ~/.gemrc におまじない | ||
Line 12: | Line 21: | ||
</pre> | </pre> | ||
:オプションが必要 | :オプションが必要 | ||
*config | |||
:複数台の client で役割にあわせて checks かえるために subscriptions をうまく使う | |||
<pre> | |||
"subscriptions": [ | |||
"linux", | |||
"load_balance" | |||
] | |||
</pre> | |||
== influxDB == | == influxDB == | ||
*メンテナンス | |||
[https://github.com/phstc/influxdb-cli Ruby CLI for InfluxDB] | |||
[http://influxdb.com/docs/v0.8/api/query_language.html InfluxDB Query Language] | |||
<pre> | |||
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 | |||
</pre> | |||
== Grafana == | == 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 便利かも | |||
[http://play.grafana.org/dashboard/db/influxdb-templated-queries Grafana - InfluxDB Templated Queries] | |||
:これを参考にホゲる! | |||
:もちろんこれも | |||
[http://play.grafana.org/dashboard/db/influxdb Grafana - InfluxDB] | |||
:meam(0 - value) おーーナイスなテクニック | |||
*なかなか良い情報 | |||
[http://www.rittmanmead.com/2015/02/obiee-monitoring-and-diagnostics-with-influxdb-and-grafana/ 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 を横並びで表示 | |||
[[File:Grafana.png]] | |||
== 感想 == | |||
Sensu influxDB Grafana を実戦レベルで触ってみて、 [http://www.datadoghq.com/ datadog] の良さがよくわかった :) | |||
:とりあえず一旦環境凍結する | |||
:statsd の弱点。timestamp を持たないのでバッチ処理はできない。logstash + elasticsearch の利点。 | |||
== その後 == | |||
なんか influxDB って Elastic 社のあとを追っかけてるのか、独自の可視化ツール [https://influxdb.com/blog/2015/07/07/Announcing-Chronograf-a-data-visualization-tool-for-InfluxDB.html Chronograf] や、データ収集ツール [https://influxdb.com/blog/2015/06/19/Announcing-Telegraf-a-metrics-collector-for-InfluxDB.html Telegraf] など拡充してるなぁ。 |
Latest revision as of 12:03, 10 March 2016
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 など拡充してるなぁ。