Datadog 소개

hyomin·2021년 4월 17일
6

Datadog

목록 보기
1/2
post-thumbnail

소개

안녕하세요, 회사의 평화에 기여하는 DevOps가 되고싶은 개발자입니다. (그럼에도 불구하고 회사는 언제나 폭풍 속)

서비스 규모가 조금씩 커짐에 따라서, 안정적인 서비스 제공을 위해 시스템을 감시하는 도구를 도입하는 업무를 담당하게 되었습니다. 그 중 하나로 약 한 달간 Datadog을 사용해보면서 얻은 지식에 대해서 정리해보았습니다.


로고가 귀여워요

말머리

한글로 된 자료가 별로 없어서 영어로 된 Datadog의 공식문서를 읽는데 대부분의 시간을 쓴 것 같습니다. 처음에는 공식문서에서 설명하는 내용과 실제 사용할 때의 다른점들도 가끔 있어서 툴툴거리기도 했는데요, 그래도 지나고보니 공식문서가 상당히 친절하고 많은 내용들이 담겨있었던 것 같습니다.

아래부터는 작성 편의상 평서문으로 되어있습니다.

아래

1. 기능 설명에 앞서, Datadog 사용에 필요한 배경지식

첫번째, Datadog의 namespace에 대한 이해

  • Datadog을 사용할 때, 가령 필요한 정보를 가공하거나 특정 대상의 정보를 취득하고자 할 때, metrics를 읽는 방법을 이해하기 위해서는 Datadog의 namespace를 이해할 필요가 있다.
  • 예를 들어, 보통aws.ec2.cpuutilizaion과 같은 형식으로 표현되는데, 이것이 의미하는 것은 AWS EC2 의 CPU 점유율을 나타낸다.
  • 주된 감시대상이 되는 AWS metrics표기법은 아래 링크에서 확인가능하다. (그 외에도 공식문서에 잘 정리되어 있다)
    AWS EC2 metrics
    AWS RDS metrics
    AWS ELB metrics

두번째, 정보수집 대상을 선택하는 법

  • metrics를 선택했다면, 다음은 어떤 대상으로부터 해당정보를 수집할 것인지 선택하게 된다.
  • Datadog에서 제공하는 선택방법은 아래와 같이 다양하다.
    • host 이름 : 예) host:i-xxxxxxxxx
    • instance 이름
    • region 이름
    • AZ 이름 : 예) availability-zone:ap-northeast-1a
    • target group 이름
    • security group 이름
    • AWS 등에서 설정한 tag
    • image 이름
    • 그 외 여러가지 방법

2. 몇가지 주요 기능들

다양한 기능들이 있지만, 이번에 사용해본 기능들만 다룹니다.

Dashboards

  • 중요한 성능수치를 시각적으로 추적, 분석, 표시할 수 있다.
  • Datadog에서 제공하는 디폴트 측량값을 사용하거나, 커스텀하여 대시보드를 만드는 것도 가능하다
  • 화면예시

Integrations

  • Datadog은 현재 여러가지 서비스와 연계하여 모니터링을 할 수 있다.

  • 이번에 사용했던 도구는 다음과 같다.

    도구목적
    Amazon Web Services IntegrationEC2나 RDS등 AWS의 서비스에 대한 시스템 정보를 수집
    Slack모니터링 결과를 통지하기 위해
  • AWS의 경우, 자동으로 설정하는 방법과 수동으로 설정하는 방법이 있는데,

    • 자동으로 설정하기를 하는 경우, CloudFormation을 통해서 설정이 되고
    • 수동인 경우, 감시 대상 호스트에 datadog-agent를 설치하여 몇가지 설정을 통해 정보 수집이 가능해진다.
  • 화면예시

Logs

  • 로그 수집 및 모니터링 환경 구축 가능
    • 인프라 및 어플리케이션에서 발생한 대량의 로그를 효율적으로 수집, 처리, 저장, 검색, 모니터링할 수 있다.
  • Logs의 설정(Pipelines)로 수집한 로그에 대한 처리를 어떻게 할 것인지 정의할 수 있다.
  • AWS의 CloudWatch를 사용하는 경우, CloudWatch에서 보내는 로그를 그대로 표시할 수도 있다.
  • 단, 로그를 보기 좋은 형태로 가공하기 위해서는 몇가지 설정이 필요하다.
  • 호스트에 필요한 설정방법에 참고한 공식문서는 아래와 같다
  • Datadog 설정화면에서 필요한 작업
  • 화면예시(Datadog공식문서 이미지사용)

Monitors

  • 수집한 정보로부터 특정 판단 기준에 도달한 경우, 경고 또는 통지할 수 있다
  • 화면예시(Datadog공식문서 이미지사용)
  • 통지
    • 모니터링에서 설정한 특정 조건에 도달한 경우 슬랙이나 메일 등으로 통지하는 것이 가능하다

Infrastructure

  • 호스트에 Datadog Agent를 설치하고 몇가지 설정을 하면 자동으로 서버의 시스템 정보를 수집한다
    • DevOps스택 전체의 측량정보와 이벤트를 수집한다
    • 상세한 설정을 통해 호스트간의 네트워크 통신상태 등을 파악하는 것도 가능하다

맺음말

약 한달간 사용해보니 정말 많은 기능들이 있어 정말 편리했지만, 설정이나 운용 등 처음에는 이해하기 어려운 부분들도 간혹 있어서, 인원이 적은 작은 규모의 팀이나 CTO실 또는 Devops팀이 없는 회사에서는 여기에 들이는 비용과 시간에 대해 경영진들을 설득하는 것이 쉽지는 않겠다고 생각했습니다. 그래도 안정적인 서비스를 위해 감시체계는 두면 좋기때문에 이 부분은 잘 검토해서 정하시면 될 것 같습니다.

회사에서 Datadog 사용을 검토중인 분들에게 도움이 되었으면 좋겠습니다.

감사합니다.

2개의 댓글

comment-user-thumbnail
2021년 12월 22일

감사합니다 Datadog에 어떤 기능이 있는지 간략히 알고 싶었는데 잘 정리되어 있어 바로 알게되었습니다!!

1개의 답글