検索
ホームページ運用・保守Linuxの運用と保守Docker を使用してコンテナーのログ分析と例外監視を行う方法

Docker を使用してコンテナーのログ分析と例外監視を行う方法

Docker は、アプリケーションとその依存関係をコンテナにパッケージ化して、単一のポータブル アプリケーション ユニットとして実行する、一般的なコンテナ化テクノロジです。このテクノロジーにより、開発者はさまざまな環境でアプリケーションを簡単に展開および管理できます。実際のアプリケーションでは、Docker コンテナのログ分析と例外監視が非常に必要です。この記事では、次の側面を含む、コンテナー ログ分析と例外監視に Docker を使用する方法を紹介します。

  1. Docker コンテナー ログ
  2. Docker log コマンドを使用してログを表示します
  3. ログの収集と分析には Logstash を使用します
  4. データのインデックス作成と保存には Elasticsearch を使用します
  5. データ視覚化の表示には Kibana を使用します

まず知っておく必要がありますDockerコンテナのログについて。

1. Docker コンテナ ログ

Docker コンテナ ログには、アプリケーションの出力情報、エラー情報、アクセス ログ、システム ログなど、コンテナ内の操作情報が記録されます。この情報はアプリケーションの運用と保守、追跡、例外処理などにとって非常に重要であるため、Docker コンテナのログを収集して分析する必要があります。

2. Docker log コマンドを使用してログを表示します

Docker は、コンテナーによって出力されたログ情報を表示するために使用できる log コマンドを提供します。 log コマンドを使用すると、実行中のコンテナーのリアルタイム出力情報を簡単に表示し、この情報をコンソールに出力したり、ファイルに保存したりできます。以下は、log コマンドを使用してコンテナーのログを表示する例です。

// 查看容器ID为xxx的日志
docker logs xxx

// 查看容器ID为xxx的日志,输出到控制台并实时更新
docker logs -f xxx 

// 查看容器ID为xxx的最近10条日志
docker logs --tail 10 xxx 

log コマンドを使用すると、開発者はコンテナーのリアルタイムの出力情報を簡単に表示し、問題を迅速に特定できますが、この方法はホスト上のコンテナの場合、コンテナのサイズが大きくなると手動でログを参照することが困難になるため、ログ収集ツールを利用して自動的にログを収集・分析する必要があります。

3. ログの収集と分析に Logstash を使用する

Logstash は、ログの収集、フィルタリング、変換、送信のためのオープン ソース ツールです。データは入力プラグインを通じて収集され、次によって処理および変換されます。データをフィルターし、出力プラグインは処理されたデータを Elasticsearch、Kafka、Amazon S3 などの宛先に送信します。 Dockerコンテナのログ収集では、ログを収集・分析するツールとしてLogstashを利用できます。 Logstash を使用してログの収集と分析を行う例を以下に示します:

1. Logstash のインストール

公式 Web サイトから Logstash をダウンロードし、解凍して使用します。 Logstash を起動するコマンドは次のとおりです:

cd logstash-7.15.1/bin
./logstash -f logstash.conf

2. Logstash の設定

Logstash をコンテナのログ収集ツールとして使用するには、入力プラグインと出力プラグを設定する必要があります。 Logstash の -in。以下は、構成ファイル logstash.conf の例です。

