8

最近、ELK スタックを使用して最適な Docker ロギング メカニズムを見つけようとしています。企業が本番環境で使用する最適なワークフローについていくつか質問があります。私たちのシステムには、Tomcat、PostgreSQL、MongoDB、Nginx、RabbitMQ、Couchbase などの典型的なソフトウェア スタックがあります。現在、スタックは CoreOS クラスターで実行されています。以下の質問を見つけてください

  1. ELK スタックでは、ログ転送を行うための最良の方法は何ですか?Lu​​mberjack を使用する必要がありますか?. これを尋ねているのは、人々が Syslog/Rsyslog を使用してログを logstash に転送するワークフローを見たからです。
  2. すべてのソフトウェアはコンテナ化されているため、すべてのコンテナに Log-forwarder を含めるべきですか? 私のコンテナのほとんどは正常性に基づいてノードを切り替えるため、これを行うことを計画しているため、コンテナからホストにファイルシステムをマウントすることに熱心ではありません。
  3. ログを転送する際にブローカーとして redis を使用する必要がありますか? はいの場合、なぜですか?
  4. log-stash に転送されるログ形式を定義する log-config ファイルを作成するのはどれくらい難しいですか?

これは主観的な質問ですが、これは人々がずっと前に解決した問題であり、車輪の再発明には熱心ではありません.

4

3 に答える 3

5

他の多くの場合と同様に、良い質問と答えは「場合による」です。

  1. 出荷ログ- 内部では rsyslog を docker コンテナーとして使用し、場合によっては logstash-forwarder を使用します - logstash-forwarder の利点は、ログを暗号化して圧縮することであり、場合によっては重要です。rsyslog は非常に安定しており、リソースが少ないため、デフォルトのシッパーとして使用しています。完全なログスタッシュは小さなマシンでは重いかもしれません (ログスタッシュに関するいくつかの追加データ - http://logz.io/blog/5-logstash-pitfalls-and-how-to-avoid-them/ )

  2. また、完全に Docker 化されており、rsyslog/lumberjack ごとに個別の Docker を使用しています。保守、バージョンの更新、必要に応じた移動が簡単です。

  3. はい、間違いなくRedisを使用してください。本番 ELK の構築方法についてブログを書きました ( http://logz.io/blog/deploy-elk-production/ ) - ELK を本番環境にデプロイするための適切なアーキテクチャについて話しました。

  4. あなたがそれで何を達成しようとしているのか正確にはわかりません。

HTH

于 2015-07-11T14:51:48.997 に答える
2

2015 年 8 月現在、Docker には「Logging Driver」があり、ログを他の場所に送信できます。これらは、ログをリモートで送信するためにサポートされている方法です。

于 2015-08-15T06:37:43.320 に答える