목차
분산 요청 링크 추적_마이크로서비스 액세스 스카이워킹 프로브
분산 요청 링크 추적_Docker는 Elasticsearch 환경을 구축합니다.
분산 요청 링크 추적_SkyWalking은 지속성을 위해 Elasticsearch를 사용합니다.
분산 요청 링크 추적_SkyWalking 사용자 지정 링크 추적
분산 요청 링크 추적_스카이워킹 서비스 환경 구축
스카이워킹 패키지 다운로드
SkyWalking 패키지 압축 해제
tar -zxvf apache-skywalking-apm-es7-8.5.0.tar.gz -C /usr/local/
스카이워킹 패키지 디렉토리 소개
소개하다:
1. webapp: Ul 프런트 엔드의 jar 패키지 및 구성 파일(웹 모니터링 페이지)
2. oap-libs: 백그라운드 애플리케이션의 jar 패키지 및 종속 jar 패키지
3. config: 사용되는 다양한 구성인 백그라운드 애플리케이션을 시작하기 위한 구성 파일
4. bin: 다양한 시작 스크립트, 일반적으로 스크립트 startup.*을 사용하여 웹 페이지 및 해당 백그라운드 응용 프로그램을 시작합니다.
5. 에이전트: 에이전트 서비스 jar 패키지
포트 번호 수정
vim /usr/local/apache-skywalking-apm-bin-es7/webapp/webapp.yml
서비스 시작
알아채다:
성공적으로 시작되면 skywalking-oap-server와 skywalking-web-ui:8868 두 개의 서비스가 시작됩니다. skywalkng-oap-server 서비스가 시작된 후 두 개의 포트 11800과 12800이 노출되며, 모니터링 데이터 수집을 위한 포트 11800과 프런트 엔드 요청 수락을 위한 포트 12800입니다. 포트를 수정하여 config/applicaiton.yml을 수정할 수 있습니다.
테스트 서비스
요청 http://192.168.66.100:8068
실시간 효과 피드백
1. 분산 링크 추적 SkyWalking은 UI 서비스 포트 번호를 어떻게 수정합니까_____.
앱케이션.yml
B webapp.yml
C 앱.yml
위의 D는 모두 잘못되었습니다.
2. SkyWalking 분산 링크 추적은 ___ 파일에서 지속 모드를 구성합니다.
앱 케이션.yml
B webapp.yml
C 앱.yml
위의 D는 모두 잘못되었습니다.
분산 요청 링크 추적_마이크로서비스 액세스 스카이워킹 프로브
데이터를 수집하고 수집기로 보내는 데 사용되는 프로브.
공식 프로브 다운로드
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 프로브에 액세스합니다.
A -자바패스
B 에이전트
C - 자바에이전트
D-항아리
2. 마이크로서비스는 ____ 매개변수를 통해 Skywalking 서버의 주소를 지정합니다.
A -COLLECTOR_BACKEND_SERVICES
B -DSW_AGENT__서비스
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 웹 애플리케이션이 성공적으로 시작되었습니다!
실시간 효과 피드백
1. 분산 링크 추적 Skywalking은 공식적으로 _______ 데이터베이스를 권장합니다.
엘라스틱 서치
비 MySQL
C H2
디 티드
분산 요청 링크 추적_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