Linux でコンテナ ログ管理を構成する方法
はじめに:
コンテナ テクノロジの継続的な開発に伴い、コンテナにデプロイされるアプリケーションがますます増えています。コンテナの特徴の 1 つは軽量であることですが、これはコンテナのログ管理にも課題をもたらします。この記事では、Linux でコンテナーのログ管理を構成し、ログの収集、保存、分析を実現する方法を紹介します。
1. Docker をインストールする
まず、Linux に Docker をインストールする必要があります。 Docker は、アプリケーションを迅速に構築、パッケージ化、デプロイするのに役立つ人気のあるコンテナ化プラットフォームです。
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo systemctl start docker
Docker をインストールしたので、コンテナーのログ管理の構成を開始できます。
2. コンテナー ログ ドライバーの構成
デフォルトでは、Docker はデフォルトのログ ドライバーとして json-file を使用します。ただし、運用環境では、Elasticsearch、Fluentd などのより強力なログ管理ツールが必要になる場合があります。
$ sudo systemctl stop docker
{ "log-driver": "fluentd", "log-opts": { "fluentd-address": "192.168.1.100:24224" } }
このうち、fluentd-address は Fluentd サーバーの IP アドレスとポートです。 。
$ sudo systemctl start docker
これで、コンテナーのログが Fluentd を通じて収集されます。 , 保存や分析のために Elasticsearch などのツールに送信できます。
3. Fluentd の設定
コンテナのログを Fluentd に送信するには、Fluentd サーバー上で対応する設定を実行する必要があります。
$ curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent3.sh | sh
<source> @type forward port 24224 bind 0.0.0.0 </source> <match docker.**> @type elasticsearch host 192.168.1.200 port 9200 index_name fluentd type_name docker </match>
ここで、host と port は、Elasticsearch サーバーの IP アドレスとポートです。
$ sudo systemctl restart td-agent
これで、Fluentd は、容器。
4. テスト ログの収集
構成が有効かどうかをテストするために、単純な Hello World アプリケーションを作成し、Docker イメージにパッケージ化します。
$ echo 'print("Hello World!")' > app.py
FROM python:3 COPY app.py . CMD [ "python", "./app.py" ]
$ docker build -t myapp .
$ docker run myapp
すべてが正しく構成されている場合、Fluentd サーバーに「Hello World!」のようなログ情報が表示されます。
概要:
上記の手順により、Linux 上でコンテナー ログ管理を正常に構成できました。 Fluentd や Elasticsearch などのツールを使用すると、コンテナからログを簡単に収集、保存、分析し、アプリケーションの監視と保守を改善できます。この記事が Linux でのコンテナー ログ管理の構成に役立つことを願っています。
参考リンク:
以上がLinux でコンテナーのログ管理を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。