亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
Filebeat を使用して Java ログを ELK に送信する
ホームページ Java &#&チュートリアル Java で生成されたログを ELK に送信する: 詳細(xì)なチュートリアル

Java で生成されたログを ELK に送信する: 詳細(xì)なチュートリアル

Oct 16, 2025 pm 07:30 PM

Java で生成されたログを ELK に送信する: 詳細(xì)なチュートリアル

この記事は、Java マイクロサービスによって生成されたログを ELK (Elasticsearch、Logstash、Kibana) スタックに効率的に送信する方法を開発者にガイドすることを目的としています。 Docker コンテナからログを読み取って ELK に直接転送し、ローカル ファイル ストレージを回避してログ管理プロセスを簡素化するように Filebeat を構(gòu)成する方法を検討します。

Filebeat を使用して Java ログを ELK に送信する

マイクロサービス アーキテクチャでは、一元的なログ管理が重要です。 ELK スタックは、さまざまなサービスからログを収集、分析、視覚化するための強(qiáng)力なソリューションを提供します。このチュートリアルでは、軽量のログ シッパーである Filebeat を使用して、Java アプリケーション (Docker コンテナーで実行されている) によって生成されたログを、最初にログをローカル ファイルに書き込むことなく ELK に直接送信する方法に焦點(diǎn)を當(dāng)てます。

1. Filebeat を選ぶ理由?

Filebeat には次の利點(diǎn)があります。

  • 軽量:使用するリソースが少なく、アプリケーションのパフォーマンスにほとんど影響を與えません。
  • 信頼性:ネットワークが中斷された場合でも、ログの信頼性の高い送信と回復(fù)を保証します。
  • 構(gòu)成が簡単:既存の Docker 環(huán)境に簡単に統(tǒng)合できるように、シンプルな構(gòu)成オプションを提供します。
  • 直接転送:ログをローカル ファイルに書き込む必要がないため、ディスク I/O が削減され、効率が向上します。

2. 環(huán)境の準(zhǔn)備

  • Java アプリケーション:ロギングに SLF4j を使用し、Docker コンテナーで実行される Java アプリケーション。
  • ELK スタック: Elasticsearch、Logstash、Kibana などの確立された ELK 環(huán)境は、Docker コンテナーでも実行されます。
  • Docker Compose (オプション): Java アプリケーション、Filebeat、ELK などの複數(shù)のコンテナを管理するには、Docker Compose を使用することをお?jiǎng)幛幛筏蓼埂?/li>

3. Filebeatの設(shè)定

Filebeat には、監(jiān)視するログ ファイルと ELK のアドレスを指定するための構(gòu)成ファイル (通常は filebeat.yml という名前) が必要です。

以下は filebeat.yml 設(shè)定のサンプルです。

ファイルビート.入力:
- タイプ: ドッカー
  コンテナー.id:
    - '*' # すべてのコンテナのログoutput.logstashを監(jiān)視します。
  hosts: ["logstash:5044"] # Logstash のアドレスとポートのプロセッサ:
  - add_docker_metadata: ~

設(shè)定項(xiàng)目の説明:

  • filebeat.inputs: Filebeat の入力ソースを定義します。
    • type: docker: 入力タイプを Docker コンテナーとして指定します。
    • containers.ids: ['*']: すべてのコンテナのログを監(jiān)視します。特定のコンテナ ID を指定することもできます。
  • Output.logstash: Filebeat の出力ターゲットを定義します。
    • hosts: ["logstash:5044"]: Logstash のアドレスとポートを指定します。 logstash が Docker ネットワーク上で解析できることを確認(rèn)してください。
  • プロセッサ: ログ データの処理と強(qiáng)化に使用されます。
    • add_docker_metadata: 後の分析を容易にするために、コンテナー ID、イメージ名などの Docker メタデータをログに追加します。

4. Docker Compose の統(tǒng)合 (推奨)

Docker Compose を使用している場合は、Filebeat を docker-compose.yml ファイルに追加できます。

