- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Supported OS
Datadog은 Istio 환경의 모든 부분을 모니터링하므로 다음과 같은 작업을 할 수 있습니다.
Datadog으로 Istio 환경을 모니터링하는 방법에 대해 자세히 알아보려면 블로그 포스트 모니터링을 참조하세요.
컨테이너화된 환경에서 통합 설정에 대한 일반 지침은 쿠버네티스(Kubernetes)에서 자동탐지 통합 설정하기 또는 도커(Docker)에서 자동탐지 통합 설정하기를 참조하세요.
본 개방형메트릭 기반 통합은 최신 모드(use_openmetrics: true
) 및 레거시 모드(use_openmetrics: false
)로 구성되어 있습니다. 최신 기능을 모두 사용하려면 Datadog은 최신 모드를 활성화할 것을 권장합니다. 자세한 정보를 확인하려면 개방형메트릭 기반 통합을 위한 최신 및 레거시 버전 관리를 참조하세요.
Istio 메트릭을 수집하는 Datadog 인스턴스가 여러 개 존재하는 경우 모든 인스턴스에서 동일한 모드를 사용하고 있는지 확인하세요. 그렇지 않으면 Datadog 사이트에서 메트릭 데이터가 변동될 수도 있습니다.
[OpenMetrics V1]
, [OpenMetrics V2]
또는 [OpenMetrics V1 and V2]
로 표시된 메트릭은 해당 Istio 통합 모드에서만 사용할 수 있습니다. Istio v1.5+
로 표시된 메트릭은 Istio 버전 1.5 이상에서 수집됩니다.
Istio는 Datadog 에이전트에 포함되어 있습니다. Istio 서버 또는 클러스터에 Datadog 에이전트를 설치하여 Istio에 포인팅되도록 합니다.
Istio의 Envoy 프록시를 모니터링하려면 Envoy 통합을 설정합니다.
Istio v1.5+를 모니터링하기 위한 Prometheus 형식의 메트릭용 Istio 아키텍처와 매칭되는 두 가지 핵심 구성 요소가 있습니다.
istio-proxy
사이드카 컨테이너istiod
서비스모두 istio
에이전트 점검으로 실행되지만 책임은 서로 다르며 별도로 설정됩니다.
기본 istio.d/auto_conf.yaml
파일은 각 istio-proxy
사이드카 컨테이너에 대한 모니터링을 자동 설정합니다. 에이전트는 자동으로 감지되는 각 사이드카 컨테이너에 대한 점검을 초기화합니다. 본 설정은 각 사이드카 컨테이너가 노출하는 데이터에 대한 istio.mesh.*
메트릭의 보고를 활성화합니다.
통합의 데이터 플레인 부분을 사용자 지정하려면 커스텀 Istio 설정 파일 istio.yaml
을 생성합니다. 쿠버네티스(Kubernetes) 통합 설정 또는 도커(Docker)의 자동탐지로 통합 설정을 참조하세요.
본 파일에는 다음이 포함되어야 합니다.
ad_identifiers:
- proxyv2
- proxyv2-rhel8
init_config:
instances:
- use_openmetrics: true
send_histograms_buckets: false
istio_mesh_endpoint: http://%%host%%:15020/stats/prometheus
tag_by_endpoint: false
추가 설정으로 해당 파일을 사용자 지정합니다. 사용 가능한 모든 설정 옵션을 확인하려면 istio.d/conf.yaml 샘플을 참조하세요.
Istio 컨트롤 플레인을 모니터링하고 mixer
, galley
, pilot
, citadel
메트릭을 보고하려면 에이전트가 istiod
배포를 모니터링하도록 설정해야 합니다. Istio v1.5 이상에서는 istio-system
네임스페이스에서 istiod
배포에 다음 포드 어노테이션을 적용합니다.
ad.datadoghq.com/discovery.checks: |
{
"istio": {
"instances": [
{
"istiod_endpoint": "http://%%host%%:15014/metrics",
"use_openmetrics": "true"
}
]
}
}
참고: 주석 v2는 에이전트 v7.36 이상에서 지원됩니다.
ad.datadoghq.com/<CONTAINER_IDENTIFIER>.checks: |
{
"Istio": {
"istiod_endpoint": "http://%%host%%:15014/metrics",
"use_openmetrics": "true"
}
}
본 어노테이션은 컨테이너 discovery
를 지정하여 이 포드의 Istio 컨테이너의 기본 컨테이너 이름과 매칭합니다. 지정합니다. 만약 다른 경우 해당 어노테이션 ad.datadoghq.com/<CONTAINER_NAME>.checks
을 Istio 컨테이너의 이름(.spec.containers[i].name
)으로 교체합니다.
해당 어노테이션을 적용하는 방식은 사용하는 Istio 배포 전략(Istioctl, Helm, 오퍼레이터)에 따라 달라집니다. 해당 포드 어노테이션을 적용하는 적합한 방법을 확인하려면 Istio 문서를 참조합니다. 사용 가능한 모든 설정 옵션은 istio.d/conf.yaml 샘플을 참조합니다.
[컨테이너에 Datadog 에이전트]를 설치하는 경우13, Datadog은 먼저 Istio의 사이드카 삽입을 비활성화할 것을 권장합니다.
Istio 버전 >= 1.10:
datadog-agent
DaemonSet에 sidecar.istio.io/inject: "false"
라벨을 추가합니다.
# (...)
spec:
template:
metadata:
labels:
sidecar.istio.io/inject: "false"
# (...)
kubectl patch
명령으로도 해당 작업을 수행할 수 있습니다.
kubectl patch daemonset datadog-agent -p '{"spec":{"template":{"metadata":{"labels":{"sidecar.istio.io/inject":"false"}}}}}'
Istio 버전 <= 1.9:
datadog-agent
DaemonSet에 sidecar.istio.io/inject: "false"
어노테이션을 추가합니다.
# (...)
spec:
template:
metadata:
annotations:
sidecar.istio.io/inject: "false"
# (...)
kubectl patch
명령어를 사용합니다.
kubectl patch daemonset datadog-agent -p '{"spec":{"template":{"metadata":{"annotations":{"sidecar.istio.io/inject":"false"}}}}}'
에이전트 버전 > 6.0에서 사용 가능
먼저 Datadog 에이전트를 활성화하여 쿠버네티스(Kubernetes)에서 로그 수집을 실행합니다. 쿠버네티스(Kubernetes) 로그 수집을 참조하세요.
컨트롤 플레인(istiod
)에서 Istio 로그를 수집하려면 istio-system
네임스페이스에서 다음 배포용 포드 어노테이션 istiod
을 적용합니다.
ad.datadoghq.com/discovery.logs: |
[
{
"source": "istio",
"service": "<SERVICE_NAME>"
}
]
본 어노테이션은 컨테이너 discovery
를 지정하여 이 포드의 Istio 컨테이너의 기본 컨테이너 이름과 매칭합니다. 만약 다른 경우 해당 어노테이션 ad.datadoghq.com/<CONTAINER_NAME>.logs
을 Istio 컨테이너의 이름(.spec.containers[i].name
)으로 교체합니다.
<SERVICE_NAME>
을 원하는 Istio 서비스 이름으로 변경합니다.
Envoy를 수집하려면 데이터 플레인(istio-proxy
)에서 로그에 액세스합니다.
istio-proxy
컨테이너가 삽입된 포드에 다음 어노테이션을 적용합니다.ad.datadoghq.com/istio-proxy.logs: |
[
{
"source": "envoy",
"service": "<SERVICE_NAME>"
}
]
본 어노테이션은 컨테이너 istio-proxy
를 지정하여 삽입된 Istio 사이드카 컨테이너의 기본 컨테이너 이름과 매칭합니다. 만약 다른 경우 해당 어노테이션 ad.datadoghq.com/<CONTAINER_NAME>.logs
을 Istio 사이드카 컨테이너의 이름(.spec.containers[i].name
)으로 교체합니다.
<SERVICE_NAME>
을 원하는 Istio 프록시 서비스 이름으로 변경합니다.
에이전트의 info
하위 명령을 실행하고 점검 섹션에서 istio
을 찾습니다.
Istio 점검은 이벤트를 포함하지 않습니다.
Istio 통합(Istio 통합 버전 3.13.0
또는 이전 버전)의 레거시 모드에서 다음 오류가 발생한 경우
Error: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)",
InvalidChunkLength(got length b'', 0 bytes read))
해당 오류를 해결하려면 개방형메트릭 기반 Istio 통합의 최신 모드를 사용합니다.
최소 에이전트 7.31.0
및 파이썬(Python) 3로 업그레이드해야 합니다. 설정 섹션을 참조하여 개방형메트릭을 활성화합니다.
Istio 프록시 사이드카 삽입이 활성화된 경우, istio_mesh_endpoint
와 동일한 메트릭 엔드포인트를 사용한 개방형메트릭 통합을 통해 다른 Prometheus 메트릭을 모니터링하면 커스텀 메트릭 사용량이 증가하고 메트릭이 중복 수집될 수 있습니다.
개방형메트릭 설정이 메트릭을 과다 수집하지 않도록 하려면 다음 작업 중 하나를 수행합니다.
metrics
설정 옵션에서 특정 메트릭 매칭을 사용합니다.metrics
에 와일드카드 *
값을 사용하는 경우, 다음 개방형메트릭 통합 옵션을 사용하여 Istio 및 Envoy 통합이 이미 지원하는 메트릭을 제외합니다.설정에서 Istio 및 Envoy 메트릭을 제외해야 높은 커스텀 메트릭 요금이 청구되지 않습니다. openmetrics_endpoint
이 활성화된 경우 exclude_metrics
을 사용합니다.
## Every instance is scheduled independent of the others.
#
instances:
- openmetrics_endpoint: <OPENMETRICS_ENDPOINT>
metrics:
- '.*'
exclude_metrics:
- istio_*
- envoy_*
설정에서 Istio 및 Envoy 메트릭을 제외해야 높은 커스텀 메트릭 요금이 청구되지 않습니다. prometheus_url
이 활성화된 경우 ignore_metrics
을 사용합니다.
instances:
- prometheus_url: <PROMETHEUS_URL>
metrics:
- '*'
ignore_metrics:
- istio_*
- envoy_*
도움이 필요하신가요? Datadog 지원팀에 문의해 주세요.
기타 유용한 문서, 링크 및 기사: