Linux でコンテナーのログ管理を構成する方法

王林
リリース: 2023-07-07 21:42:05
オリジナル
864 人が閲覧しました

Linux でコンテナ ログ管理を構成する方法

はじめに:
コンテナ テクノロジの継続的な開発に伴い、コンテナにデプロイされるアプリケーションがますます増えています。コンテナの特徴の 1 つは軽量であることですが、これはコンテナのログ管理にも課題をもたらします。この記事では、Linux でコンテナーのログ管理を構成し、ログの収集、保存、分析を実現する方法を紹介します。

1. Docker をインストールする
まず、Linux に Docker をインストールする必要があります。 Docker は、アプリケーションを迅速に構築、パッケージ化、デプロイするのに役立つ人気のあるコンテナ化プラットフォームです。

  1. Docker のインストール
    ターミナルで次のコマンドを実行して Docker をインストールします。
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
ログイン後にコピー
  1. Start Docker
    インストールが完了したら、次のコマンドを使用します。次のコマンドを使用して Docker サービスを開始します:
$ sudo systemctl start docker
ログイン後にコピー
ログイン後にコピー

Docker をインストールしたので、コンテナーのログ管理の構成を開始できます。

2. コンテナー ログ ドライバーの構成
デフォルトでは、Docker はデフォルトのログ ドライバーとして json-file を使用します。ただし、運用環境では、Elasticsearch、Fluentd などのより強力なログ管理ツールが必要になる場合があります。

  1. Docker サービスを停止します
    ログ ドライバーを変更する前に、Docker サービスを停止する必要があります:
$ sudo systemctl stop docker
ログイン後にコピー
  1. ログ ドライバーを構成する
    Docker 設定ファイルを編集し、「/etc/docker/daemon.json」ファイルを変更して次の内容を追加します。
{
  "log-driver": "fluentd",
  "log-opts": {
    "fluentd-address": "192.168.1.100:24224"
  }
}
ログイン後にコピー

このうち、fluentd-address は Fluentd サーバーの IP アドレスとポートです。 。

  1. Docker の再起動
    構成を更新した後、変更を有効にするために Docker サービスを再起動します:
$ sudo systemctl start docker
ログイン後にコピー
ログイン後にコピー

これで、コンテナーのログが Fluentd を通じて収集されます。 , 保存や分析のために Elasticsearch などのツールに送信できます。

3. Fluentd の設定
コンテナのログを Fluentd に送信するには、Fluentd サーバー上で対応する設定を実行する必要があります。

  1. Fluentd のインストール
    Fluentd サーバーで次のコマンドを実行して、Fluentd をインストールします。
$ curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent3.sh | sh
ログイン後にコピー
  1. Fluentd の構成
    Fluentd 構成ファイルを編集し、 「/etc/td-agent/td-agent.conf」ファイルを変更し、次の内容を追加します。
<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 アドレスとポートです。

  1. Fluentd の再起動
    構成を更新した後、変更を有効にするために Fluentd サービスを再起動します。
$ sudo systemctl restart td-agent
ログイン後にコピー

これで、Fluentd は、容器。

4. テスト ログの収集
構成が有効かどうかをテストするために、単純な Hello World アプリケーションを作成し、Docker イメージにパッケージ化します。

  1. アプリケーションの作成
    ターミナルで次のコマンドを実行して、「app.py」という名前の Python アプリケーションを作成します:
$ echo 'print("Hello World!")' > app.py
ログイン後にコピー
  1. Create Dockerfile
    同じディレクトリに、次の内容を含む「Dockerfile」という名前のファイルを作成します。
FROM python:3
COPY app.py .
CMD [ "python", "./app.py" ]
ログイン後にコピー
  1. イメージをビルドします。
    ターミナルで次のコマンドを実行して、Docker イメージをビルドします。
$ docker build -t myapp .
ログイン後にコピー
  1. コンテナを実行する
    次のコマンドを実行してコンテナを起動し、コンテナからのログが Fluentd サービスで受信されるかどうかを確認します:
$ docker run myapp
ログイン後にコピー

すべてが正しく構成されている場合、Fluentd サーバーに「Hello World!」のようなログ情報が表示されます。

概要:
上記の手順により、Linux 上でコンテナー ログ管理を正常に構成できました。 Fluentd や Elasticsearch などのツールを使用すると、コンテナからログを簡単に収集、保存、分析し、アプリケーションの監視と保守を改善できます。この記事が Linux でのコンテナー ログ管理の構成に役立つことを願っています。

参考リンク:

  • Docker 公式ドキュメント: https://docs.docker.com/
  • Fluentd 公式ドキュメント: https://www.fluentd. org/
  • Elasticsearch 公式ドキュメント: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

以上がLinux でコンテナーのログ管理を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!