input {
  docker {
    endpoint => "unix:///var/run/docker.sock"
    container_id => "ALL"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
}

output {
  elasticsearch {
    hosts => "localhost:9200"
  }
  stdout {
    codec => "json_lines"
  }
}

上記の構成ファイルは、すべての Docker コンテナーからログ情報を収集し、grok フィルターを通じてデータをフィルターおよび解析し、最後に出力する必要があることを意味します。処理されたデータを Elasticsearch に取り込みます。

4. データのインデックス作成とストレージに Elasticsearch を使用する

Elasticsearch は、さまざまな種類のドキュメントの検索に使用できる分散型オープンソース検索エンジンです。 Dockerコンテナのログ収集では、データのインデックスとストレージとしてElasticsearchを使用します。以下は、データのインデックス作成とストレージに Elasticsearch を使用する例です:

1. Elasticsearch をインストールします

公式 Web サイトから Elasticsearch をダウンロードし、ファイルを解凍して使用します。 Elasticsearch を開始するコマンドは次のとおりです:

cd elasticsearch-7.15.1/bin
./elasticsearch

2. Elasticsearch の構成

elasticsearch.yml ファイルを変更して、ES クラスターの名前とノード名を構成します。以下は、単純な elasticsearch.yml 設定ファイルの例です:

cluster.name: docker-cluster
node.name: es-node1
network.host: 0.0.0.0

上記の設定は、docker-cluster という名前のクラスターを作成することを意味します。ノード名は es-node1 で、ES サービスはすべてのノードにバインドされます。ネットワークインターフェース上で利用可能です。

3. インデックスの作成

Elasticsearch では、まずデータのインデックスを作成し、データ内のフィールドを指定する必要があります。サンプル コードは次のとおりです。

PUT /logstash-test
{
  "mappings": {
    "properties": {
      "host": {
        "type": "keyword"
      },
      "message": {
        "type": "text"
      },
      "path": {
        "type": "text"
      },
      "verb": {
        "type": "keyword"
      }
    }
  }
}

上記のコードは、Elasticsearch に「logstash-test」という名前のインデックスを作成し、インデックスに含まれるフィールドとフィールド タイプを定義します。

5.データ視覚化表示に Kibana を使用する

Kibana は、Elasticsearch から取得したデータを表示するために使用できるオープンソースのデータ視覚化ツールです。 Dockerコンテナのログ収集処理では、データの可視化表示にKibanaを使用します。以下は Kibana を使用したデータ可視化表示の例です:

1. Kibana のインストール

公式 Web サイトから Kibana をダウンロードし、解凍して使用します。 Kibana を起動するコマンドは次のとおりです:

cd kibana-7.15.1/bin
./kibana

2. インデックス テンプレートの設定

Kibana では、インデックス テンプレートを設定する必要があります。インデックス テンプレートには、データ フィールド定義とクエリ分析情報が含まれています。サンプル コードは次のとおりです。

PUT _index_template/logstash-template
{
  "index_patterns": ["logstash-*"],
  "template": {
    "mappings": {
      "properties": {
        "@timestamp": { "type": "date" },
        "@version": { "type": "keyword" },
        "message": { "type": "text" },
        "path": { "type": "text" }
      }
    }
  }
}

上記のコードは、「logstash-template」という名前のインデックス テンプレートが作成され、名前が「logstash-*」で始まるインデックスに適用されることを意味します。

3. データの視覚化

在Kibana的外掛程式面板中,可以選擇設定和管理視覺化範本。我們可以輕鬆地透過面板創建各種類型的視覺化圖表,如Line圖、Bar圖和Pie圖等等。

綜上所述,本文介紹如何使用Docker進行容器的日誌分析和異常監測,並給出了具體的程式碼範例。 Docker本身提供了log指令來查看容器的日誌,但手動查看日誌在容器規模擴大後變得更加困難。透過使用Logstash、Elasticsearch和Kibana這些工具,我們可以對容器的日誌進行自動化的收集和分析,並展示出容器的運作狀況,這對於應用程式的運維和故障處理都非常有幫助。

以上がDocker を使用してコンテナーのログ分析と例外監視を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Linux操作:コア機能の理解Linux操作:コア機能の理解May 03, 2025 am 12:09 AM

Linuxは、UNIXベースのマルチユーザーのマルチタスクオペレーティングシステムで、シンプルさ、モジュール性、オープン性を強調しています。そのコア機能には、ファイルシステム:ツリー構造で整理され、Ext4、XFS、BTRFSなどの複数のファイルシステムをサポートし、DF-Tを使用してファイルシステムタイプを表示します。プロセス管理:PSコマンドを使用してプロセスを表示し、優先度の設定と信号処理を含むPIDを使用してプロセスを管理します。ネットワーク構成:IPアドレスの柔軟な設定とネットワークサービスの管理、およびsudoipaddraddを使用してIPを構成します。これらの機能は、基本的なコマンドと高度なスクリプト自動化を通じて実際の操作に適用され、効率を向上させ、エラーを削減します。

Linux:メンテナンスモードの入力と終了Linux:メンテナンスモードの入力と終了May 02, 2025 am 12:01 AM

Linuxメンテナンスモードに入る方法には次のものがあります。1。grub構成ファイルを編集し、「シングル」または「1」パラメーターを追加し、Grub構成を更新します。 2。GRUBメニューでスタートアップパラメーターを編集し、「シングル」または「1」を追加します。終了メンテナンスモードでは、システムを再起動する必要があります。これらの手順を使用すると、必要に応じてメンテナンスモードをすばやく入力して安全に終了し、システムの安定性とセキュリティを確保できます。

Linuxの理解:定義されたコアコンポーネントLinuxの理解:定義されたコアコンポーネントMay 01, 2025 am 12:19 AM

Linuxのコアコ​​ンポーネントには、カーネル、シェル、ファイルシステム、プロセス管理、メモリ管理が含まれます。 1)カーネル管理システムリソース、2)シェルはユーザーインタラクションインターフェイスを提供します。3)ファイルシステムは複数の形式をサポートします。4)プロセス管理は、フォークなどのシステムコールを通じて実装され、5)メモリ管理は仮想メモリテクノロジーを使用します。

