Supported OS
개요 이 Agent 점검은 Mesos 슬레이브에서 다음 항목에 대한 메트릭을 수집합니다.
시스템 부하 failed, finished, staged, running 등 상태별 작업 수 running, terminated 등 상태별 실행기 수 이외에 다수가 있습니다.
이 점검은 모든 실행기 작업에 서비스 점검을 생성합니다.
설정 설치 각 Mesos 에이전트 노드에 DC/OS 웹 UI를 사용하여 Datadog Agent를 설치하려면 DC/OS를 사용하여 Mesos에 Datadog 설치 를 참고하세요.
설정 DC/OS DC/OS 웹 UI에서 Universe 탭을 클릭한 후 datadog 패키지를 찾아 Install 버튼을 클릭합니다. Advanced Installation 버튼을 클릭합니다.첫 번째 필드에 Datadog API 키를 입력합니다. Instances 필드에 클러스터의 슬레이브 노드 수를 입력합니다. (DC/OS 웹 UI 왼쪽의 Nodes 탭을 클릭하면 클러스터의 노드 수를 확인할 수 있습니다.) Review and Install 을 클릭한 후 Install 을 클릭합니다.Marathon DC/OS를 사용하지 않는 경우, Marathon 웹 UI를 사용하거나 API URL에 다음 JSON을 전송하여 Datadog Agent를 정의하세요. <YOUR_DATADOG_API_KEY>을 API 키로 변경하고, 인스턴스 수를 클러스터의 슬레이브 노드 수로 변경해야 합니다. 또한 사용 중인 Docker 이미지를 최신 태그로 업데이트해야 할 수도 있습니다. 최신 태그는 Docker Hub에서 확인할 수 있습니다.
{
"id" : "/datadog-agent" ,
"cmd" : null ,
"cpus" : 0.05 ,
"mem" : 256 ,
"disk" : 0 ,
"instances" : 1 ,
"constraints" : [
[ "hostname" , "UNIQUE" ],
[ "hostname" , "GROUP_BY" ]
],
"acceptedResourceRoles" : [ "slave_public" , "*" ],
"container" : {
"type" : "DOCKER" ,
"volumes" : [
{
"containerPath" : "/var/run/docker.sock" ,
"hostPath" : "/var/run/docker.sock" ,
"mode" : "RO"
},
{ "containerPath" : "/host/proc" , "hostPath" : "/proc" , "mode" : "RO" },
{
"containerPath" : "/host/sys/fs/cgroup" ,
"hostPath" : "/sys/fs/cgroup" ,
"mode" : "RO"
}
],
"docker" : {
"image" : "datadog/agent:latest" ,
"network" : "BRIDGE" ,
"portMappings" : [
{
"containerPort" : 8125 ,
"hostPort" : 8125 ,
"servicePort" : 10000 ,
"protocol" : "udp" ,
"labels" : {}
}
],
"privileged" : false ,
"parameters" : [
{ "key" : "name" , "value" : "datadog-agent" },
{ "key" : "env" , "value" : "DD_API_KEY=<YOUR_DATADOG_API_KEY>" },
{ "key" : "env" , "value" : "MESOS_SLAVE=true" }
],
"forcePullImage" : false
}
},
"healthChecks" : [
{
"protocol" : "COMMAND" ,
"command" : { "value" : "/probe.sh" },
"gracePeriodSeconds" : 300 ,
"intervalSeconds" : 60 ,
"timeoutSeconds" : 20 ,
"maxConsecutiveFailures" : 3
}
],
"portDefinitions" : [
{ "port" : 10000 , "protocol" : "tcp" , "name" : "default" , "labels" : {} },
{ "port" : 10001 , "protocol" : "tcp" , "labels" : {} }
]
}
사용자 정의 mesos_slave.d/conf.yaml을 구성하는 것(예: disable_ssl_validation: true를 설정해야 하는 경우)이 아니라면, Agent를 설치한 후에 별도 작업을 수행할 필요가 없습니다.
로그 수집 로그 수집은 Datadog 에이전트에서 기본적으로 비활성화되어 있습니다. datadog.yaml 파일에서 활성화합니다.
다음 구성 블록을 mesos_slave.d/conf.yaml 파일에 추가하여 Mesos 로그를 수집합니다.
logs :
- type : file
path : /var/log/mesos/*
source : mesos
사용 환경에 따라 path 파라미터 값을 변경하거나 Docker의 기본 stdout을 사용하세요.
logs :
- type : docker
source : mesos
사용 가능한 모든 구성 옵션은 샘플 mesos_slave.d/conf.yaml 을 참고하세요.
Agent를 다시 시작합니다 .
Kubernetes 환경에서 로그를 활성화하려면 Kubernetes 로그 수집 을 참고하세요.
검증 DC/OS DC/OS 웹 UI의 Services 탭에서 Datadog Agent가 표시되는지 확인합니다. Datadog의 Metrics Explorer에서mesos.slave를 검색하세요.
Marathon DC/OS를 사용하지 않는 경우, datadog-agent는 실행 중인 애플리케이션 목록에서 정상 상태로 표시됩니다. Datadog의 Metrics Explorer에서 mesos.slave를 검색하세요.
수집한 데이터 Metrics mesos.slave.cpus_percent (gauge)할당된 CPU 비율percent로 표시됨 mesos.slave.cpus_total (gauge)CPU 수 mesos.slave.cpus_used (gauge)할당된 CPU 수 mesos.slave.disk_percent (gauge)할당된 디스크 공간의 비율percent로 표시됨 mesos.slave.disk_total (gauge)디스크 스페이스mebibyte로 표시됨 mesos.slave.disk_used (gauge)할당된 디스크 공간mebibyte로 표시됨 mesos.slave.executors_registering (gauge)등록된 실행기 수 mesos.slave.executors_running (gauge)실행 중인 실행기 수 mesos.slave.executors_terminated (gauge)종료된 실행기 수 mesos.slave.executors_terminating (gauge)종료 중인 실행기 수 mesos.slave.frameworks_active (gauge)활성 프레임워크 수 mesos.slave.gpus_percent (gauge)할당된 GPU 비율percent로 표시됨 mesos.slave.gpus_total (gauge)GPU 수 mesos.slave.gpus_used (gauge)할당된 GPU 수 mesos.slave.invalid_framework_messages (gauge)유효하지 않은 프레임워크 메시지 수message로 표시됨 mesos.slave.invalid_status_updates (gauge)유효하지 않은 상태 업데이트 수 mesos.slave.mem_percent (gauge)할당된 메모리 비율percent로 표시됨 mesos.slave.mem_total (gauge)총 메모리mebibyte로 표시됨 mesos.slave.mem_used (gauge)할당된 메모리mebibyte로 표시됨 mesos.slave.recovery_errors (gauge)슬레이브 복구 중 발생한 오류 수error로 표시됨 mesos.slave.tasks_failed (count)실패한 작업 수task로 표시됨 mesos.slave.tasks_finished (count)완료된 작업 수task로 표시됨 mesos.slave.tasks_killed (count)강제 종료된 작업 수task로 표시됨 mesos.slave.tasks_lost (count)분실된 작업 수task로 표시됨 mesos.slave.tasks_running (gauge)실행 중인 작업 수task로 표시됨 mesos.slave.tasks_staging (gauge)스테이징 중인 작업 수task로 표시됨 mesos.slave.tasks_starting (gauge)시작 중인 작업 수task로 표시됨 mesos.slave.valid_framework_messages (gauge)유효한 프레임워크 메시지 수message로 표시됨 mesos.slave.valid_status_updates (gauge)유효한 상태 업데이트 수 mesos.state.task.cpu (gauge)작업 CPU mesos.state.task.disk (gauge)작업 디스크mebibyte로 표시됨 mesos.state.task.mem (gauge)작업 메모리mebibyte로 표시됨 mesos.stats.registered (gauge)해당 슬레이브가 마스터에 등록되어 있는지 여부 mesos.stats.system.cpus_total (gauge)사용 가능한 CPU 개수 mesos.stats.system.load_15min (gauge)지난 15분간의 평균 부하량 mesos.stats.system.load_1min (gauge)지난 몇 분 동안의 평균 부하량 mesos.stats.system.load_5min (gauge)지난 5분간의 평균 부하량 mesos.stats.system.mem_free_bytes (gauge)사용 가능한 메모리byte로 표시됨 mesos.stats.system.mem_total_bytes (gauge)총 메모리byte로 표시됨 mesos.stats.uptime_secs (gauge)슬레이브 가동 시간
이벤트 Mesos-slave 점검은 이벤트를 포함하지 않습니다.
서비스 점검 mesos_slave.can_connect
Agent가 Mesos 슬레이브 메트릭 엔드포인트에 연결하지 못하면 CRITICAL을 반환하고, 그 외에는 OK를 반환합니다.
상태: ok, critical
트러블슈팅 도움이 필요하세요? Datadog 지원 팀 에 문의하세요.
참고 자료