ホームページ  >  記事  >  バックエンド開発  >  Docker コンテナのログを Elasticsearch に取得する最良の方法は何ですか?

Docker コンテナのログを Elasticsearch に取得する最良の方法は何ですか?

王林
王林転載
2024-02-08 22:00:39524ブラウズ

将 Docker 容器日志获取到 Elasticsearch 的最佳方式是什么?

php Editor Strawberry Docker コンテナのログを Elasticsearch に取得する最良の方法は、Filebeat を使用することです。 Filebeat は、インデックス作成と保存のために Docker コンテナのログを Elasticsearch にリアルタイムで送信できる軽量のログ ファイル データ コレクターです。 Filebeat の docker 入力と elasticsearch の出力を設定することで、Docker コンテナのログを Elasticsearch に簡単にインポートできます。同時に、Filebeat は、ニーズに応じてログを処理および変換できる豊富なフィルタリングおよび解析オプションも提供します。この方法はシンプルで使いやすいだけでなく、効率性も高く、Docker コンテナのログを取得する場合に最適です。

質問の内容

大量のロギングを行うコンテナ内で go アプリケーションを実行しています:

リーリー

サーバーが実行されているサーバーに ssh 接続できるので、docker logs -f [id] を実行して stderr 出力を確認できます。これで問題ありません。

しかし、今度はログを elasticsearch に入れたいと考えています。

最良の方法は何ですか?複雑な方法をたくさん見てきました。

1 つの方法は、gelf ロギング フォーマットと logstash を使用することですが、私が見つけた唯一の go gelf フォーマッタは非常に古いものです。

または、ファイルにログを記録し、filebeat を使用します。しかし、そのファイルの手順をスキップしたくないですか?

解決策

dockerを使用してFluentdをセットアップしてみます:

https://www.php.cn/link/39799c18791e8d7eb29704fc5bc04ac8

https://docs.docker.com/config/containers/logging/fluent/

次に、fluidd を elasticsearch にプッシュさせます:

https://www.php.cn/link/e0330da43b4d33f4ef9247ad260074f4

以上がDocker コンテナのログを Elasticsearch に取得する最良の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。