- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Datadog의 실시간 프로세스를 이용하면 인프라스트럭처에서 실행되는 프로세스를 실시간으로 볼 수 있습니다. 구체적으로는 다음과 같습니다:
에이전트 5를 사용하는 경우 구체적인 설치 프로세스를 따르세요. 에이전트 6이나 7을 사용하는 경우 아래 지침을 따르세요.
Datadog 에이전트를 설치한 후, 다음 매개 변수를 "true"
로 설정해 에이전트 주요 설정 파일을 편집하여 실시간 프로세스 수집을 활성화합니다:
process_config:
process_collection:
enabled: "true"
추가로 일부 설정 옵션을 환경 변수로 설정할 수 있습니다.
참고: 환경 변수로 설정한 옵션은 설정 파일에 정의된 설정을 다시 정의합니다.
설정을 완료한 후 에이전트를 재시작하세요.
도커 에이전트의 지침에 따라 다음 속성을 전달하고, 다른 커스텀 설정을 적절히 추가합니다:
-v /etc/passwd:/etc/passwd:ro
-e DD_PROCESS_AGENT_ENABLED=true
참고:
dd-agent
유저가 docker.sock
에 액세스할 수 있는 권한이 있어야 합니다.데몬셋을 생성하는 데 사용하는 dd-agent.yaml 매니페스트에 다음 환경 변수, 볼륨 마운트, 볼륨을 추가하세요:
env:
- name: DD_PROCESS_AGENT_ENABLED
value: "true"
volumeMounts:
- name: passwd
mountPath: /etc/passwd
readOnly: true
volumes:
- hostPath:
path: /etc/passwd
name: passwd
더 자세한 내용은 표준 데몬셋 설치와 도커 에이전트 정보 페이지를 참조하세요.
참고: 컨테이너로 에이전트를 실행해도 호스트 프로세스를 수집할 수 있습니다.
datadog-values.yaml 파일을 다음 프로세스 수집 설정으로 업데이트하고, Datadog 헬름 차트를 업그레이드합니다:
datadog:
# (...)
processAgent:
enabled: true
processCollection: true
상승된 권한으로 실행되는 Datadog 시스템 프로브를 이용해 I/O와 열린 파일 통계를 수집할 수 있습니다. 시스템 프로브의 프로세스 모듈을 활성화하려면 다음 설정을 이용하세요:
시스템 프로브 예제 설정을 복사합니다:
sudo -u dd-agent install -m 0640 /etc/datadog-agent/system-probe.yaml.example /etc/datadog-agent/system-probe.yaml
/etc/datadog-agent/system-probe.yaml
을 편집해 프로세스 모듈을 활성화합니다:
system_probe_config:
process_config:
enabled: true
sudo systemctl restart datadog-agent
참고: systemctl
명령이 시스템에서 사용 불가할 경우, 다음 명령을 대신 실행합니다:sudo service datadog-agent restart
에이전트는 실시간 프로세스 페이지에서 민감한 데이터를 숨기기 위해 프로세스 명령줄에 있는 민감한 인수를 스크러빙합니다. 이 기능은 기본적으로 활성화되어 있으며 다음 단어와 일치하는 프로세스 인수가 있으면 값이 숨겨집니다.
"password", "passwd", "mysql_pwd", "access_token", "auth_token", "api_key", "apikey", "secret", "credentials", "stripetoken"
참고: 일치를 확인할 때 대소문자 구분을 하지 않습니다.
process_config
섹션 아래에 있는 datadog.yaml
파일 내 custom_sensitive_words
필드를 이용해 기본 목록과 병합할 목록을 정의합니다. 와일드카드 (*
)를 사용해 원하는 일치 범위를 정의하세요. 단, 단일 와일드카드('*'
)는 민감한 단어로 사용할 수 없습니다.
process_config:
scrub_args: true
custom_sensitive_words: ['personal_key', '*token', 'sql*', '*pass*d*']
참고: custom_sensitive_words
내의 단어에는 영숫자, 밑줄, 와일드카드('*'
)만 포함할 수 있습니다. 와일드카드만 있는 민감한 단어는 지원되지 않습니다.
다음 이미지는 위의 설정을 사용해 인수가 숨겨진 실시간 프로세스 페이지의 한 프로세스를 보여줍니다.
프로세스 인수 스크러빙을 완전히 비활성화하려면 scrub_args
를 false
로 설정합니다.
프로세스에서 모든 인수를 삭제하려면 datadog.yaml
설정 파일에서 strip_proc_arguments
플래그를 활성화합니다:
process_config:
strip_proc_arguments: true
헬름 차트를 이용해 목록을 정의할 수 있으며 이 목록은 기본 목록과 병합됩니다. 환경 변수 DD_SCRUB_ARGS
와 DD_CUSTOM_SENSITIVE_WORDS
를 datadog-values.yaml
파일에 추가하고, Datadog 헬름 차트를 업그레이드합니다:
datadog:
# (...)
processAgent:
enabled: true
processCollection: true
agents:
containers:
processAgent:
env:
- name: DD_SCRUB_ARGS
value: "true"
- name: DD_CUSTOM_SENSITIVE_WORDS
value: "personal_key,*token,*token,sql*,*pass*d*"
와일드카드(*
)를 사용해 원하는 일치 범위를 정의하세요. 단일 와일드카드('*'
)는 민감한 단어로 사용할 수 없습니다.
프로세스 인수 스크러빙을 완전히 비활성화하려면 DD_SCRUB_ARGS
를 false
로 설정합니다.
또는 datadog-values.yaml
파일에서 DD_STRIP_PROCESS_ARGS
변수를 활성화함으로써 프로세스에서 모든 인수를 스크러빙할 수 있습니다.
datadog:
# (...)
processAgent:
enabled: true
processCollection: true
agents:
containers:
processAgent:
env:
- name: DD_STRIP_PROCESS_ARGS
value: "true"
프로세스는 기본적으로 카디널리티가 높은 개체입니다. 텍스트와 태그 필터를 사용해 범위를 좁혀 관련 프로세스를 볼 수 있습니다.
검색 창에 텍스트 스트링을 입력하면 유사 스트링 검색을 통해 명령줄이나 경로에 해당 텍스트 스트링을 포함하고 있는 프로세스를 쿼리합니다. 결과를 보려면 두 글자 이상의 문자열을 입력하세요. 아래 Datadog 데모 환경은 postgres /9.
스트링을 필터링한 결과를 보여줍니다.
참고: /9.
와 명령 경로와 일치하며, postgres
는 명령과 일치합니다.
여러 개의 스트링 검색을 하나의 복잡한 쿼리로 결합하려면 다음 부울 연산자 중 하나를 사용하세요:
AND
java AND elasticsearch
OR
java OR python
NOT
/ !
NOT
또는 !
문자를 사용해 동일한 결과를 얻을 수 있음java NOT elasticsearch
또는 java !elasticsearch
괄호를 사용해 연산자를 함께 묶을 수 있습니다. 예를 들어 (NOT (elasticsearch OR kafka) java) OR python
와 같이 사용할 수 있습니다.
host
, pod
, user
, service
와 같은 Datadog 태그를 사용해 프로세스를 필터링할 수 있습니다. 검색 창에 태그 필터를 직접 입력하거나 페이지 왼편에 있는 패싯 패널에서 선택해 사용할 수 있습니다.
Datadog은 command
태그를 자동으로 생성하기 때문에 다음을 필터링할 수 있습니다:
command:mongod
및 command:nginx
와 같은 타사 소프트웨어command:docker
및 command:kubelet
와 같은 컨테이너 관리 소프트웨어command:ssh
및 command:CRON
와 같은 일반 워크로드태그를 이용해 더욱 효율적으로 검색해 보세요. 기존의 모든 호스트 수준 태그와 더불어 프로세스에는 user
태그가 사용됩니다.
또한, ECS 컨테이너의 프로세스에는 다음 태그가 사용됩니다:
task_name
task_version
ecs_cluster
쿠버네티스 컨테이너의 프로세스에는 다음 태그가 사용됩니다:
pod_name
kube_pod_ip
kube_service
kube_namespace
kube_replica_set
kube_daemon_set
kube_job
kube_deployment
Kube_cluster
통합 서비스 태깅 설정을 가지고 있다면 env
, service
, version
태그가 자동으로 사용됩니다.
이와 같은 태그를 사용하면 APM, 로그, 메트릭, 프로세스 데이터를 함께 묶을 수 있습니다.
참고: 이 설정은 컨테이너화된 환경에만 적용됩니다.
산점도 분석을 이용해 두 개의 메트릭을 비교하면 컨테이너의 성능을 더 깊게 이해할 수 있습니다.
프로세스 페이지에서 산점도 분석으로 이동하려면 _그래프 요약 보기_버튼을 클릭해 “산점도” 탭을 선택하세요:
기본적으로 그래프는 command
태그 키로 그룹화됩니다. 각 점의 크기는 해당 그룹의 프로세스 수를 나타내며, 점을 클릭하면 해당 그룹에 기여하는 개별 PID와 컨테이너를 볼 수 있습니다.
산점도 분석 상단에 있는 쿼리를 이용해 산점도 분석을 조정할 수 있습니다:
실시간 프로세스 모니터를 사용해 호스트나 태그 전반의 프로세스 그룹 수를 기반으로 알림을 생성할 수 있습니다. 모니터 페이지에서 프로세스 알림을 설정하면 됩니다. 더 자세한 내용은 실시간 프로세스 모니터 설명서를 참고하세요.
시계열 위젯을 사용해 대시보드와 노트북에서 프로세스 메트릭을 그래프화할 수 있습니다. 다음 단계를 따라 설정하세요:
From
필드에서 태그를 활용해 필터링합니다.Datadog은 프로세스 수집을 통해 호스트에서 실행하는 기술을 자동 검색합니다. 이를 통해 해당 기술을 모니터링하는 데 도움이 되는 Datadog 통합을 식별합니다. 자동 검색된 통합은 통합 검색에 표시됩니다.
각 통합은 두 가지 상태 유형 중 하나에 해당합니다.
통합을 실행하고 있지만 통합을 활성화하지 않은 호스트는 통합 타일의 Hosts 탭에 표시됩니다.
실시간 프로세스는 타사 소프트웨어 검색 후 해당 소프트웨어의 성능을 분석하는 데 도움이 됩니다.
페이지 상단에 있는 +저장 버튼을 눌러 통합 보기나 다른 커스텀 쿼리를 사용자 지정(예를 들어, 호스트별로 Nginx 프로세스 쿼리를 집계할 때)할 수 있습니다. 그러면 쿼리, 선택한 테이블 열, 시각화 설정이 저장됩니다. 저장된 보기를 생성하면 추가 설정 없이 빠르게 프로세스에 액세스할 수 있고 팀원과 프로세스 데이터를 공유할 수 있습니다.
실시간 프로세스는 각 컨테이너에서 실행되는 프로세스를 모니터링하여 컨테이너 배포 상황을 보여줍니다. 실시간 컨테이너 페이지에서 컨테이너를 클릭하면 실행하는 명령과 리소스 사용 등 프로세스 트리를 확인할 수 있습니다. 이 데이터를 다른 컨테이너 메트릭과 함께 사용해 컨테이너 실패나 배포 실패의 근본 원인을 진단할 수 있습니다.
APM 트레이스에서 서비스 스팬을 클릭하면 기본 인프라스트럭처에서 실행하는 프로세스를 확인할 수 있습니다. 서비스 스팬 프로세스는 요청 시점에서 서비스를 실행하는 호스트나 포드와 상관 관계가 있습니다. CPU와 RSS 메모리와 같은 프로세스 메트릭을 코드 수준 오류와 함께 분석해 특정 애플리케이션 문제나 일반적인 인프라스트럭처 문제를 구분할 수 있습니다. 프로세스를 클릭하면 실시간 프로세스 페이지로 이동합니다. 서버리스와 브라우저 트레이스에는 관련 프로세스가 지원되지 않습니다.
네트워크 개요에서 종속성을 검사할 때, 서비스 간 통신과 같은 엔드포인트의 기본 인프라스트럭처에서 실행 중인 프로세스를 확인할 수 있습니다. 프로세스 메타데이터를 이용해 네트워크 연결 불량 (TCP 재전송 수가 높은 경우)이나 긴 네트워크 호출 대기 시간 (TCP 왕복 시간이 높은 경우)이 엔드포인트 리소스를 소비하는 과중한 작업량 때문인지, 이 때문에 통신 상태와 효율성에 영향을 미치는지 확인할 수 있습니다.
실시간 프로세스로 활발히 작업하는 동안 메트릭은 2초마다 수집됩니다. 이는 CPU와 같이 변동이 큰 메트릭에 중요한 역할을 합니다. 기록을 위한 백그라운드에서는 메트릭이 10초마다 수집됩니다.
docker-dd-agent
에 마운트된 /etc/passwd
파일이 필요합니다. 이 파일은 공용이며 프로세스 에이전트는 사용자 이름 외 다른 필드를 사용하지 않습니다. user
메타데이터 필드를 제외한 모든 기능은 이 파일에 대한 액세스 없이 작동합니다. 참고: 실시간 프로세스는 호스트 passwd
파일만을 사용하며, 컨테이너 내에서 생성된 사용자에 대해 사용자 이름을 확인하지 않습니다.