Japanese

elasticsearch + kibanaでいい感じにモニタリングする

  • このエントリーをはてなブックマークに追加

おばんどすー。 kibana + elasticsearch + fluentdという今どきのモニタリングに憧れたので試しました。

それぞれについて軽く説明

kibana いい感じにデータをvisualizeするelasticsearchのplugin

elasticsearch いい感じにデータを蓄えて(ここは適切でない)、いい感じにデータを検索するエンジン

fluentd elasticserachにいい感じにデータを渡すパイプ役

さて今回試しに使ったのがdstatのデータ。 メモリ使用量やcpu使用率などなどのデータがとれる何でもできるすごいやつ。

topとかvmstatとか/proc/memifno等々ラッパーツールなのかな? fluent-plugin-dstatというpluginを使えば簡単に情報を渡せるみたい。

今回の練習の構成を図示します。

[f:id:koooge:20160406232647g:plain]

1個の仮想マシンに2個のdockerコンテナをたてた構成。 td-agentというのはfluentdのラッパーツールのこと。

  • kibana4.5.0
  • elasticsearch2.3.0
  • td-agent 0.12.20

これでhttp://192.168.33.10:5601にアクセスすればkibanaが表示されると思います。 仮想マシンとコンテナの説明は省きますが、 Vagrantfileとdocker-compose.ymlをgithubに置きました。 [https://github.com/koooge/kibana-practice:title]

さてどんなデータを集めるかについては、 /etc/td-agent/td-agent.confが肝なんですれども こんな感じ。

||

type dstat tag dstat option -tlcmsgdpyn type copy type elasticsearch host 192.168.33.10 port 9200 logstash_format true logstash_prefix logstash type_name dstat flush_interval 5s ||<kibanaにデータが蓄積されるようになったら あとは習うより慣れろ。 見た目より複雑ではないので、使ってみて覚えれば良いと思いました。

基本は Visualizeで作ったグラフをDashboardに配置してニマニマする流れです。

[f:id:koooge:20160406235053p:plain] dark themeカッコイイ~~~

ハマりポイントとしては、

td-agentについてググって出てくる情報はやや古い td-agent1の情報が多いです。 現在はtd-agent2なので若干違うようです。 td-agent.confをコピペして

systemctl restart td-agentしたときにコケる。 なのでfluentdの公式ページを見るのが一番だと思います。

kibanaからforkしたGrafanaなんてのもあるみたいですが それは気が向いたら触ってみます!