- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
리더 선출이 활성화되면 리더만 노드 기반 Agents에 클러스터 검사 설정을 제공합니다. Cluster Agent Pod의 복제본이 하나만 실행 중인 경우 이 복제본이 리더입니다. 그렇지 않으면 datadog-leader-election
ConfigMap에서 리더의 이름을 확인할 수 있습니다.
# kubectl get cm datadog-leader-election -o yaml
apiVersion: v1
kind: ConfigMap
metadata:
annotations:
control-plane.alpha.kubernetes.io/leader: '{"holderIdentity":"cluster-agent-rhttz", ... }'
이 경우 리더 Pod는 cluster-agent-rhttz
입니다. Pod가 삭제되거나 응답하지 않으면 다른 Pod가 자동으로 인수됩니다.
Cluster Agent가 설정(정적 또는 자동 탐지)을 선택하도록 하려면, 리더 Cluster Agent에서 configcheck
명령을 사용합니다:
# kubectl exec <CLUSTER_AGENT_POD_NAME> agent configcheck
...
=== http_check cluster check ===
Source: kubernetes-services
Instance ID: http_check:My service:6e5f4b16b4b433cc
name: My service
tags:
- kube_namespace:default
- kube_service:my-nginx
timeout: 1
url: http://10.15.246.109
~
Init Config:
{}
Auto-discovery IDs:
* kube_service://751adfe4-1280-11e9-a26b-42010a9c00c8
===
clusterchecks
명령을 사용하면 다음을 포함하여 디스패치 로직의 상태를 검사할 수 있습니다:
# kubectl exec <CLUSTER_AGENT_POD_NAME> agent clusterchecks
=== 3 node-agents reporting ===
Name Running checks
default-pool-bce5cd34-7g24.c.sandbox.internal 0
default-pool-bce5cd34-slx3.c.sandbox.internal 2
default-pool-bce5cd34-ttw6.c.sandbox.internal 1
...
===== Checks on default-pool-bce5cd34-ttw6.c.sandbox.internal =====
=== http_check check ===
Source: kubernetes-services
Instance ID: http_check:My service:5b948dee172af830
empty_default_hostname: true
name: My service
tags:
- kube_namespace:default
- kube_service:my-nginx
- cluster_name:example
timeout: 1
url: http://10.15.246.109
~
Init Config:
{}
===
참고: 태그와 옵션을 추가하도록 인스턴스가 수정되므로, Instance ID는 configcheck
명령과 다릅니다.
이 경우 이 설정이 default-pool-bce5cd34-ttw6
노드로 디스패치됩니다. 해당 노드의 Agent Pod와 관련하여 트러블슈팅이 계속됩니다.
Agent configcheck
명령은 cluster-checks
소스와 함께 인스턴스를 표시해야 합니다.
# kubectl exec <NODE_AGENT_POD_NAME> agent configcheck
...
=== http_check check ===
Source: cluster-checks
Instance ID: http_check:My service:5b948dee172af830
empty_default_hostname: true
name: My service
tags:
- kube_namespace:default
- kube_service:my-nginx
- cluster_name:example
timeout: 1
url: http://10.15.246.109
~
Init Config:
{}
===
인스턴스 ID는 이전에 가지고 있던 것과 일치합니다.
Agent status
명령은 검사 인스턴스가 실행 중이며 성공적으로 보고되고 있음을 표시해야 합니다.
# kubectl exec <NODE_AGENT_POD_NAME> agent status
...
http_check (3.1.1)
------------------
Instance ID: http_check:My service:5b948dee172af830 [OK]
Total Runs: 234
Metric Samples: Last Run: 3, Total: 702
Events: Last Run: 0, Total: 0
Service Checks: Last Run: 1, Total: 234
Average Execution Time : 90ms
엔드포인트 검사 트러블슈팅은 클러스터 검사 트러블슈팅과 유사합니다. 예약된 엔드포인트 검사가 클러스터 검사와 함께 표시되는 Node Agent에서 차이가 발생합니다.
참고: 엔드포인트 검사는 서비스의 엔드포인트를 백업하는 파드와 동일한 노드에서 실행되는 Agent에 의해 예약됩니다. 엔드포인트가 파드에 의해 백업되지 않는 경우, Cluster Agent는 클러스터 검사로 변환합니다. 이 클러스터 검사는 모든 Node Agent에서 실행할 수 있습니다.
Agent configcheck
명령은 endpoints-checks
소스와 함께 인스턴스를 표시합니다.
# kubectl exec <NODE_AGENT_POD_NAME> agent configcheck
...
=== nginx check ===
Configuration provider: endpoints-checks
Configuration source: kube_endpoints:kube_endpoint_uid://default/nginx/
Instance ID: nginx:956741d8796d940c
nginx_status_url: http://10.0.0.75/nginx_status/
tags:
- pod_phase:running
- kube_deployment:nginx
- kube_service:nginx
- kube_namespace:default
- kube_endpoint_ip:10.0.0.75
- cluster_name:cluster
~
Init Config:
{}
Auto-discovery IDs:
* kube_endpoint_uid://default/nginx/10.0.0.75
* kubernetes_pod://4e733448-f57e-11e9-8123-42010af001ed
State: dispatched to gke-cluster-default-pool-4658d5d4-qfnt
===
Agent status
명령은 검사 인스턴스가 실행 중이며 성공적으로 보고되고 있음을 표시해야 합니다.
# kubectl exec <NODE_AGENT_POD_NAME> agent status
...
nginx (4.0.0)
-------------
Instance ID: nginx:956741d8796d940c [OK]
Configuration Source: kube_endpoints:kube_endpoint_uid://default/nginx/
Total Runs: 443
Metric Samples: Last Run: 7, Total: 3,101
Events: Last Run: 0, Total: 0
Service Checks: Last Run: 1, Total: 443
Average Execution Time : 5ms
Cluster Agent clusterchecks
명령은 kubernetes-endpoints
소스와 함께 인스턴스를 표시합니다.
# kubectl exec <CLUSTER_AGENT_POD_NAME> agent clusterchecks
...
===== 3 Pod-backed Endpoints-Checks scheduled =====
=== nginx check ===
Configuration provider: kubernetes-endpoints
Configuration source: kube_endpoints:kube_endpoint_uid://default/nginx/
Instance ID: nginx:My Nginx Service Endpoints:f139adc46c81828e
name: My Nginx Endpoints
nginx_status_url: http://10.0.0.75/nginx_status/
tags:
- kube_service:nginx
- kube_namespace:default
- kube_endpoint_ip:10.0.0.75
- cluster_name:cluster
~
Init Config:
{}
Auto-discovery IDs:
* kube_endpoint_uid://default/nginx/10.0.0.75
* kubernetes_pod://4e733448-f57e-11e9-8123-42010af001ed
State: dispatched to gke-cluster-default-pool-4658d5d4-qfnt
===
...
추가 유용한 문서, 링크 및 기사: