2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Elasticsearch+Kibana+Metricbeats(+FIlebeats)でマシンモニタリング④

Posted at

4.Beats(Metricbeat+Filebeat)のセットアップ(後半)

次はBeatsのサービスを立ち上げます。
サービスが立ち上がるとelasticsearchにログが出力される様になり、いよいよkibanaでモニタリングができる様になります。
次のdocker-composeファイルを作成し、サービスを立ち上げてください。

docker-compose-beats.yml
version: '3.7'
 
services:
  metricbeat:
    image: docker.elastic.co/beats/metricbeat:7.5.1
    user: root
    volumes:
      - ./config/metricbeat.docker.yml:/usr/share/metricbeat/metricbeat.yml:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro
      - /proc:/hostfs/proc:ro
      - /:/hostfs:ro
    command: metricbeat -e -E output.elasticsearch.hosts=["elasticsearch:9200"]
    networks:
      - elastic-base_default
  filebeat:
    image: docker.elastic.co/beats/filebeat:7.5.1
    user: root
    volumes:
      - ./config/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro
      - /var/lib/docker/containers:/var/lib/docker/containers:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
    command: filebeat -e -strict.perms=false -E output.elasticsearch.hosts=["elasticsearch:9200"]
    networks:
      - elastic-base_default
networks:                                                                                                                                                                                                  
  elastic-base_default:
    external: true
docker stack deploy --prune -c docker-compose-beats.yml elastic-beats

なんとこれだけです。こちらもdocker-composeファイルさえあれば、ほとんどコマンド一発で起動完了します。
ポイントはelastic-baseを立ち上げたときにattachableにしたelastic-base_defaultを、elastic-beatsから参照することです。
この辺を意識して構成すると、swarm外のサービスと連携する必要がない限り、elasticsearchのports設定は要らなくなります。

さて、これで全ての構成が完了しましたので、
http://localhost:5601
にアクセスして、左のメニューからDashboardを選んでください。
searchに「metric system」あたりを入力するといい感じのダッシュボードが検索できるはずなので、いろいろ見てください。
また、この状態でswarmノードにnginxコンテナを立てたりすると、そのログをkibanaで見ることができます。Dashboardの検索に「filebeat nginx」をいれていい感じのダッシュボードを探してみてください。
感動しますよ!
これで、マシンモニタリング編は終了です。
が、metricbeatやfilebeatが特別な設定なしに、stack外のコンテナの情報まで収集できるのにはHints based autodiscoverという仕組みが非常に重要な役割を果たしています。今度投稿する際にはこの辺りを解説できればいいなぁ...
Elasticsearch+Kibana自体はログに限らず、いろんな物の分析に使用できるので、機会があればまた投稿してみます。

Elasticsearch+Kibana+Metricbeats(+FIlebeats)でマシンモニタリング①
Elasticsearch+Kibana+Metricbeats(+FIlebeats)でマシンモニタリング②
Elasticsearch+Kibana+Metricbeats(+FIlebeats)でマシンモニタリング③
Elasticsearch+Kibana+Metricbeats(+FIlebeats)でマシンモニタリング④

参考リンク:
https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-docker.html
https://www.elastic.co/guide/en/beats/filebeat/current/running-on-docker.html
https://www.elastic.co/guide/en/beats/filebeat/current/configuration-autodiscover-hints.html
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-modules.html

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?