Skywalking를 사용하여 처음부터 .NetCore 분산 추적 시스템

 

0에서이 기사는 그들과 응답 시간 사이의 관계를 호출 추적 Skywalking를 사용하여, 두 개의 webapi 프로젝트를 빌드합니다. VisualStudio2019을위한 개발 환경

 

1 : 설치 Skywalking가 :, 참조 https://www.cnblogs.com/sunyuliang/p/11422576.html 이 열이 구축 할 수있는 좋은 후 서버 주소를 Skywalking : 192.168.150.134

 
2 : webapi를 제작하는 프로젝트의 데모 1 VS 엽니 다.
 
       2.1 : 프로젝트에 대한 참조 NuGet 패키지를 추가 SkyAPM.Agent.AspNetCore                     
 
                               
 
 
 
  2.2 프로젝트의 루트 디렉토리에 skyapm.json 파일을 추가하고있는 자신의 IP 서버에 서버 노드의 IP 주소가 실제 상황에 따라, 다음에 내용을 추가
{ 
  "SkyWalking"{ 
    "ServiceName은": "Demo01", 
    "네임 스페이스" "" 
    "HeaderVersions": 
      "SW6" 
    , 
    "샘플링"{ 
      "SamplePer3Secs"-1 
      "백분율"-1.0 
    } , 
    "로깅": { 
      "수준": "디버그", 
      "FilePath를": "로그 / skyapm- {날짜} .LOG" 
    }, 
    "전송": { 
      "간격": 3000, 
      "ProtocolVersion": "V6" 
      "QUEUESIZE"30000, 
      "BatchSize에서"3000,
      "gRPC": { 
        "서버": "192.168.150.134:11800", 
        "시간 초과"10000 
        "에 ConnectTimeout": 10000,
        "ReportTimeout": 600000  
      }
    } 
  } 
}

  2.3 : skyapm.json 파일을 수정은 "새로운 경우 복사"를 "복사 디렉토리를 입력하려면"속성

       2.4 : 속성 항목, 환경 변수를 추가하는 열린 launchSettings.json 파일 확장  " SKYWALKING__SERVICENAME " : " ASP-NET 코어 - 프론트 엔드를 " 

                             

  2.5 : 성공적으로 시스템에 도입 된 skywalking까지. 다음으로 우리는 보통, 직접 Ctrl + F5 프로젝트를 시작할지 여부를 테스트하기 위해 온 방문 은 https : // localhost를 : 44313 / API / 값을

         

  2.6 : 액세스 관리 배경을 Skywalking ( 어떤 IP를 대체하는 기억 ) http://192.168.150.134:8080/trace을  . 수동으로 (어떤 시간, 종료 시간 선거 내일 선택한 시간대 또는 skywalking 버그를 모르는 데이터를 검색하지 않습니다 시간 시간 선택 ), 검색을 클릭합니다. 우리는 이번 방문의 추적 정보에 Skywalking에 동기화되어 볼 수 있습니다.

               

 

 단일 시스템보다 더 추적이 완료되면, 우리는 프로젝트 2 단계를 만듭니다 단계 기본적으로 동일, 멀티 트랙 시스템을 살펴보고,이 값의 Skywalking입니다.

 

3 : 다른 webapi의 demo02을 만드는 VS 프로젝트를 다시 엽니 다.
 
       3.1 : 프로젝트에 대한 참조 NuGet 패키지를 추가 SkyAPM.Agent.AspNetCore     
 
                                
              
 
  3.2 프로젝트 루트 디렉토리 skyapm.json 파일에 추가하고, 자신의 IP 서버에 서버 노드의 IP 주소가 실제 상황에 따라하는 다음의 내용을 추가 할 수 있습니다. 상기 식에서 ServiceName은 노드 집합 : Demo02
{ 
  "SkyWalking"{ 
    "ServiceName은": "Demo02", 
    "네임 스페이스" "" 
    "HeaderVersions": 
      "SW6" 
    , 
    "샘플링"{ 
      "SamplePer3Secs"-1 
      "백분율"-1.0 
    } , 
    "로깅": { 
      "수준": "디버그", 
      "FilePath를": "로그 / skyapm- {날짜} .LOG" 
    }, 
    "전송": { 
      "간격": 3000, 
      "ProtocolVersion": "V6" 
      "QUEUESIZE"30000, 
      "BatchSize에서"3000,
      "gRPC": { 
        "서버": "192.168.150.134:11800", 
        "시간 초과"10000 
        "에 ConnectTimeout": 10000,
        "ReportTimeout": 600000  
      }
    } 
  } 
}

  3.3 : skyapm.json 파일을 수정은 "새로운 경우 복사"를 "복사 디렉토리를 입력하려면"속성

       3.4 : 속성 항목을 확장 오픈 launchSettings.json 파일이있는 환경 변수 추가  " ASPNETCORE_HOSTINGSTARTUPASSEMBLIES " : " SkyAPM.Agent.AspNetCore를 " 

                             

 

   3.5에서 ValuesController.cs에서 참조하지 않고 :  사용 , Microsoft.AspNetCore.Mvc  : // localhost를 : 44313 우리 Demo01 프로젝트에 해당하는 HTTPS 내부 차례로 두 가지 방법 Demo01를 호출하여, HttpClient를. 다음과 같이 상세한 Get 메서드 코드는 다음과 같습니다

    

        // GET API / 값 
        [HttpGet]
         공공  비동기 작업 < 문자열 > 가져 오기 () 
        { 
            var에 클라이언트 = 새로운 HttpClient를 ();
            기다리고 client.GetStringAsync를 ( " HTTPS는 : // 로컬 호스트 : 44,313 / API가 / 값 / 1 " );
            반환   기다리고 client.GetStringAsync를 ( " https : //로 로컬 호스트 : 44313 / API / 값 " ); 
        }

                               

 

        3.6 : Ctrl + F5 프로젝트, 방문 시작 에 http : // localhost를 : 21143 / API / 값

 

                                  

 

   3.7 : 액세스 관리 배경을 Skywalking ( 어떤 IP를 대체하는 기억 ) http://192.168.150.134:8080/trace을  . 수동으로 (어떤 시간, 종료 시간 선거 내일 선택한 시간대 또는 skywalking 버그를 모르는 데이터를 검색하지 않습니다 시간 시간 선택 ), 검색을 클릭합니다. 당신은 두 개의 단일 시스템 호출 그래프의 방문이 Skywalking에 동기화되어 볼 수 있습니다

                                  

 

 

 위의 여러 시스템 중 트랙을 완료 한 것, 전체 코드, 잘 구성을 작성하지 않습니다.

 

추천

출처www.cnblogs.com/sunyuliang/p/11424848.html