클라이언트 액세스 .NET 코어를 skywalking-02-skywalking

Skywalking 닷넷 핵심 클라이언트 액세스

빌드 Skywalking 서비스의 끝이 도입되기 전에,이 글, 우리는 .NET의 핵심 응용 프로그램을 모니터링, 그물 코어 클라이언트에 프로브를 액세스합니다.

A. Nuget 패킷 소개

그들의 새로운 프로젝트 또는 이전 프로젝트를 수행하는 webAPI을. nuget 패키지 내부의 패키지 관리자 검색 : SkyAPM.Agent.AspNetCore, 이번에는 0.8.0 버전을 사용

.NET의 skyapm 包 핵심 덩어리의 .PNG

II. 환경 변수 추가

환경 변수 ASPNETCORE_HOSTINGSTARTUPASSEMBLIES = SkyAPM.Agent.AspNetCore 추가 다음과 같은 방법으로 환경 변수를 추가

  • 직접 그래서 프로젝트의 모든 사항을 적용 할 수 있으며, 시스템 환경 변수를 추가

    .png를 시스템 환경 변수

  • 프로젝트에 추가, 당신은 할 수 launchSettings.json구성 내에서 항목을 추가하기 시작하거나, 두 가지 효과는 동일합니다

III. 프로필을 추가

로딩 순서는 기본 구성을로드하도록 구성되어 소스 코드에서 발견 구성을 추가하는 방법은 여러 가지가 있는데,이된다 ( 당신이 AddSkyWalkingDefaultConfig 모든 기본 구성 skywalking.json의 항목을 포함하는 소스 코드를 볼 입력 할 수 있습니다 ), 다음 appsettings.json로드, skywalking.json 모든 skywalking.json의 기본 구성이 완전히 먼저 제거하고 사실, 더 간결 포인트를 필요로 할 때 설정할 수 있습니다, 우리가 skywalking.json이 필요합니다, 당신은 단지 appsettings.json 사용할 수 있습니다.

builder.AddSkyWalkingDefaultConfig();

builder.AddJsonFile("appsettings.json", true).AddJsonFile($"appsettings.{environmentProvider.EnvironmentName}.json", true);

builder.AddJsonFile("skywalking.json", true).AddJsonFile($"skywalking.{environmentProvider.EnvironmentName}.json", true);

자동 스크립트에 의해 생성 1. ​​SkyWalking 명령

먼저 다음 명령을 사용하여 SkyWalking DOTNET CLI를 설치

dotnet tool install -g SkyWalking.DotNet.CLI

설치가 완료되면이 단계는, 당신은 또한 현재 시스템에 .NET의 핵심 요원으로 선택할 수 있습니다 (옵션, 나중에 사용하는 방법을 썼다)

dotnet skywalking install

설치의이 단계는 다음과주의가 필요합니다 :

  • cmd를 실행하려면 관리자 권한을 사용하여
  • 실행은 C 드라이브 경로로 절단해야
  • 은 "경로 '06806e6c49431d12b85aaa5db07b8705d5b317'에 대한 액세스가 거부되었습니다"경우 오류, 삭제 사항 : "C / 사용자 / 사용자 이름 /AppData/Local/Temp/skywalking.agent.aspnetcore", 다시 실행 후,

설치가 느려질 수 있습니다,하지만 우리는 최종 출력 될 때까지 기다려야 SkyWalking .NET Core Agent was successfully installed만 성공 대신

그런 다음 생성하는 명령을 사용하여 skywalking.json구성 파일을

dotnet skywalking config [application_code] [collector_server]
{
  "SkyWalking": {
    "ServiceName": "your_service_name",
    "Namespace": "",
    "HeaderVersions": [
      "sw6"
    ],
    "Sampling": {
      "SamplePer3Secs": -1,
      "Percentage": -1.0
    },
    "Logging": {
      "Level": "Information",
      "FilePath": "logs/skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "ProtocolVersion": "v6",
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        "Servers": "localhost:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000
      }
    }
  }
}

2. 직접 .NET 프로필 appsettings.json 코어

이러한 방법으로 비교적 간단하고 직접적인 skywalking 라인에 appsettings.json 구성 노드에서 프로젝트에 참여한다

"SkyWalking": {
    //服务名
    "ServiceName": "Aggreg_2",
    "Logging": {
      "Level": "Information",
      "FilePath": "logs\\skyapm-{Date}.log"
    },
    "Transport": {
      "gRPC": {
        //采集的地址
        "Servers": "192.168.1.219:11800"
      }
    }
  }

IV. 서비스를 시작

서비스를 시작한 후, 당신은에 따라 생성 된 로그 형식을 볼 내부의 프로젝트 폴더에 파일을 기록 할 수 있습니다

로그 .PNG를 생성

이 정보 성공에 대한 액세스 권한을 무엇을 의미하는지보기

.PNG 로그인

그런 다음 UI 인터페이스의 효과를보기 위해, 여러 번 요청할 수 있습니다, 당신이 그림에서 서비스 이름을 볼 수 있습니다, 요청이있을 수 있습니다

.png를 렌더링

V. 확장

현재 서비스가 점점 더 있으면 업그레이드가 다음 필요로 할 때, 경우, 각 서비스는 매우 빠르게 skywalking 인해 현재의 개발에, 프로브의 도입을 필요로 패키지를 nuget 도입하여 .NET 코어 에이전트를 설치 한 모든 서비스 패키지를 nuget 대체 될 매우 귀찮은 우리는 .NET의 핵심 응용 프로그램에 액세스하는 데 로컬에 설치 이전에 언급 한 프로브를 사용할 수있는이 시간 있도록 (현재이 방법을 시도하지 않은,하지만 관련 블로그를 참조), 환경 변수 및 구성 파일을 구성하기로 합의 후, 다음 명령을 실행할 수 있습니다

set DOTNET_ADDITIONAL_DEPS=%PROGRAMFILES%\dotnet\x64\additionalDeps\skywalking.agent.aspnetcore

dotnet run

물론, 지금은 매우 빠르게 발전 skywalking, 많은 구성 요소는 점차적으로 지원하지만, 지금은 SQL 쿼리 인터페이스와 기능이 이미 충분히 완료됩니다.

추천

출처www.cnblogs.com/xuemiao/p/11669540.html