Skywalkingの展開と使用は、このドキュメントを表示するのに十分です

バージョン:JDK1.8
ES:6.6+
ここで使用される最新のパッケージ:apache-skywalking-apm-8.1.0

スタンドアロン展開

1.1インストールパッケージをダウンロードします。

wget https://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/8.1.0/apache-skywalking-apm-8.1.0.tar.gz

1.2解凍して、configディレクトリに入ります。

tar -zxvf apache-skywalking-apm-8.1.0.tar
cd config

1.3application.yml構成ファイルを変更します

[外部リンク画像の転送に失敗しました。元のサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-GVrCmsi3-1608185731042)(http://192.168.15.111:4999/server/ index.php?s = / api / attachment / visitFile / sign / b694edcaccd072bc40af3fc8241fb4b3&showdoc = .jpg)]

storage:
  selector: ${SW_STORAGE:elasticsearch}
  elasticsearch:
    nameSpace: ${SW_NAMESPACE:"namespace-"}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:127.0.0.1:9002}
    protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
    trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:""}
    trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:""}
    user: ${SW_ES_USER:"username"}
    password: ${SW_ES_PASSWORD:"password"}

1.4skwを開始します

binディレクトリを入力します

oapService.sh:バックエンドデータサービスを
開始しますwebappService.sh:フロントエンドページサービスを
開始しますstartup.sh:2つのサービスを開始しますこれ
までのところ、スタンドアロンバージョンを使用できます。デフォルトのIP:ポートを要求するだけです。

2.クラスターの展開

2.1application.yml構成ファイルを変更する

レジストリが飼育係かnacosかを選択しますここに画像の説明を挿入

2.2フロントエンド構成を変更する

/apache-skywalking-apm-bin/webapp/webapp.yml
listOfServers:現在のクラスターのip:port、ip:portのリストに変更します

2.3各ノードを起動します

スカイウォーキング入門

スカイウォーキングアーキテクチャは、次のもので構成されています。

  • Skywalking Agent:トレース(コールチェーンデータ)とメトリック(インデックス)情報を収集してレポートし、HTTPまたはgRPCを介してSkywalkingCollectorにデータを送信します
  • Skywalking Collector:エージェントから渡されたトレースデータとメトリックデータを統合および分析するリンクデータコレクターは、Analysis Coreモジュールによって処理され、関連するデータストレージに保存されます。同時に、二次統計を実行し、アラームを監視します。クエリコアモジュールを介して。
  • ストレージ:Skywalkingストレージ、ElasticSearch、Mysql、TiDB、H2などをデータストレージのストレージメディアとしてサポートします
  • UI:着陸データを表示するために使用されるWeb視覚化プラットフォーム。現在、SkyWalkingのメインUIとしてRocketBotが正式に採用されています。

3.スカイウォーキングの主な機能:

  1. リンクモニタリング
  2. 指標:ランタイムデータ、ヘルスデータ、セルフチェック

3.1バイトコードの機能強化

Javaは、バイナリバイトコードをJVMメモリにロードすることにより、クラスのロードプロセスを完了します。JVM実行プロセス中にクラスを動的に作成する場合は、Javaコンパイルシステムの形式と構造に従って.classファイルを整理し、対応するバイナリデータを生成してから、バイナリデータをロードして対応するものに変換する必要があります。クラス。クラスの動的作成を完了できます。これらの機能を実現する方法はたくさんあります。

  1. Javaプロキシを使用してJavaバイトコードインジェクションを実装する
  2. Javaassistを使用してバイトコードを変更します
  3. ASMを使用してバイトコードも変更する

3.2skywalkingUIの概要

SkyWalkingの公式UIは、分散型SkyWalking観測用のデフォルトの強力な視覚化関数クラスターを提供します
。SkyWalkingダッシュボードには、次の部分が含まれています。

  1. 機能タブ選択エリア主な機能はこちらです。詳細については、以下で紹介します。
  2. リロード領域:定期的なリロードや手動のリロードなど、リロードメカニズムを制御します。
  3. タイムセレクター。タイムゾーンと時間範囲を制御します。中国語/英語の切り替えボタンがあります。デフォルトでは、UIはブラウザ言語を使用して
    ここに画像の説明を挿入
    データベースダッシュボードを設定し、応答時間、応答時間の分布、スループット、SLA、低速SQL、およびその他のデータベースの詳細情報を表示します。これは便利です。データベースステータスを視覚的に表示するためデータベース
    平均応答時間:データベース平均応答時間
    データベースアクセス成功率:データベースアクセス成功率
    データベーストラフィック: 1分あたりの
    データベースアクセスデータベースアクセス遅延パーセンテージデータベースアクセス遅延パーセンテージ
    slowステートメント: slow SQL
    すべてのデータベースロード、:
    Un-Healthデータベース(成功率):

3.3ダッシュボード

ダッシュボードは、サービス、サービスインスタンス、およびエンドポイントのメトリックを提供します。ここでいくつかの測定用語を理解する必要があります

  • スループットCPM、つまり1分あたりの通話数
  • Apdexスコア、WIKIのApdexを参照
  • p99、p95、p90、p75、p50を含む応答時間のパーセンテージ。WIKIのパーセンタイルを参照してください。
  • SLAは成功率を意味します。HTTPの場合、応答が200の要求を意味します