Linuxの構成要素:主要なコンポーネントが説明しましたLinuxの構成要素:主要なコンポーネントが説明しましたApr 30, 2025 am 12:26 AM

Linuxシステムのコアコンポーネントには、カーネル、ファイルシステム、ユーザースペースが含まれます。 1.カーネルはハードウェアリソースを管理し、基本的なサービスを提供します。 2。ファイルシステムは、データストレージと組織を担当します。 3.ユーザースペースでユーザープログラムとサービスを実行します。

メンテナンスモードの使用:Linuxのトラブルシューティングと修復メンテナンスモードの使用:Linuxのトラブルシューティングと修復Apr 29, 2025 am 12:28 AM

メンテナンスモードは、シングルユーザーモードまたはレスキューモードを介してLinuxシステムに入力される特別な動作レベルであり、システムのメンテナンスと修理に使用されます。 1.メンテナンスモードを入力し、コマンド「sudosystemctlisolaterscue.target」を使用します。 2。メンテナンスモードでは、ファイルシステムを確認して修復し、コマンド「FSCK/DEV/SDA1」を使用できます。 3.高度な使用法には、ルートユーザーパスワードのリセット、ファイルシステムの読み取りモードと書き込みモードのマウント、パスワードファイルの編集が含まれます。

Linuxメンテナンスモード:目的の理解Linuxメンテナンスモード:目的の理解Apr 28, 2025 am 12:01 AM

メンテナンスモードは、システムのメンテナンスと修理に使用され、管理者が簡素化された環境で作業できるようにします。 1。システム修理:破損したファイルシステムとブートローダーを修理します。 2。パスワードリセット:ルートユーザーパスワードをリセットします。 3。パッケージ管理:ソフトウェアパッケージをインストール、更新、または削除します。 GRUB構成を変更するか、特定のキーを使用してメンテナンスモードを入力することにより、メンテナンスタスクを実行した後、安全に終了できます。

Linux操作:ネットワーキングとネットワーク構成Linux操作:ネットワーキングとネットワーク構成Apr 27, 2025 am 12:09 AM

Linuxネットワークの構成は、次の手順で完了できます。1。ネットワークインターフェイスを構成し、IPコマンドを使用して、構成ファイルの永続性設定を一時的に設定または編集します。 2。固定IPを必要とするデバイスに適した静的IPを設定します。 3.ファイアウォールを管理し、iPtablesまたはFirewalldツールを使用してネットワークトラフィックを制御します。

Linuxのメンテナンスモード:システム管理者ガイドLinuxのメンテナンスモード:システム管理者ガイドApr 26, 2025 am 12:20 AM

メンテナンスモードは、Linuxシステム管理において重要な役割を果たし、修復、アップグレード、構成の変更を支援します。 1.メンテナンスモードを入力します。 Grubメニューから選択するか、コマンド「sudosystemctlisolaterscue.target」を使用できます。 2。メンテナンスモードでは、ファイルシステムの修理およびシステムの更新操作を実行できます。 3.高度な使用法には、ルートパスワードのリセットなどのタスクが含まれます。 4.メンテナンスモードに入ったり、ファイルシステムをマウントできないなどの一般的なエラーは、GRUB構成をチェックしてFSCKコマンドを使用して固定できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。