4

ノードに複数のマイクロサービスを記述しており、マイクロサービスは Docker コンテナにインストールされており、クラスタリングには Mesos+Marathon を使用しています。

異なるインスタンスのすべてのコンテナー (マイクロサービス) のログを集約するにはどうすればよいですか?

4

3 に答える 3

3

私たちは Docker+Mesos も使用しており、すべてのログをログ分析サービス (私が勤務している会社が提供しているサービス、http://logz.io ) に送信しています。それを達成するには、いくつかの方法があります。

  • 各 Docker 内にログ シッパー エージェント (rsyslog、nxlog、logstash、logstash-forwarder などのエージェント) を配置し、そのエージェントがデータを中央ログ ソリューションに送信します。
  • 荷送人エージェント (rsyslog、nxlog、logstash、logstash-forwarder など) を実行する Docker を作成し、そのエージェントが各マシン上のすべての Docker からログを読み取り、それらを中央の場所に発送します - これが私たちが取っているパスです
于 2015-07-30T05:15:55.527 に答える
2

これは幅広い質問ですが、Elastic Search、Logstash、Kibana スタック (ELK) をセットアップすることをお勧めします

https://www.elastic.co/products/elasticsearch

https://www.elastic.co/products/logstash

https://www.elastic.co/products/kibana

次に、各コンテナーで、logstash フォワーダー/シッパーを実行して、logstash フロントエンドにログを送信できます。

ログは Elastic Search に保存され、Kibana またはElastic Search APIを使用して検索します

それが役に立てば幸い。

于 2015-07-28T05:29:08.003 に答える
1

私は Docker + Mesos + Marathon の作業も行っているので、あなたと同じ疑問に直面することになると思います。

ネイティブ ソリューションがまだあるかどうかはわかりません。しかし、elastic.ioの人々がこの問題をどのように解決したかについてのブログがあります。

リンクは次のとおりです-Mesos / MarathonクラスターのDockerコンテナーのログ集計

于 2015-07-28T05:28:23.587 に答える