설치하기
와탭 Amazon ECS 모니터링은 META API 및 Cgroup 디렉터리를 통해 도커 컨테이너별 자원 사용량을 실시간으로 수집합니다. Amazon ECS API 연동 와탭 Task를 통해 Amazon ECS Service, Deployment, Container Instance의 상태를 조회 및 수집합니다.
와탭 모니터링 서비스를 사용하기 위해서는 먼저 회원 가입 후 프로젝트를 생성해야 합니다. 회원 가입에 관한 자세한 내용은 다음 문서를 참조하세요.
권한
설치를 위해서 수정 권한이 필요합니다.
프로젝트 생성
에이전트를 설치하기 전에 먼저 프로젝트를 생성하세요.
-
와탭 모니터링 서비스로 이동한 다음 로그인하세요.
-
프로젝트를 생성하려면 화면 왼쪽 사이드 메뉴에서 전체 프로젝트 > + 프로젝트 버튼을 선택하세요.
-
상품 선택 화면에서 프로젝트에 설치할 상품을 선택하세요.
-
프로젝트 이름, 데이터 서버 지역, 타임 존 등의 항목을 차례로 설정하세요.
-
알림 언어 설정에서 경고 알림 메시지의 언어를 선택하세요.
-
모든 설정을 완료한 다음에는 프로젝트 생성하기 버튼을 선택하세요.
-
데이터 서버 지역은 리전(클라우드 서비스를 제공하기 위해 설치한 데이터 센터의 묶음)을 의미합니다. 특정 리전을 선택하면 해당 리전에 속한 데이터 센터에 사용자의 데이터를 저장합니다.
-
타임 존은 알림, 보고서를 생성하는 기준 시간입니다.
- 여러 개의 프로젝트를 그룹으로 묶어 관리하려면 프로젝트 그룹에서 그룹을 선택하거나 그룹을 추가하세요. 그룹에 대한 자세한 설명은 다음 문서를 참조하세요.
- 조직을 선택한 상태에서 프로젝트를 추가할 경우 조직 하위 그룹을 필수로 설정해야 합니다.
프로젝트를 생성한 후 관리 > 에이전트 설치 메뉴에서 아이템 설치가 가능합니다. 다음의 설치 안내를 참조해 진행하세요.
프로젝트 액세스 키 확인
프로젝트 액세스 키는 와탭 서비스 활성화를 위한 고유 ID입니다.
설치 안내 섹션에서 프로젝트 액세스 키 발급받기 버튼을 선택하세요. 프로젝트 액세스 키를 자동으로 발급 받은 후 다음 단계를 진행합니다.
프로젝트를 생성한 다음에는 자동으로 에이전트 설치 페이지로 이동합니다. 에이전트 설치 페이지로 이동하지 않는다면 왼쪽 메뉴에서 전체 프로젝트를 선택한 다음 새로 생성한 프로젝트를 선택하세요.
프로젝트 액세스 키
이미 프로젝트 액세스 키를 발급받았다면 버튼 대신 발급받은 키가 표시됩니다.
사전 점검 사항
-
AWS CLI
설치 방법은 다음 문서를 참조하세요.
-
Amazon ECS CLI
설치 방법은 다음 문서를 참조하세요.
-
Python 2.x / 3.x
스크립트의 json 문서 분석을 위해 설치가 필요합니다.
- 설치에 쓰이는 와탭 이미지(whatap/ecs_mon)는 다운로 드 후 사용자 레지스트리에 등록하고 사용하는 것을 권장합니다.
- 와탭 서버로 데이터 전송하기 위해 6600 포트가 열려 있어야 합니다.
모니터링 대상
Amazon ECS의 Launch Type에 따라 아이템이 구분됩니다. 모니터링 대상은 Task, Service, Deployment, Container Instance입니다.
-
EC2 Launch Type: Task, Service, Deployment, Container Instance
-
Fargate Launch Type: Task, Service, Deployment
다음의 모니터링 절차도 EC2 Launch Type 모니터링을 위한 절차와 Fargate Launch Type 모니터링을 위한 절차로 구분되어 진행됩니다.
Amazon ECS launch types에 대한 자세한 설명은 다음 문서를 참조하세요.
모니터링 절차
-
설치 안내 섹션 탭의 안내를 참조해 와탭 Amazon ECS 에이전트를 전용 Task 혹은 Sidecar로 배포하세요.
-
설치 안내 섹션 탭의 안내를 참조해 모니터링 서비스를 활성화해 모니터링 서비스를 시작하세요.
EC2 Launch Type
-
프로젝트를 생성하고 사전 점검 사항을 확인했다면 관리 > 에이전트 설치의 설치 안내 섹션으로 이동하세요.
-
Task 생성하기 탭에서 EC2 Launch Type을 선택하세요.
-
다음 스크립트를 실행해 DAEMON 타입 Task를 생성하세요.
CLUSTER
,REGION
을 추가하고ACCESSKEY
및WHATAP_HOST
를 설정해 수집서버와 통신할 수 있게 합니다.Linux#!/usr/bin/env bash
export ACCESSKEY=
export WHATAP_HOST=
export CLUSTER=
export REGION=
export LAUNCH_TYPE=EC2
cat >whatap_ecs.json <<EOL
{ "containerDefinitions": [ {
"name": "whatap-node-agent",
"image": "whatap/ecs_mon",
"cpu": 100,
"memory": 50,
"essential": true,
"mountPoints": [{
"containerPath": "/var/run/docker.sock",
"sourceVolume": "docker_sock",
"readOnly": true},{
"containerPath": "/rootfs",
"sourceVolume": "rootfs",
"readOnly": true}],
"environment": [{
"name": "ACCESSKEY",
"value": "$ACCESSKEY"
},{
"name": "WHATAP_HOST",
"value": "$WHATAP_HOST"}
],
"linuxParameters": {
"capabilities": {
"add": [
"SYS_ADMIN",
"SYS_RESOURCE",
"SYS_PTRACE",
"NET_ADMIN",
"NET_BROADCAST",
"NET_RAW",
"IPC_LOCK",
"CHOWN"]
}}}],
"requiresCompatibilities": ["EC2"],
"volumes": [{
"host": {"sourcePath": "/var/run/docker.sock"},
"name": "docker_sock"},{
"host": {"sourcePath": "/"},
"name": "rootfs"}],
"family": "whatap-agent-task"}
EOL
aws ecs register-task-definition \
--cli-input-json file://$(pwd)/whatap_ecs.json \
--region $REGION
aws ecs create-service --cluster $CLUSTER \
--service-name whatap-node-agent \
--task-definition whatap-agent-task \
--scheduling-strategy DAEMON \
--launch-type $LAUNCH_TYPE \
--region $REGION
-
실행에 필요한 항목은 다음과 같습니다.
ACCESSKEY
(와탭 프로젝트 Access Key)WHATAP_HOST
(와탭 수집 리전 IP)REGION
(AWS Region)CLUSTER
(ECS Cluster)