バージョン:「3.7」
サービス:
  java-アプリ:
    畫像: あなたの Java アプリの畫像
    # ...その他の設(shè)定ファイルビート:
    image: docker.elastic.co/beats/filebeat:7.17.16 # 適切な Filebeat バージョンのボリュームを使用します。
      - ./filebeat.yml:/usr/share/filebeat/filebeat.yml
      - /var/lib/docker/containers:/var/lib/docker/containers:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
    依存:
      -java-app
    ネットワーク:
      - your-network # Filebeat と Logstash が同じネットワーク內(nèi)にあることを確認(rèn)します。
  あなたのネットワーク:
    ドライバー:ブリッジ

重要なポイント:

  • ボリューム: filebeat.yml 構(gòu)成ファイル、ログ ディレクトリ、および Docker コンテナの Docker ソケットをマウントします。
  • /var/lib/docker/containers:/var/lib/docker/containers:ro: Filebeat がコンテナのログ ファイルを読み取ることを許可します。
  • /var/run/docker.sock:/var/run/docker.sock:ro: Filebeat がコンテナのメタデータを取得できるようにします。
  • depend_on: Java アプリケーションの起動(dòng)後に Filebeat が起動(dòng)するようにします。
  • ネットワーク: Filebeat が Logstash に接続できるように、Filebeat と Logstash が同じネットワーク上にあることを確認(rèn)します。

5. Logstash の構(gòu)成 (オプション)

Logstash は、ログ形式の解析、フィールドの追加など、Filebeat によって送信されたログをさらに処理できます。Java アプリケーションが特定のログ形式を使用している場合は、Logstash で対応するフィルタを構(gòu)成する必要がある場合があります。

簡単な Logstash 構(gòu)成例:

入力 {
  ビート {
    ポート => 5044
  }
}

フィルター {
  # ログ形式に基づいてフィルターを追加します # 例:
  # グロク {
  # match => { "メッセージ" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{DATA:logger} - %{GREEDYDATA:message}" }
  # }
}

出力 {
  エラスティックサーチ {
    ホスト => ["elasticsearch:9200"]
    インデックス => "java-app-%{YYYY.MM.dd}"
  }
}

6. サービスを開始する

docker-compose up -d コマンドを使用して、すべてのサービスを開始します。

7. 検証

Kibana で java-app-* を指すインデックス スキーマを作成すると、Java アプリケーションからログを表示できるようになります。

注意すべき點(diǎn):

  • バージョンの互換性: Filebeat、Logstash、および Elasticsearch のバージョンに互換性があることを確認(rèn)します。
  • 権限の問題: Filebeat に Docker コンテナのログ ファイルを読み取る権限があることを確認(rèn)してください。
  • ネットワーク構(gòu)成: Filebeat と Logstash が同じネットワーク上にあり、相互にアクセスできることを確認(rèn)します。
  • リソース制限:システムのパフォーマンスへの影響を避けるために、実際の狀況に応じて Filebeat のリソース制限を調(diào)整します。

要約する

Filebeat を設(shè)定することで、Java アプリケーションによって生成されたログを ELK スタックに簡単に送信して、一元的なログ管理を?qū)g現(xiàn)できます。このアプローチにより、ローカル ファイル ストレージが回避され、効率と信頼性が向上します。 Docker Compose と組み合わせると、ログ収集プロセス全體をより簡単に管理およびデプロイできます。最良のログ分析結(jié)果を得るために、ログ形式、Logstash フィルターなどの特定のニーズに応じて構(gòu)成を調(diào)整してください。

以上がJava で生成されたログを ELK に送信する: 詳細(xì)なチュートリアルの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

AIを活用した投資調(diào)査により賢明な意思決定を?qū)g現(xiàn)

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

JavaのClassPathにJARファイルを追加する方法は? JavaのClassPathにJARファイルを追加する方法は? Sep 21, 2025 am 05:09 AM

-CPパラメーターを使用してJARをClassPathに追加して、JVMがjava-cplibrary.jarcom.example.mainなどの內(nèi)部クラスとリソースをロードできるようにします。

Javaでファイルを作成する方法 Javaでファイルを作成する方法 Sep 21, 2025 am 03:54 AM

usefile.createNewfile()tocreatefileonlyifitdoes notexist、avolididingoverwriting;

