1. 概要最近、Skywalking を勉強しています。k8s を使用して Skywalking をデプロイし、ポッド内のアプリケーションを Skywalking に接続してサービス リンクを追跡する予定です。この記事では、k8s での skywalking のデプロイと使用方法を紹介するのではなく、まず手動で、docker で skywalking を使用する方法を紹介します。練習プロセス全体を通して、私は多くの文書を参照し、さまざまな問題に遭遇しました。ここでは、同じニーズを持つ友人に少しでも役立つことを願って、私自身の練習プロセスを記録します。 1. スカイウォーキング入門SkyWalkingは、マイクロサービス、クラウドネイティブ、コンテナ化(Docker、Kubernetes、Mesos)アーキテクチャのアプリケーションを主にターゲットとした、国内で人気のAPM(アプリケーションパフォーマンスモニタリング)製品です。 SkyWalking の中核は分散トレース システムであり、現在は Apache Foundation のトップレベル プロジェクトとなっています。
2. スカイウォーキング建築論理的には、SkyWalking は、次の図に示すように、プローブ、プラットフォーム バックエンド、ストレージ、UI の 4 つの部分に分かれています。
3. スカイウォーキングはどのようにしてデータを自動的に報告するのでしょうか?リンク トラッキング コンソールを使用してアプリケーションのリンク データを追跡する前に、クライアントを通じてアプリケーション データをリンク トラッキングに報告する必要があります。 SkyWalking は Java アプリケーション データをリンク トラッキング コンソールに報告し、まずトラッキング作業を完了する必要があります。 SkyWalking は、自動プローブ (Dubbo、gRPC、JDBC、OkHttp、Spring、Tomcat、Struts、Jedis など) と手動トレーサビリティ (OpenTracing) の両方をサポートしています。この記事では、自動ポイント埋め込み方式について紹介します。 スカイウォーキングによるデータ報告の原理を次の図に示します。 2. docker-composeを使用してskywalking-oap-serverとskywalking-uiをインストールします。 Linux に yum インストール -y docker-compose 次のコマンドを使用して、 vim スカイウォーキング-docker-compose.yaml ここでは、デフォルトで バージョン: '3' サービス: オップ: イメージ: apache/skywalking-oap-server:8.4.0-es6 コンテナ名: oap 再起動: 常に ポート: - 11800:11800 # エージェントがデータを報告するポート。これは gRPC ポートです - 12800:12800 # ui がデータを読み取るポート。これは http ポートです skywaling-ui: イメージ: apache/skywalking-ui:8.4.0 コンテナ名: ui 依存: -オアプ リンク: -オアプ ポート: -8088:8080 環境: - SW_OAP_ADDRESS=oap:12800 スカイウォーキングを開始するには、次のコマンドを使用します。 docker-compose -f skywalking-docker-compose.yaml アップ -d 起動ログを表示するには、次のコマンドを使用します。 docker-compose -f skywalking-docker-compose.yaml ログ -f 起動が成功したら、http://localhost:8088 にアクセスすると、次のインターフェースが表示されます。 3. スプリングブーツをスカイウォーキングに手動で接続する1. スカイウォーキングエージェントをダウンロードする
https://archive.apache.org/dist/skywalking/8.4.0/apache-skywalking-apm-8.4.0.tar.gz を取得します。 tar -zxvf apache-skywalking-apm-8.4.0.tar.gz 解凍後のディレクトリ構造は次のようになります。 エージェント ディレクトリの説明は次のとおりです。 2. Spring Bootプロジェクトはデータを自動的にレポートしますSpring Boot プロジェクトのデータをレポートするには、Skywalking アクセス ポイントとサービス名を構成する必要があります。これは、次の方法で構成できます。 設定ファイルを変更する 先ほどダウンロードした # UI 内のサービス名 agent.service_name=${SW_AGENT_NAME:アプリケーション名} # バックエンド サービスのアドレス。 コレクター.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800} 実際の状況に応じて設定するだけです。設定の変更が完了したら、次のコマンドで Spring Boot プロジェクトを起動できます。 java -javaagent:<skywalking-agent-path> -jar spring-boot-demo
コマンドパラメータによる設定 サービス名は、アプリケーションの起動コマンド ラインに java -javaagent:<skywalking エージェントのパス> -Dskywalking.agent.service_name=<サービス名> -Dskywalking.collector.backend_service=<バックエンド サービスのアドレス> -jar yourApp.jar アイデアの起動パラメータを設定する idea スタートアップ構成オプションの 設定が完了したら、プロジェクトを起動して、コンソールに次の情報が表示されます。 スカイウォーキング コンソールを確認すると、データがありません。これは、データをコンソールに報告する前に、まずインターフェイスにアクセスする必要があるためです。テスト インターフェイスを継続的に呼び出してコンソールを再度確認すると、次の図に示すように、呼び出しステータスを確認できます。 4. dockerを使用してSpring Bootをデプロイし、Skywalkingに接続するここで、Spring Boot のベースイメージは、 Spring Boot の apache/skywalking-base:8.4.0-es6 より ワークディレクトリ /app コピー target/spring-demo-0.0.1-SNAPSHOT.jar spring-demo-0.0.1-SNAPSHOT.jar 環境変数 SW_AGENT_COLLECTOR_BACKEND_SERVICES="127.0.0.1:11800" \ SW_AGENT_NAME="my-spring-demo-test-adfasdf" コマンド java -javaagent:/skywalking/agent/skywalking-agent.jar \ -jar spring-demo-0.0.1-SNAPSHOT.jar ここでは、環境変数を使用して、スカイウォーキングのカスタム パラメータを設定します。環境変数のその他の構成については、 次のコマンドを使用してイメージをビルドします。 次のコマンドを実行して、spring-boot-demo を実行します。 次のコマンドを使用してイメージを起動します。 docker run --rm -p 8080:8080 spring-boot-demo 起動に成功したら、テスト アドレスにアクセスして Skywalking コンソールに移動し、データが報告されているかどうかを確認できます。データが報告されていない場合は、Skywalking エージェントのログを確認する必要があります。エラー情報は 参照ドキュメントスカイウォーキング公式ドキュメント これで、docker を使用して Spring Boot をデプロイし、Skywalking に接続する方法についての記事は終了です。docker を使用して Spring Boot をデプロイし、Skywalking に接続する方法についての関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
会社の開発者がテスト環境で挿入ステートメントを実行すると、正常に実行されるまでに 10 秒以上かかり...
この記事では、MySQL 5.7.21のインストールに関する注意事項をまとめ、皆さんと共有します。 ...
Anaconda は、conda、Python、およびそれらの依存関係など、180 を超える科学パッ...
この記事では、MySQL 8.0.12のインストールされていないバージョンを設定して起動するための具...
実行中のコンテナが終了したときに、コンテナが完全に終了する前に環境をクリーンアップするなど、いくつか...
目次例示する1. ブロブオブジェクト2. フロントエンド3. バックエンド要約する例示する最近、ファ...
1. 対応するNode.jsパッケージを見つけます。https://nodejs.org/downl...
目次URL モジュール1. 解析メソッド2. フォーマット方法3. 解決方法イベントモジュール(イベ...
CSS には、一般的には使用されない 2 つの疑似クラス、before と :after があります...
<br />オリジナルURL: http://www.lxdong.com/post/m...
問題を見つける最近、以前のデータを入力していたときに、プログラムが突然次のエラーを報告しました。 [...
1.vueパッケージングここでは、vueネイティブパッケージングコマンドを使用してvueプロジェクト...
目次設定を追加json 構成レイヤー構成の表示論理層の構成位置追跡をオンにする録音を開始開始座標を決...
設計業務では、設計者がレビューに参加したり、リーダーの一部が設計案の詳細が足りないと言っているのをよ...
私は数年間 vi エディタを使ってきましたが、実用的な用途で使ったことはありませんでした。今日 Py...