Topbeat + boot2dockerでMacBookのシステムモニタリング
はじめに
Elastic{ON} Tour 2015 in Tokyoに来ていますが、Elasticの様々なプロダクトの話が聞けて超楽しいです。
さて、今日はBeatsファミリーの1つであるTopbeatとboot2dockerと組み合わせて、MacBookのシステムモニタリングをしてみました!
やってみた
boot2dockerはセットアップ済みとします。セットアップ方法はこの辺をご参照ください。
まずはElasticsearchコンテナを起動します。
$ docker run --name elasticsearch -it -p 9200:9200 elasticsearch
次にtopbeatをダウンロードし、展開します。
$ curl -O https://download.elastic.co/beats/topbeat/topbeat-1.0.0-darwin.tgz $ tar xvzf ./topbeat-1.0.0-darwin.tgz x topbeat-1.0.0-darwin/ x topbeat-1.0.0-darwin/topbeat.template.json x topbeat-1.0.0-darwin/topbeat.yml x topbeat-1.0.0-darwin/topbeat $ cd topbeat-1.0.0-darwin/
今回はboot2dockerでElasticsearchを起動しているので、Topbeatの設定ファイルの一部を編集します。具体的には、Elasticsearch HostのIPアドレスをlocalhostからDOCKER_HOSTに変更します。
$ vi ./topbeat.yml output: elasticsearch: hosts: ["<DOCKER_HOSTのIPアドレス>:9200"]
そしてtopbeatを起動します。
$ sudo ./topbeat -e -c topbeat.yml
topbeatがデータを取得し、Elasticsearchに投入していることを確認します。
$ curl -XGET 'http://<DOCKER_HOSTのIPアドレス>:9200/topbeat-*/_search?pretty'
次にKibanaを起動。こちらもboot2dockerでKibanaコンテナとして立ち上げ、Elasticsearchコンテナとリンクさせます。
$ docker run --name kibana --link elasticsearch:elasticsearch -p 5601:5601 -d kibana
Webブラウザでhttp://<DOCKER_HOSTのIPアドレス>:5601/にアクセスすると、Kibanaの初期画面が見えます。Indexはtopbeat-*を指定します。
すると以下のようにtopbeat-*のIndexの内容が見えます!
さて、ダッシュボードを一から作るのはタルいです。なんと!Beats用のDashboardが用意されています。素晴らしい。tar.gzファイルをダウンロードし展開します。
$ curl -L -O http://download.elastic.co/beats/dashboards/beats-dashboards-1.0.0.tar.gz $ tar xzvf beats-dashboards-1.0.0.tar.gz $ cd beats-dashboards-1.0.0/
そしてElasticsearchコンテナに向けてload.shを実行します。
$ ./load.sh http://<DOCKER_HOSTのIPアドレス>:9200
Webブラウザで表示したKibanaをリロードして、Dashboard画面を開き、[+]マークをクリック。
すると多数のDashboardパーツがインポートされています。なんと12ページもあります!
こんなカッコいいシステムモニタリング・ダッシュボードが3分で作れちゃいます!
さいごに
Beatsはコミュニティベースも含め、今後様々なものがリリースされていきそうです。Elastic社としても力を入れているようです。非常に楽しみな展開ですね!