目次
分散リクエストリンク追跡_SkyWalkingサービス環境構築
分散リクエスト リンク追跡_マイクロサービス アクセス SkyWalking プローブ
分散リクエストリンク追跡_Docker が Elasticsearch 環境を構築
分散リクエストリンク追跡_SkyWalking は永続化のために Elasticsearch を使用します
分散リクエスト リンク トラッキング_SkyWalking カスタム リンク トラッキング
分散リクエストリンク追跡_SkyWalkingサービス環境構築
SkyWalking パッケージをダウンロードする
SkyWalking パッケージを解凍します。
tar -zxvf apache-skywalking-apm-es7-8.5.0.tar.gz -C /usr/local/
SkyWalking パッケージ ディレクトリの紹介
導入:
1. webapp: Ulフロントエンドのjarパッケージと設定ファイル(Web監視ページ)
2. oap-libs: バックグラウンド アプリケーションの jar パッケージとその依存関係の jar パッケージ
3. config: バックグラウンド アプリケーションを起動するための設定ファイル。使用されるさまざまな設定です。
4. bin: さまざまな起動スクリプト。通常、Web ページと対応するバックグラウンド アプリケーションを起動するためにスクリプト start.* を使用します。
5. エージェント: エージェント サービス jar パッケージ
ポート番号を変更する
vim /usr/local/apache-skywalking-apm-bin-es7/webapp/webapp.yml
サービスを開始する
知らせ:
起動が成功すると、2 つのサービスが開始されます。1 つは skywalking-oap-server で、もう 1 つは skywalking-web-ui: 8868 です。skywalkng-oap-server サービスが開始されると、2 つのポート 11800 と 12800 が公開されます。これらは、監視データの収集用のポート 11800 とフロントエンド要求の受け入れ用のポート 12800 です。ポートを変更して config/applicaiton.yml を変更できます。
テストサービス
リクエスト http://192.168.66.100:8068
リアルタイムのエフェクトフィードバック
1. 分散リンク追跡 SkyWalking は UI サービスのポート番号をどのように変更します_____。
appcation.yml
B webapp.yml
C app.yml
上記のDはすべて間違っています
2. 分散リンク追跡 SkyWalking は ___ ファイルで永続モードを設定します。
appcation.yml _
B webapp.yml
C app.yml
上記のDはすべて間違っています
分散リクエスト リンク追跡_マイクロサービス アクセス SkyWalking プローブ
データを収集してアグリゲーターに送信するために使用されるプローブ。
公式プローブをダウンロードする
URL https://skywalking.apache.org/downloads/
プローブ ファイルをプロジェクトにコピーします
プロジェクトの VM 実行パラメータを変更する
メニュー バーで[Run ] -> [EditConfigurations ...]をクリックします。ここでは、 cloud-gateway-gateway9527プロジェクトを例として、パラメーターを次のように変更します。
パラメータを追加する
java -
javaagent:C:\Users\wangc\IdeaProjects\cloud\agent\skywalking-agent.jar
-DSW_AGENT_NAME=consumer-order
-
DSW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.66.101:11800
パラメータ:
1. -javaagent: プローブのパスを指定するために使用されます。
2. -DSW_AGENT_NAME: サービス名
3. -DSW_AGENT_COLLECTOR_BACKEND_SERVICES: 接続アドレス
Javaコマンドライン起動方法
java -javaagent:/path/to/skywalkingagent/skywalking-agent.jar -
DSW_AGENT_NAME=nacos-provider -
DSW_AGENT_COLLECTOR_BACKEND_SERVICES=localhost:11800 -jar yourApp.jar
テストモニタリング
リアルタイムのエフェクトフィードバック
1. マイクロサービスは、___ パラメーターを介して Skywalking プローブにアクセスします。
-javapath
B-エージェント
C -javaagent
D-ジャー
2. マイクロサービスは、___ パラメーターを通じて Skywalking サーバーのアドレスを指定します。
A -COLLECTOR_BACKEND_SERVICES
B -DSW_AGENT__SERVICES
C -DSW_COLLECTOR_BACKEND_SERVICES
D -DSW_AGENT_COLLECTOR_BACKEND_SERVICES
分散リクエストリンク追跡_Docker が Elasticsearch 環境を構築
画像をプルします
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.1.1
コンテナを起動する
docker run -d --name es -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m"
-e "discovery.type=single-node"
docker.elastic.co/elasticsearch/elasticsearch:7.1.1
パラメータ:
1. -d: デーモンの実行
2. ES_JAVA_OPTS: ヒープメモリの設定
3. Discovery.type: 単一ノードの起動を設定します。
テスト
アクセスアドレス:http://192.168.66.101:9200
分散リクエストリンク追跡_SkyWalking は永続化のために Elasticsearch を使用します
config ディレクトリ内の application.yml を変更します。
/usr/local/apache-skywalking-apm-bin-es7/config
名前空間を変更する
ESデータ接続アドレスを変更する
サービスを再起動する
[root@localhost bin]# ./startup.sh SkyWalking OAP が正常に開始されました。SkyWalking Web アプリケーションが正常に開始されました。
リアルタイムのエフェクトフィードバック
1. 分散リンク追跡 Skywalking は、_______ データベースを公式に推奨しています。
エラスティックサーチ
B MySQL
C H2
D TIDB
分散リクエスト リンク トラッキング_SkyWalking カスタム リンク トラッキング
プロジェクト内の一部の重要なメソッドがリンクに追加されておらず、それが必要な場合は、カスタム リンク追跡スパンを追加できます。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-trace</artifactId>
<version>8.5.0</version>
</dependency>
<!--数据库连接池 HikariCP-->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.7.8</version>
</dependency>
設定を追加するYMLファイル
eureka:
client:
# 表示是否将自己注册到Eureka Server
register-with-eureka: true
# 示是否从Eureka Server获取注册的服务信息
fetch-registry: true
# Eureka Server地址
service-url:
defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
instance:
instance-id: payment8003
prefer-ip-address: true
spring:
application:
# 设置应用名词
name: cloud-payment-provider
# 数据库配置
datasource:
name: sonice1024
driver-class-name: com.mysql.jdbc.Driver
url:
jdbc:mysql://192.168.66.101:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8&useSSL=false&useTimezone=true&serverTimezone=GMT%2B8
username: root
password: 123456
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 3
auto-commit: true
idle-timeout: 10000
max-lifetime: 1800000
connection-timeout: 30000
connection-test-query: SELECT 1
server:
port: 8003
メインの起動クラスを作成する
/**
* 主启动类
*/
@EnableEurekaClient
@MapperScan("com.tong.mapper")
@SpringBootApplication
@Slf4j
public class PaymentMain8003 {
public static void main(String[] args) {
SpringApplication.run(PaymentMain8003.class,args);
log.info("********* 服务提供者启动成功******");
}
}
エンティティクラスの書き込み
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
UserMapperを書く
public interface UserMapper extends BaseMapper<User> {}
UserService インターフェイスを作成する
public interface UserService {
List<User> findByAllUser();
}
書き込みインターフェース実装クラス
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Trace
@Override
public List<User> findByAllUser() {
return userMapper.selectList(null);
}
}
ユーザーコントロール層の書き込み
@RequestMapping("user")
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("findByAll")
public List<User> findByAll(){
return userService.findByAllUser();
}
}
http://localhost:8003/user/findByAll をテストします。