변경 추적 기능을 사용하면 다양한 변경이 고객과 시스템에 미치는 영향을 추적할 수 있습니다. 예를 들어 일부 배포를 수행하는 경우 변경 사항 추적 기능을 사용하여 New Relic UI 차트에서 결과를 모니터링할 수 있습니다. 또한 이러한 변경 사항의 영향을 이해하는 데 도움이 되는 기능에 액세스할 수 있습니다.
CLI 또는 CI/CD 통합을 사용하여 모니터링할 변경 사항을 지정하는 대신 NerdGraph API를 통해 GraphQL 변형 및 쿼리를 사용하여 동일한 작업을 수행할 수 있습니다.
NerdGraph 사용에 대한 일반적인 정보는 NerdGraph 소개를참조하십시오. 아직 하지 않았다면 아래에서 무료 New Relic 계정을 만들어 오늘 데이터 모니터링을 시작하십시오.
를 참조하십시오. New Relic 모바일 모니터링 또는 다른 방법으로 이미 버전 번호를 보고한 경우, 여기에서 동일한 것을 사용하여 버전별로 데이터를 패싯하고 상호 연관시킬 수 있는 향후 기능을 설정하는 것이 좋습니다.
팁
레거시 REST API에서 전환하는 경우 appID 대신 애플리케이션의 엔터티 GUID를 사용해야 합니다. 다음 쿼리를 사용하여 NerdGraph에서 GUID를 쉽게 찾을 수 있습니다.
{
actor{
entitySearch(query:"domainId=INSERT_YOUR_APPID"){
count
query
results{
entities{
entityType
name
guid
}
}
}
}
}
추적 중인 변경 내용에 컨텍스트를 추가하기 위해 몇 가지 선택적이고 유용한 속성을 정의할 수 있습니다. 이러한 특성은 특정 변경 내용 추적 기능을 활성화할 수도 있습니다.
기인하다
설명
changelog
changelog 속성에 대한 URL 또는 문자열을 제출할 수 있습니다. 예: changelog: "Added: /v2/deployments.rb, Removed: None" 또는 changelog: "https://github.com/nodejs/node/blob/v4.2.3/CHANGELOG.md" .
description
설명 속성에 대해 임의의 문자열을 제출할 수 있습니다. 예: description: "Added a deployments resource to the v2 API" .
설명 속성은 작업의 조직 또는 비즈니스 측면을 설명하는 각 커밋 또는 배포에 할당하는 ID 또는 태그와 같은 내부 배포 관리 프로세스에서 코드화된 정보를 삽입하도록 선택할 수 있습니다(예: EU_MAINT_DMARK_v101 .
commit
commit 속성에 대한 문자열을 제출할 수 있으며 배포 또는 변경과 관련된 커밋 SHA를 사용하는 것이 좋습니다(예: commit: "r3ws4sa43f" .
deepLink
deepLink 속성에 대한 모든 URL을 제출할 수 있습니다. Jenkins, ArgoCD 또는 GitHub Actions와 같이 New Relic에서 배포를 평가하는 사람이 추가 작업을 수행할 수 있는 위치에 신속하게 도달하는 데 도움이 되는 것을 사용하는 것이 좋습니다. 다음은 예입니다: deepLink: "http://localhost:8080/job/PipelineV2/configure" .
deploymentType
배포와 관련된 변경 사항을 여러 유형으로 나눌 수 있습니다. 이러한 유형은 일반적인 배포 기술과 일치하지만 OTHER 유형도 있습니다. 유형은 다음과 같습니다.
기초적인
블루_그린
카나리아
구르는
그림자
다른
각 배포에 유형을 할당하면 변경 사항 추적 인터페이스 및 NerdGraph/NRQL 쿼리 결과에 대한 결과를 필터링하는 데 도움이 됩니다.
groupId
하나 이상의 엔터티에 대해 일련의 변경을 수행하거나 시스템 내의 여러 엔터티에서 많은 변경 사항을 릴리스하는 경우 배포를 그룹화할 수 있습니다. 각 관련 배포에 대해 동일한 groupID 속성 값을 설정하면 New Relic 인터페이스에서 이러한 변경 사항을 함께 보다 쉽게 확인하거나 groupID 를 사용하여 쿼리 결과를 좁힐 수 있습니다.
groupID 는 선택한 문자열이 될 수 있으며 groupID 를 처음 사용한 후 그룹에 배포를 계속 추가할 수 있습니다(이 배포를 몇 주 또는 몇 달 전에 발생한 배포와 관련시키려는 경우). .
팁
groupId 를 사용하여 많은 배포를 연결하는 것 외에도 속성을 사용하여 장기 실행 변경사항을 정의할 수도 있습니다. 예를 들어 groupId 이 동일한 두 배포는 알림이 억제되거나 일부 마이그레이션이 발생하는 기간을 묶을 수 있습니다.
사용자
모든 문자열이 될 수 있습니다(예: user: "datanerd@example.com" .
New Relic은 timestamp 및 deploymentId 속성을 자동으로 설정합니다. 재정의로 timestamp 값을 제공할 수 있지만 고유성을 보장하기 위해 deploymentId 항상 New Relic에서 생성됩니다.
기인하다
설명
타임스탬프
NerdGraph 호출이 수신된 시간입니다. 여기에서 Unix epoch 이후의 밀리초 수로 재정의를 제공할 수 있습니다. 예: timestamp: 1032480000000.
중요
모든 타임스탬프는 NerdGraph 호출이 수신되는 현재 시간의 +/- 24시간이어야 하며 그렇지 않으면 페이로드가 거부된다는 엄격한 제한이 적용됩니다.
deploymentId
배포가 기록될 때 생성되는 고유 식별자입니다. deploymentId 를 설정할 수는 없지만 NerdGraph 및 NRQL 쿼리에서 이를 사용하여 특정 배포를 찾을 수 있습니다. 다음은 예입니다: deploymentId: “8a3a594c-e726-4bc2-8078-26dffec9a3d8” .
변형을 사용하여 배포 마커 만들기
배포와 같은 변경 사항을 기록하려면 필수 필드를 포함하고 선택적 필드를 포함할지 여부를 결정해야 합니다.
다음은 배포 마커를 생성하는 몇 가지 방법을 보여주는 몇 가지 GraphQL 변형의 예입니다.