Javaサービスプロバイダーインターフェイス(SPI)を使用して拡張可能なアプリケーションを構(gòu)築する Javaサービスプロバイダーインターフェイス(SPI)を使用して拡張可能なアプリケーションを構(gòu)築する Sep 21, 2025 am 03:50 AM

Javaspiは、JDKに組み込みのサービス発見メカニズムであり、Serviceloaderを介してインターフェイス指向の動(dòng)的拡張を?qū)g裝しています。 1.サービスインターフェイスを定義し、Meta-INF/Services/の下のインターフェイスのフルネームに命名されたファイルを作成し、実裝クラスの完全に適格な名前を記述します。 2。serviceloader.load()を使用して実裝クラスをロードすると、JVMは自動(dòng)的に構(gòu)成を読み取り、インスタンス化します。 3.インターフェイス契約は、設(shè)計(jì)中に明確にし、優(yōu)先順位と條件付き負(fù)荷をサポートし、デフォルトの実裝を提供する必要があります。 4。アプリケーションシナリオには、マルチペイチャネルアクセスとプラグインの確認(rèn)が含まれます。 5.パフォーマンス、クラスパス、例外分離、スレッドの安全性、バージョンの互換性に注意してください。 6。Java9では、Moduleシステムと組み合わせて提供できます。

Javaにインターフェイスを?qū)g裝する方法は? Javaにインターフェイスを?qū)g裝する方法は? Sep 18, 2025 am 05:31 AM

実裝キーワードを使用して、インターフェイスを?qū)g裝します。クラスは、インターフェイス內(nèi)のすべてのメソッドの特定の実裝を提供する必要があります。複數(shù)のインターフェイスをサポートし、メソッドが公開されるようにコンマで區(qū)切られています。 Java 8の後のデフォルトおよび靜的メソッドは、書き直す必要はありません。

Java GenericsとWildcardsの理解 Java GenericsとWildcardsの理解 Sep 20, 2025 am 01:58 AM

javagenericsprovideCompile-timeTypeSafeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTyParaMetersonClasses、interfaces、and methods; wildcards(?、extendStype、?supertype)HeandnwondTypeswithFexibility.1.1.UnunboundCardCardCardCardCardCardCardCardCardCardCardの裝備

HTTPの永続的な接続の深い理解:同じソケットに複數(shù)のリクエストを送信するためのポリシーとプラクティス HTTPの永続的な接続の深い理解:同じソケットに複數(shù)のリクエストを送信するためのポリシーとプラクティス Sep 21, 2025 pm 01:51 PM

この記事では、同じTCPソケットで複數(shù)のHTTP要求を送信するメカニズム、つまりHTTP Persistent Connection(Keep-Alive)を詳細(xì)に説明します。この記事では、HTTP/1.xとHTTP/2プロトコルの違いを明確にし、永続的な接続に対するサーバー側(cè)のサポートの重要性と、接続を正しく処理する方法:応答ヘッダーを閉じる方法を強(qiáng)調(diào)しています。一般的なエラーを分析し、ベストプラクティスを提供することにより、開発者が効率的で堅(jiān)牢なHTTPクライアントを構(gòu)築できるようにすることを目指しています。

Javaチュートリアル:ネストされたアレイリストを平らにし、その要素を配列に埋める方法 Javaチュートリアル:ネストされたアレイリストを平らにし、その要素を配列に埋める方法 Sep 18, 2025 am 07:24 AM

このチュートリアルでは、Javaに他のアレイリストを含むネストされたアレイリストを効率的に処理し、そのすべての內(nèi)部要素を単一の配列にマージする方法を詳しく説明しています。この記事では、Java 8ストリームAPIのフラットマップ操作を通じて2つのコアソリューションを提供します。最初にリストにフラット化してから配列を埋め、さまざまなシナリオのニーズを満たすために新しい配列を直接作成します。

Javaで呼び出しメソッドの名前を取得する方法は? Javaで呼び出しメソッドの名前を取得する方法は? Sep 24, 2025 am 06:41 AM

答えは、thread.currentthread()。getStackTrace()を使用してコールメソッド名を取得し、インデックス2から別のコールのソモメトッド名を取得することです。インデックス0はgetStackTraceであるため、1は現(xiàn)在のメソッドであり、2は発信者であり、2は例です。 インパクト。

See all articles