Skywalking을 단계별로 구축하고 분산 링크 추적을 통해 플레이해 보세요.

스카이워킹이란 무엇인가

Skywalking은 분산 시스템을 위한 성능 모니터링 도구입니다.

문서 주소:https://skyapm.github.io/document-cn-translation-of-skywalking/

기능:

  • 서비스, ​​서비스 인스턴스, 엔드포인트 지표 분석
  • 근본 원인 분석
  • 서비스 토폴로지 다이어그램 분석
  • 서비스, ​​서비스 인스턴스 및 엔드포인트 종속성 분석
  • 느린 서비스 및 엔드포인트가 감지되었습니다.
  • 성능 최적화
  • 분산 추적 및 컨텍스트 전파
  • 데이터베이스 액세스 측정항목
  • 경보

Skywalking의 독립형 버전 설치

다운로드

저와 같은 버전을 사용하는 것을 추천드립니다. 현재 스카이워킹은 아직 비교적 활발한 개발 단계입니다. 버전마다 성능이 다르기 때문에 불필요한 함정을 밟지 않도록 저와 일관성을 유지하는 것이 가장 좋습니다.

환경적 요구

  • JDK 버전은 JDK8-JDK12 사이입니다.
    • ElasticSearch7 버전을 사용하는 경우 JDK11+가 필요합니다.
  • 다음 포트를 사용할 수 있는지 확인하십시오.
    • 11800: 스카이워킹과의 통신을 위한 gRPC 포트
    • 12800 : 스카이워킹과 통신하기 위한 HTTP 포트
    • 8080: UI가 차지하는 포트

다음 명령을 사용하여 포트가 점유되어 있는지 확인할 수 있습니다.

#Linux/macOs
netstat -an|grep 8080
#对于使用windows的同学,可以使用
netstat -ano|findstr 8080

결과가 없으면 8080번 포트가 사용되지 않는다는 의미이며, 다른 포트에서도 마찬가지입니다.

설치 및 시작

Skywaling 설치는 ​​비교적 간단합니다. 압축을 풀고 운영 체제에 따라 해당 명령을 실행하면 됩니다.

리눅스 또는 macOS

구현하다:

cd apache-skywalking-apm-bin/bin
sh startup.sh

윈도우

구현하다:

cd apache-skywalking-apm-bin/bin
startup.bat

시작한 후 이 메시지가 표시되면 시작이 성공한 것입니다.
여기에 이미지 설명을 삽입하세요.
성공적으로 시작되지 않으면 로그 디렉터리로 전환하여 로그 세부정보를 볼 수 있습니다.

성공적인 시작 후localhost:8080:를 방문합니다.여기에 이미지 설명을 삽입하세요.

스카이워킹이 건설됐는데 어떻게 사용하나요?
사용 방법에 대한 메모도 작성했습니다. 살펴보겠습니다.

스카이워킹 이용

본 문서는 Skywalking6.6.0을 기준으로 작성되었으며 이론적으로 Skywalking6.0+의 모든 버전을 지원합니다.

이 문서에서는 Skywalking 모니터링 애플리케이션을 사용하는 방법을 설명합니다.
Skywalking을 사용하는 방법은 여러 가지가 있지만 가장 널리 사용되고 가장 강력한 사용 방법은 Java 에이전트를 기반으로 하는 것입니다.

Java 에이전트 구성

  • SkyWaking 패키지에서agent디렉터리
  • agent디렉토리를 원하는 위치로 복사
  • 구성config/agent.config
    • 변경agent.service_name 마이크로서비스 이름:
    • 스카이워킹과 마이크로서비스가 서로 다른 서버에 배포된 경우 Collector.backend_service 값도 수정해야 합니다. 이 구성은 마이크로서비스와 스카이워킹 간의 통신 주소를 지정하는 데 사용됩니다. 기본값은127.0.0.1:11800. 수정만 하면 됩니다. 물론agent.config 파일에는 많은 구성이 있습니다. 특정 구성에 대해서는 공식 문서를 확인할 수 있습니다.

에이전트 디렉터리를 데스크톱에 복사한 다음 Agent.service_name을 자체 서비스 이름으로 수정했습니다.
여기에 이미지 설명을 삽입하세요.

신청 시작

java -jar애플리케이션 시작
예를 들어 Spring Boot 애플리케이션이 있는 경우 agent 디렉토리를 수정한 후:

  • 시작하려면 다음 명령을 실행하십시오.
    # 注意-javaagent必须在-jar之前
    java -javaagent:/Users/weichenglong/Desktop/agent/skywalking-agent.jar -jar aym-api.jar
    
  • IDE에서 테스트를 시작한다면 아래 구성을 참고한 후 시작하세요.
    여기에 이미지 설명을 삽입하세요.

