데이터독 (Datadog) 기초 사용법 교육 : Docker 와 연동하는 2가지 방법(Integration)


데이터독(Datadog) Docker Overview 화면
Docker Overview 화면

Datadog 과 Docker 를 연동해 보겠습니다. 현재 테스트 환경 Docker에 여러가지 서비스가 돌아가고 있습니다. 데이타독 에이전트로 Docker 메트릭을 가져와서 시각화  해보겠습니다.


  • 본인의 OS에 맞는 에이전트 설치 방법을 지난 시간에 다루었습니다.  Datadog 에이전트가 현재 동작 중입니다. 


  • Integrations > Integrations 메뉴에서 Docker 를 검색하면 아래와 같은 연동 방법 안내가 나옵니다.
데이터독(Datadog) 과 도커(Docker) 연동하기


  • 터미널에서 usermod -a -G docker dd-agent 를 실행합니다. 다커(Docker) 그룹에 사용자를 추가하고 있습니다.
usermod 명령어로 docker 그룹에 추가


  • 데이터독 conf.d 디렉토리가 있는 곳으로 이동합니다. conf.d 폴더안에 docker.d 폴더로 들어가시면 conf.yaml.example 파일이 있습니다. (에이전트를 먼저 설치해야만 생기는 폴더들입니다. 에이전트 설치 후 yaml 파일을 수정해서 연동하는 방식입니다. )
conf.yaml 파일 만들기


  • conf.yaml.example 파일을 복사하여 conf.yaml 파일을 만듭니다. (에이전트는 이제 conf.yaml 파일이 생겼기 때문에  재시작시 이 파일의 설정들을 읽게 됩니다.)
conf.yaml 파일 만들기


  • 연동 방법 안내에 나온 코드를 복사하고 에디터로 conf.yaml 파일을 열어 아래와 같이 붙여넣습니다. yaml 파일은 indentation에 민감하기 때문에 조심하셔야 합니다. 첫번째 그림처럼 스페이스가 들어가면 오류가 납니다. 두번째 그림처럼 만드셔야 합니다.
instances:
    - url: "unix://var/run/docker.sock"
      new_tag_names: true

yaml indentation 오류
이렇게 하면 오류남

yaml indentation 정상
이렇게 해야 정상 동작함


  • 데이터독 에이전트를 재기동(restart) 합니다. OS 환경에 따라 명령어가 다릅니다.

데이터독 에이전트 재기동 명령어
보통 리눅스는 이거 아님

데이터독 에이전트 재기동 명령어
이거임. 50프로 확률 ㄱㄱ 


  • 에이전트 상태를 체크해보겠습니다. sudo datadog-agent status 
데이터독(Datadog) 에이전트(agent) 상태(status) 체크 명령어


  • docker 에 OK 사인을 확인합니다.
데이터독(Datadog) 에이전트(agent) 상태(status) 체크 명령어


  • 데이터독 UI 로 가시면 Integrations 메뉴에 Docker가 설치되었다고 뜹니다.
데이터독(Datadog) 과 도커(Docker) 연동하기


  • Dashboards 로 가시면 자동으로 설정된 Docker 대시보드가 있습니다. (반영되는데 시간이 좀 걸립니다.)
데이터독의 도커(docker) 대시보드

데이터독의 도커(docker) 대시보드


  • Infrastructure > Infrastructure List 로 가시면 연동에 오류가 생기면 docker 에 노란불이 들어옵니다.  
데이터독 docker 노란불
노란불이 뜨면 문제가 있다는 뜻

데이터독 docker 정상 파란불
정상이면 파란불


  • 노란색을 클릭하면 자세한 오류 내용을 볼 수 있습니다.  yaml 파일 띄어쓰기 때문에 오류가 난 상황입니다.
Docker 오류 표시 in Datadog


  • Infrastructure > Containers 메뉴로 가면 아래와 같은 다양한 정보를 볼 수 있습니다.
Datadog Docker containers monitoring



### Docker와 연동하는 또 다른 한가지 방법이 더 있습니다. Docker 안에 데이터독 에이전트를 컨테이너로 실행하는 방법입니다. 테스트를 위해 같은 환경의 서버를 또 하나 만들었습니다. (이럴 줄 알고 스냅샷 찍어뒀지롱~~)  ###

  • 두 번째 방법은 데이터독 에이전트를 리눅스 같은 OS에 설치해서 사용하지 않고 Docker 에 에이전트를 설치해 사용하는 방법입니다.  Integrations > Agent 에 Docker 를 고르고 명령어를 복사합니다. API 키가 자동 생성되어 있어서 이 방법이 편합니다. 명령어 앞에 sudo 붙여줍니다.
데이터독 에이전트를 Docker container로 설치


  • 복사한 명령어를 실행합니다.
데이터독 에이전트를 Docker container로 설치


  • sudo docker ps 로 확인합니다.  컨테이너 이름 dd-agent 인 데이터독(Datadog) agent 가 잘 동작 중이네요. 
데이터독 에이전트를 Docker container로 설치


  • 에이전트가 Docker 안에 있기 때문에 상태를 확인하는 명령어가 조금 다릅니다. 
sudo docker exec -it dd-agent agent status

sudo docker exec -it dd-agent agent status 명령어로 상태 체크

sudo docker exec -it dd-agent agent status 명령어로 상태 체크
docker OK 사인을 받도록 하자!


  • 두번째 방법은 docker-two 라는 서버에서 테스트했습니다.  첫번째와 동일한 방법으로 잘 동작하는지 UI에서 확인하시면 됩니다. 
데이터독 docker agent 정상 동작 확인


데이터독 docker agent 정상 동작 확인


# 저처럼 호기심 많은 분들 중 2가지 방법 다 써서 에이전트 2개 돌리면 어떻게 되는지 궁금하신 분 계실 것 같습니다. ㅋㅋ 문서 보면 그렇게 하면 이상한 상황을 일으킬 수 있으니 하지 말라고 합니다. 참고하세요. ( 저는 2개로 돌려봤는데 괜찮던데요? ㅋㅋ 하지 말라고 하면 더 하고 싶잖어!? 응? )  

## 에이전트가 전송하는 데이터량이 2배가 되니깐 요금도 2배가 될지 모르니 조심하세요 ㅎㅎ
Docker 로 데이터독 에이전트를 설치했을때 Docker 대시보드가 자동으로 생성이 안되는 것 같은데 이건 아직 테스트를 여러번 해보지 않았습니다. 둘 중 하나만 고르라면 첫번째 방법을 일단 추천드립니다. 

관련 글 :

Comments