서비스 재매핑 규칙 (Service remapping rules)
트레이서 구성을 바꾸거나 코드를 재배포하지 않고도 서비스가 Datadog 전반에 표시되는 방식을 업데이트할 수 있어요. 서비스 재매핑 규칙을 사용하면 서비스를 이름 변경, 병합, 분할하거나 인프라 태그를 기반으로 새 서비스를 만들 수 있어요. 추론 서비스, 데이터스토어, 큐처럼 다른 엔터티 유형에 대해서도 재매핑 규칙을 만들 수 있어요.
출처: 문서
본문
개요 (Overview)
트레이서 구성을 바꾸거나 코드를 재배포하지 않고도 서비스가 Datadog 전반에 표시되는 방식을 업데이트할 수 있어요. 서비스 재매핑 규칙을 사용하면 서비스를 이름 변경, 병합, 분할하거나; Datadog UI의 인프라 태그를 기반으로 새 서비스를 만들 수 있어요. 추론 서비스, 데이터스토어, 큐 같은 다른 엔터티 유형에 대해서도 재매핑 규칙을 만들 수 있어요.
{% alert level="info" %} 각 조직은 최대 100개의 재매핑 규칙을 보유할 수 있어요. {% /alert %}
사전 요구 사항 (Prerequisites)
재매핑 규칙을 만들고, 편집하고, 삭제하려면 APM 서비스 재매핑 쓰기 권한(apm_service_renaming_write)이 있어야 해요. Datadog 역할 기반 액세스 제어에 대한 자세한 내용은 권한 (Permissions)을 참고하세요.
트레이서 버전 요구 사항 (Tracer version requirements)
지원되는 트레이서 버전으로 계측된 서비스에 대해서만 서비스 재매핑 규칙을 만들 수 있어요. 서비스가 이전 트레이서 버전에서 데이터를 보고하면 해당 서비스에 재매핑 규칙을 만들기 전에 SDK를 업그레이드하세요.
참고: 이는 계측된 서비스에만 적용돼요. 추론 서비스, 데이터스토어, 큐를 재매핑할 때는 트레이서 버전 요구 사항이 없어요.
| 언어 (Language) | 최소 지원 트레이서 버전 (Minimum supported tracer version) |
|---|---|
| C++ | 모든 버전 지원 |
| Dotnet | 3.4.0 |
| Go | 1.55.0 |
| Java | 1.20.0 |
| JavaScript | 3.37.0-3.x 또는 4.16.0 |
| PHP | 0.94.1 |
| Python | 1.19.0 |
| Ruby | 1.15.0 |
서비스 재매핑 규칙 만들기 (Create a service remapping rule)
1단계: 재매핑 작업과 대상 엔터티 선택 (Step 1: Select remapping action and entities to target)
- Datadog에서 APM > Catalog > Manage > 서비스 재매핑 (Service Remapping)으로 이동해요. 계측된 서비스를 재매핑하려면 Add Service Rule을 클릭해요. 추론 서비스, 데이터스토어, 큐를 재매핑하려면 Inferred Entity Rules 탭을 선택하고 Add Inferred Entity Rule을 클릭해요.
또는 APM > Catalog로 이동해 서비스를 클릭해 서비스 사이드 패널을 열어요. 그곳에서 Service Page > Service Remapping을 클릭해요.
{% image source="https://docs.dd-static.net/images/tracing/services/renaming_rules/service-side-panel.41c140a9d03535155d3a75b1f54f3a85.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/services/renaming_rules/service-side-panel.41c140a9d03535155d3a75b1f54f3a85.png?auto=format&fit=max&w=850&dpr=2 2x" alt="The side panel for a service, showing the Service Page dropdown menu with a Service Remapping option" /%}
-
새 재매핑 규칙에 수행할 재매핑 작업을 선택해요.
- Remap services를 선택해 단일 엔터티를 분할하거나, 엔터티 이름을 변경하거나, 여러 엔터티를 병합하거나, 여러 엔터티를 이름 변경해요.
- Correlate telemetry를 선택해 인프라 태그를 기반으로 서비스를 식별해요.
-
검색창을 사용해 재매핑할 엔터티를 선택해요.
- 하나 이상의 엔터티를 선택할 수 있지만 모두 동일한 유형(서비스, 추론 서비스, 데이터스토어 또는 큐)이어야 해요. 서비스는 표시 이름 메타데이터가 아니라
service또는peer.service태그를 기준으로 선택해요. - 엔터티를 선택하면 백그라운드에서 스팬 쿼리가 생성돼요. 쿼리를 편집하려면 Build Advanced Query를 선택해요.
- 서비스를 인프라 태그와 상관시키는 경우 하나의 서비스만 선택할 수 있어요. 텔레메트리를 상관시킬 인프라 태그를 선택해요. 선택한 서비스와 동일한 인프라 태그를 가진 모든 텔레메트리는 하나의 통합된 서비스 이름으로 재매핑돼요.
- 하나 이상의 엔터티를 선택할 수 있지만 모두 동일한 유형(서비스, 추론 서비스, 데이터스토어 또는 큐)이어야 해요. 서비스는 표시 이름 메타데이터가 아니라
2단계: 새 엔터티 이름 지정 (Step 2: Specify new entity name)
텍스트 상자에 선택한 엔터티(들)의 고유한 이름을 입력해요. 또는 {{tagName}} 구문으로 태그 값을 사용해 엔터티의 태그를 기준으로 재매핑할 수 있어요. 입력하면 새 서비스 이름의 미리 보기가 표시돼요.
- 태그 값이 패턴을 따르면 정규 표현식을 적용해 이름에 원하는 부분만 추출해요. 참고: 미리 보기는 전체 목록이 아니에요. 여러 값을 가진 태그를 기반으로 서비스를 재매핑하면 스팬이 가장 많은 값만 미리 보기에 표시돼요.
3단계: 규칙 이름 짓기 및 검토 (Step 3: Name your rule and review)
- 선택 사항으로, 나중에 식별할 수 있도록 재매핑 규칙에 설명적인 이름을 입력해요.
- 재매핑 규칙을 검토하고 저장해요. 규칙을 저장한 후 효과가 나타나기까지 약 1분이 걸릴 수 있어요.
Bits Chat으로 서비스 재매핑 (Service remapping with Bits Chat)
Bits Chat 서비스 재매핑 스킬로 서비스 이름을 변경해요. 스킬을 활성화하려면 Bits AI > Bits Chat > Settings로 이동해요. Skills로 가서 service-remapping을 켜요. 그런 다음 Bits Chat에 재매핑 규칙을 만들고, 삭제하고, 업데이트하도록 요청해요.
재매핑 규칙 동작 (Remapping rules behavior)
재매핑 규칙은 서비스를 재매핑할 때 service 태그를, 추론 서비스·데이터스토어·큐를 재매핑할 때 peer.service 태그를 재정의하는 방식으로 동작해요. 서비스는 수집(intake) 시점에 재매핑되며, 서비스 이름을 지정하는 기존 구성은 재매핑 규칙이 생성되어도 변경되지 않아요. 서비스 재매핑 규칙은 다른 모든 서비스 이름 구성보다 우선해요.
재매핑 규칙은 APM, Logs, Metrics, USM, DSM, DJM, DBM, Profiling, NPM, Live Processes, Live Containers, Kubernetes, Events 전반에 적용돼요.
- 과거 데이터: 재매핑 규칙으로 인한 변경은 규칙이 활성 상태인 동안 수집된 텔레메트리에만 영향을 주며, 과거 데이터는 소급 업데이트되지 않아요. 규칙을 삭제하거나 수정하면 새 데이터에 적용되지 않지만 이전에 수집된 데이터의 이름은 되돌리지 않아요.
- 규칙 순서: 서비스 재매핑 규칙은 순서대로 적용돼요. 규칙 목록 상단의 규칙이 먼저 적용돼요. 서비스는 이를 포착하는 첫 번째 규칙에 의해서만 재매핑돼요(여러 규칙이 같은 서비스에 적용되지 않아요).
- 정규 표현식: 정규 표현식으로 새 서비스 이름을 정의할 수 있지만, 캡처 그룹 안에서는 탐욕적 수량자(greedy quantifier)를 사용할 수 없어요.
- 로그 서비스 리매퍼: 서비스 재매핑 규칙은 로그 파이프라인보다 먼저 적용돼요. 로그 서비스 리매퍼와 재매핑 규칙이 모두 서비스에 적용되면 재매핑 규칙이 우선해요.
- 대시보드와 모니터: 이전 서비스 이름을 참조하는 기존 쿼리는 자동으로 업데이트되지 않아요. 이를 수동으로 검토·업데이트하세요. 통합 및 커스텀 재정의: 통합 재정의나 커스텀 재정의가 재매핑 규칙 범위에 포함되면 함께 재매핑돼요. 최상의 APM 환경을 위해 통합 재정의를 제거하세요.
- 서비스 이름 지정 계층: 서비스 이름은 다음 계층에 따라 높은 우선순위에서 낮은 우선순위로 결정돼요:
- 서비스 재매핑 규칙
- 코드에서 정의된 서비스 (
tracer.Start(WithService(xx))) - 시스템 속성에서 정의된 서비스 (
-Ddd.service={}) - 환경 변수에서 정의된 서비스 (
DD_SERVICE) - 구성 파일에서 정의된 서비스 (
application_monitoring.yaml)
더 알아보기 (Learn more)
도움이 되는 추가 문서, 링크, 아티클이에요: