Filebeat + boot2dockerでMacBookのログモニタリング
はじめに
昨日はTopbeat + boot2dockerでMacBookのシステムモニタリングを行いました。今日はFilebeat + boot2dockerでMacBookのログモニタリングをしてみました!
やってみた
boot2dockerはセットアップ済みとします。セットアップ方法はこの辺をご参照ください。
まずはElasticsearchコンテナを起動します。
$ docker run --name elasticsearch -it -p 9200:9200 elasticsearch
次にfilebeatをダウンロードし、展開します。
$ curl -O https://download.elastic.co/beats/filebeat/filebeat-1.0.0-darwin.tgz $ tar xvzf ./filebeat-1.0.0-darwin.tgz x filebeat-1.0.0-darwin/ x filebeat-1.0.0-darwin/filebeat x filebeat-1.0.0-darwin/filebeat.template.json x filebeat-1.0.0-darwin/filebeat.yml $ cd filebeat-1.0.0-darwin
今回はboot2dockerでElasticsearchを起動しているので、Filebeatの設定ファイルの一部を編集します。具体的には、Elasticsearch HostのIPアドレスをlocalhostからDOCKER_HOSTに変更します。
$ vi ./filebeat.yml output: elasticsearch: hosts: ["<DOCKER_HOSTのIPアドレス>:9200"]
Filebeatはデフォルトで/var/log/*.logを取得対象としています。今回はそのまま。
paths: - /var/log/*.log
そしてfilebeatを起動します。
$ sudo ./filebeat -e -c filebeat.yml
filebeatがデータを取得し、Elasticsearchに投入していることを確認します。
$ curl -XGET 'http://<DOCKER_HOSTのIPアドレス>:9200/filebeat-*/_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はfilebeat-*を指定します。
はい、/var/log/*.logをFilebeatが取得して、Elasticsearchに投入して、Kibanaで可視化できてます!
さいごに
Packetbeatネタも近々ブログ公開予定です。お楽しみに!