サービス、インスタンス、およびダッシュボードセレクターは、ページ全体を再読み込みする代わりに、手動で再読み込みできます。オーバーロードされた領域**はこれらのセレクターをオーバーロードしないことに注意してください
ここに画像の説明を挿入

3.4ダッシュボードAPM

  • 最初の列:さまざまなコンテンツテーマ、アプリケーション/データベース/コンテナなどの監視パネル。
  • 2番目の列:現在のデータの編集/エクスポート/表示データのインポート/さまざまなサービスエンドポイントの表示のスクリーニングを含む操作
  • 3番目の列:さまざまな緯度、サービス/インスタンス/エンドポイントで表示ここに画像の説明を挿入

3.4.2グローバルグローバルディメンション

  • 最初の列:グローバル、サーバー、インスタンス、エンドポイントのさまざまな表示パネル、内部コンテンツを調整できます
  • サービス負荷:1分あたりのサービスリクエスト
  • 遅いサービス:遅い応答サービス、単位ミリ秒
  • Un-Health services(Apdex):Apdexパフォーマンスインデックス、1は満点です。
  • グローバル応答待ち時間:応答遅延のパーセンテージ、さまざまな遅延時間のパーセンテージ、単位ミリ秒
  • グローバルヒートマップ:サービス応答時間の熱分布マップ。期間内のさまざまな応答時間の数に応じて色深度を示します。
  • 下部のバー:データを表示する時間間隔。クリックして調整します。

3.4.3サービスディメンションここに画像の説明を挿入-ServiceApdex(番号):現在のサービス評価

  • Service Apdex(折れ線グラフ):さまざまな時点でのApdexスコア
  • 成功率(数):リクエスト成功率
  • 成功率(折れ線グラフ):さまざまな時点での成功率を要求します
  • サービス負荷(数):1分あたりのリクエスト数
  • サービス負荷(折れ線グラフ):さまざまな時間における1分あたりのリクエスト数
  • サービスの平均応答時間:平均応答遅延(ミリ秒単位)
  • グローバル応答時間パーセンタイル:応答遅延のパーセンテージ
  • サービスインスタンスのロード:各サービスインスタンスの1分あたりのリクエスト数
  • サービスインスタンスの表示:各サービスインスタンスの最大遅延
  • サービスインスタンスの成功率:各サービスインスタンスのリクエストの成功率

3.4.4インスタンスディメンション

ここに画像の説明を挿入-サービスインスタンスの負荷:現在のインスタンスの1分あたりのリクエスト数

  • サービスインスタンスの成功率:現在のインスタンスのリクエストの成功率
  • サービスインスタンスの待機時間:現在のインスタンスの応答遅延
  • JVM CPU:jvmが占めるCPUの割合
  • JVMメモリ:JVMメモリ占有サイズ、単位m
  • JVM GC時間:YGCおよびOGCを含むJVMガベージコレクション時間
  • JVM GCカウント:YGCおよびOGCを含むJVMガベージコレクション時間
  • CLR XX:JVM仮想マシンに似ています

3.4.5エンドポイント(API)ディメンション

ここに画像の説明を挿入

  • 現在のサービスのエンドポイント負荷:各エンドポイントの1分あたりのリクエスト数
  • 現在のサービスの遅いエンドポイント:各エンドポイントの最も遅いリクエスト時間(ミリ秒単位)
  • 現在のサービスでの成功率:各エンドポイントの成功率を要求します
  • エンドポイントの読み込み:現在のエンドポイントの各期間のデータをリクエストします
  • エンドポイントの平均応答時間:現在のエンドポイントの各期間の要求行の応答時間
  • エンドポイント応答時間パーセンタイル:現在のエンドポイントの各期間の応答時間のパーセンテージ
  • エンドポイント成功率:現在のエンドポイントの各期間のリクエスト成功率

3.5トポロジー

トポロジー図は、インジケーターを使用してサービスとインスタンスの関係を示します

  • トポロジは、すべてのサービスを含むデフォルトのグローバルトポロジを示しています。
  • サービスセレクタは、アップストリームとダウンストリームを含む直接的な関係の表示をサポートします。
  • カスタムグループは、サービスグル​​ープのサブトポロジ機能を提供します。
  • サービスをクリックすると、サービスのドリルダウンが開きます。グラフは、選択したサービスを測定、追跡、および照会できます。
  • サービスインジケータの関係は、サービスRPCの相互作用とこれら2つのサービスのインスタンスの測定値を提供します

3.6追跡クエリ

  1. 追跡された部分リストは追跡されたリストではありません。各トレースには、異なるサービスに属するいくつかのセグメントがあります。すべてのサービスまたはトラッキングIDを介してクエリを実行する場合、同じトラッキングIDを持つさまざまなセグメントを一覧表示できます。
  2. スパンがクリック可能かどうかに関係なく、各スパンの詳細が左側にポップアップ表示されます。
  3. 追跡ビューは、追跡を視覚化するための3つの典型的で異なる使用状況ビューを提供します
    ここに画像の説明を挿入

4.アラーム

ここに画像の説明を挿入

# Sample alarm rules.
# 1:过去3分钟内服务平均响应时间超过1秒
# 2:服务成功率在过去2分钟内低于80%
# 3:服务90%响应时间在过去3分钟内低于1000毫秒
# 4:服务实例在过去2分钟内的平均响应时间超过1秒
# 5:端点平均响应时间过去2分钟超过1秒
# 6:数据库的响应时间在最后10分钟的2分钟内超过1秒

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_38130094/article/details/111314266