프로젝트를 시작한 후 프로젝트의 Rest API를 호출하여 몇 가지 테스트를 수행할 수 있습니다. 여기서는 IDEA의 플러그인인 RestfulTool을 사용했습니다.
여기에 이미지 설명을 삽입하세요.

설치 후에는 현재 프로젝트의 모든 API를 자동으로 식별할 수 있습니다.
여기에 이미지 설명을 삽입하세요.

이 플러그인을 통해 우리는 마음대로 여러 인터페이스에 액세스할 수 있습니다.
여기에 이미지 설명을 삽입하세요.

그런 다음 페이지에 다시 들어가서 오른쪽 상단에 있는 새로 고침을 클릭하면 다음 정보를 볼 수 있습니다.여기에 이미지 설명을 삽입하세요.
프로젝트의 CPM이 페이지에 표시됩니다. cpm은 어느 정도 사용할 수 있습니다. 현재 애플리케이션의 처리량이나 동시성 수를 반영
하고 가장 느린 엔드포인트도 표시할 수 있습니다.

API 응답 시간에 해당하는 통계는 다음과 같습니다.
여기에 이미지 설명을 삽입하세요.

두 번째는 데이터베이스 보기입니다.
여기에 이미지 설명을 삽입하세요.
평균 응답 시간, 처리량, 서비스 품질, 응답 시간 등과 같은 데이터베이스의 일부 통계 정보를 표시할 수 있습니다. 데이터 베이스.

일반적으로 우리는 데이터베이스 응답 시간, 처리량 및 응답 시간의 통계 값에 더 많은 관심을 기울일 것이며 프로젝트에서 가장 느린 API에 대해 가장 우려할 것입니다.

토폴로지 맵을 클릭하세요여기에 이미지 설명을 삽입하세요.
여기에서 사용자의 요청이 어디로 가는지 확인할 수 있습니다.
이 사진은 여전히 ​​의미가 깊습니다. 개발자에게는 각 서비스의 위치를 ​​확인할 수 있으며, 건축가에게는 현재 프로젝트의 구현이 자신의 계획과 일치하는지 확인하는 데에도 도움이 될 수 있습니다. .

여기에 이미지 설명을 삽입하세요.
서비스를 클릭하면 일부 세부 정보가 표시되고 응답 시간, CPM 등과 같은 일부 성과 지표가 나열될 수도 있습니다.

클릭 추적:
여기에 이미지 설명을 삽입하세요.
스카이워킹 전체에서 가장 중요한 탐색입니다. 이 페이지에서는 특정 애플리케이션의 어떤 API에 액세스했는지, 총 소요 시간이 얼마나 되었는지 자세히 표시할 수 있습니다. , 각 단계마다 API가 얼마나 걸리나요?

예:
여기에 이미지 설명을 삽입하세요.
/products 이 API에는 총 8871밀리초가 소요되었습니다.

그 중:
여기에 이미지 설명을 삽입하세요.
SpringMVC에 5980밀리초가 소요되었습니다.

자세한 내용을 보려면 클릭하세요:
여기에 이미지 설명을 삽입하세요.
접속된 데이터베이스 정보와 실행된 sql을 볼 수 있습니다. mysql 반복성 검증을 위한 sql은 다음과 같습니다.

아래를 보세요:
여기에 이미지 설명을 삽입하세요.
실제로 비즈니스를 실행하는 SQL입니다.

마지막은 커밋입니다.
여기에 이미지 설명을 삽입하세요.

여기에서 각 단계마다 소요되는 시간을 한 눈에 확인할 수 있습니다.

애플리케이션 성능이 요구 사항을 충족하지 못하는 것으로 확인되면 페이지 왼쪽 끝을 추적하여 어떤 API가 너무 오래 걸리는지 추적할 수 있습니다.
오른쪽을 통해 API 실행이 느린지, 데이터베이스 액세스가 느린지, API 중 어떤 부분이 너무 오래 걸리는지 분석하여 빠르게 분석할 수 있습니다.

이러한 방식으로 성능 병목 현상을 발견하면 표적이 될 수 있습니다.

동시에 Skywalking에는 경보와 표시기를 비교할 수 있는 기능도 있습니다.
여기에 이미지 설명을 삽입하세요.

스카이킹의 기능이 여전히 매우 강력하다는 것을 찾는 것은 어렵지 않습니다.

Supongo que te gusta

Origin blog.csdn.net/qq_45455361/article/details/121524992
Recomendado
Clasificación