JMeter의 Dynatrace 백엔드 탐지기

몇 달 전 다이너트레이스는 새로운 JMeter 백엔드 감청기를 발표해 성능 통계 데이터를 JMeter에서 다이너트레이스로 흘렸다.이후 단말기 탐지기는 MINT을 통해 JMeter 메트릭을 다이나트라스 환경으로 전송한다.이 블로그 글은 JMeter에 사용되는 Dynatrace 백엔드 감청기, 이를 어떻게 통합하는지, 계기판을 만드는 방법 등을 소개했다.

선결 조건


JMeter에 Dynatrace 백엔드 탐지기를 통합하기 전에 다음과 같은 선결 조건을 충족시키자.
  • Dynatrace 계정.무료로 sign up으로 전화하세요.
  • 예제 프레젠테이션 어플리케이션이 Dynatrace
  • 과 통합됨
  • Apache JMeter(최신 버전)
  • 예제 JMeter 테스트 프로그램으로 프레젠테이션 어플리케이션에 대한 간단한 로드 테스트를 수행합니다.
  • 단계 1 - JMeter의 JAR 다운로드


    Dynatrace OSS repo에서 JMeter 플러그인을 다운로드합니다.자산에서 최신 버전을 다운로드하면 다음과 같다.

    만약 당신이 직접 건설하고 싶다면, 복제 환매 협의 https://github.com/dynatrace-oss/jmeter-dynatrace-plugin.git을 할 수 있습니다.
    폴더에 cd을 넣고 Powershell에서 .\gradlew build을 실행합니다.
    이렇게 하면 JMeter의 빌드jar이 생성됩니다.jmeter-dynatrace-plugin\build\libs으로 이동합니다.jmeter-dynatrace-plugin-1.3-SNAPSHOT.jar을 JMeter의 lib\ext 폴더로 복사합니다.
    JMeter를 시작하고 실행할 테스트 계획을 엽니다.스레드 그룹 > 추가 > 탐지기 > 백엔드 탐지기를 오른쪽 단추로 누르십시오.
    선택은 com.dynatrace.jmeter.plugins.MintBackendListener으로 다음과 같다.

    다음은 Mint 백엔드 탐지기의 기본 속성입니다.

    2단계 - JMeter 백엔드 탐지기 구성


    JMeter 성능 통계 데이터 흐름을 Dynatrace로 전송하기 위해 탐지기는 Metric Ingest URL, API 영패, 테스트와 사무 차원을 이용한다.
    이 URL은 동적 추적 URL입니다(예: https://<environment_id>.live.dynatrace.com/api/v2/metrics/ingest).
    Dynatrace에 로그인하면 브라우저 URL에서 환경 ID를 복사할 수 있습니다.
    토큰을 생성하려면 Dynatrace 계정에 로그인하여 설정 > 통합 > Dynatrace API로 이동합니다.My Dynatrace API Tokens에서 Generate token을 클릭하면 다음과 같습니다.

    토큰의 이름을 입력하고 API v2에서 Ingest metrics을 선택한 다음 Generate 버튼을 클릭합니다.

    "복사"단추를 누르고 영패를 안전한 곳에 저장합니다. 왜냐하면 머지않아 영패를 다시 볼 수 없기 때문입니다.

    키 = 값 쌍을 사용하여 치수를 지정할 수 있습니다.두 가지 차원이 있는데 그것이 바로 테스트와 테스트 절차(샘플러)와 관련된 도량의 테스트와 사무이다.
    다음은 테스트 수행 중 발표된 MINT 지표입니다.
    다음은 테스트 실행 시 생성될 테스트 Dimensions입니다.
  • jmeter.usermetrics.startedthreads: 시작된 스레드 수
  • jmeter.usermetrics.finishedthreads: 완성된 스레드 수
  • jmeter.usermetrics.minactivethreads: 활동 라인의 최소 수량
  • jmeter.usermetrics.maxactivethreads: 활성 스레드의 최대 수량
  • jmeter.usermetrics.meanactivethreads: 활동 라인의 산술 평균치
  • 예컨대.
    c.d.j.p.MintMetricSender: addMetric(jmeter.usermetrics.minactivethreads,testname=Dynatrace-JMeter.jmx gauge,1.0 1609460965970)
    c.d.j.p.MintMetricSender: addMetric(jmeter.usermetrics.maxactivethreads,testname=Dynatrace-JMeter.jmx gauge,1.0 1609460965971)
    c.d.j.p.MintMetricSender: addMetric(jmeter.usermetrics.meanactivethreads,testname=Dynatrace-JMeter.jmx gauge,1.0 1609460965971)
    c.d.j.p.MintMetricSender: addMetric(jmeter.usermetrics.startedthreads,testname=Dynatrace-JMeter.jmx gauge,1.0 1609460965971)
    c.d.j.p.MintMetricSender: addMetric(jmeter.usermetrics.finishedthreads,testname=Dynatrace-JMeter.jmx gauge,1.0 1609460965971)
    다음은 transactionDimensions입니다.
  • jmeter.usermetrics.transaction.mintime: 슬라이딩 창
  • 에서 요청한 최소 운행 시간
  • jmeter.usermetrics.transaction.maxtime: 슬라이딩 창
  • 에서 요청한 최대 실행 시간
  • jmeter.usermetrics.transaction.meantime: 시간을 거친 산술 평균치
  • jmeter.usermetrics.transaction.receivedbytes: 수신 바이트 수
  • jmeter.usermetrics.transaction.sentbytes: 보낸 바이트 수
  • jmeter.usermetrics.transaction.hits: 서버 조회수
  • jmeter.usermetrics.transaction.error: 실패한 요청 수
  • jmeter.usermetrics.transaction.success: 성공적인 요청 수량
  • jmeter.usermetrics.transaction.count: 총 요청 수량
  • 예컨대.
    addMetric(jmeter.usermetrics.transaction.count,transaction=T00_HomePage,dt.entity.service=SERVICE-XXXXXXXXXXXXXXX gauge,1.0 1609460965969)
    addMetric(jmeter.usermetrics.transaction.success,transaction=T00_HomePage,dt.entity.service=SERVICE-XXXXXXXXXXXXXXX gauge,1.0 1609460965969)
    addMetric(jmeter.usermetrics.transaction.error,transaction=T00_HomePage,dt.entity.service=SERVICE-XXXXXXXXXXXXXXX gauge,0.0 1609460965969)
    addMetric(jmeter.usermetrics.transaction.hits,transaction=T00_HomePage,dt.entity.service=SERVICE-XXXXXXXXXXXXXXXX gauge,1.0 1609460965969)
    addMetric(jmeter.usermetrics.transaction.mintime,transaction=T00_HomePage,dt.entity.service=SERVICE-XXXXXXXXXXXXXXX gauge,26.0 1609460965969)
    사이즈는 옵션입니다.그러나 지표와 유효 하중은 필수적이다.
    jmeter.usermetrics.transaction.count,transaction=T00_HomePagegauge,1.0 1609460965969
    백엔드 탐지기에 모든 값을 추가하면 이렇게 보입니다.모든 값은 하드코딩이 아닌 테스트 계획 변수에서 읽을 것입니다.

    서비스 ID는 어떻게 얻습니까?


    Dynatrace에서 응용 프로그램과 서비스로 이동하고 서비스 이름을 누르십시오.브라우저 URL에서 서비스 ID를 가져올 수 있습니다.
    예: https://<environment_id>.live.dynatrace.com/#newservices/serviceOverview;id=<SERVICE-XXXXXXXXXXXXXXXX>;gtf=-2h;gf=all문자열 SERVICE- 및 17 길이 문자열을 포함하는 서비스 id를 JMeter에 복사합니다.

    단계 3 - 테스트 실행


    CLI 모드에서 테스트를 시작합니다.테스트가 실행될 때 Dynatrace로 이동하고 프로그램이나 업무와 서비스를 눌러서 Dynatrace에서 부하 테스트 데이터를 볼 수 있도록 합니다.
    7000 포트 Flask 에서 데모 애플리케이션을 실행하고 있습니다.프레젠테이션 프로그램과 Dynatrace 사이의 통합이 유효하면 다음과 같은 데이터를 볼 수 있습니다.

    JMeter 지표를 보려면 Dashboard > Create Dashboard 로 이동하여 유효한 이름을 입력한 다음 Create 를 클릭합니다.
    대시보드에 사용자 정의 차트를 끌어다 놓고 사용자 정의 차트 구성 을 클릭합니다.
    클릭해봐.

    아래와 같이 jmeter 을 입력합니다.Dynatrace는 사용 가능한 모든 지표를 나열합니다.

    최대 활성 스레드 수를 얻으려면 jmeter.usermetrics.maxactivethreads을 입력하고 Add Metric(메트릭 추가)를 클릭합니다. 메트릭을 추가하려면 Run query(쿼리 실행)를 클릭합니다.

    설정에서 그래픽과 색상을 사용자 정의할 수 있습니다.

    다음은 그것이 단가의 가시화를 어떻게 찾는가이다.

    위의 차트를 고정하려면 대시보드에 고정을 클릭하고 제목을 입력한 다음 고정을 클릭한 다음 대시보드 열기를 클릭합니다.

    대시보드 보기입니다.

    이것은 내가 맞춤 제작한 계기판의 예이다.너무 예쁘지 않아요?

    마지막 말


    Dynatrace의 JMeter 백엔드 탐지기는 성능 통계 데이터를 Dynatrace로 직접 전송합니다.DYNAMETER와 헤드 지표를 비교하는 것이 도움이 될 것입니다.일반적으로 나는 프로그래머에게 이 두 가지 지표를 보여주지만, 이러한 통합을 통해 JMeter 지표를 계기판으로 옮겨서 시간과 정력을 절약할 수 있다.

    좋은 웹페이지 즐겨찾기