[ Datadog ] HTTP check Integration

인쇄

Agent에서 설정하는 HTTP Check Integration 방법은 안내드립니다. 


Agent에서 설정하는 http check을 통한 서비스 URL 모니터링 주기는 기본적으로 15초이며, 

network.http.response_time, network.http.can_connect, http.ssl.days_left 등의 Metrics을 수집할 수 있습니다.

URL개수 제한은 없지만 많은 Endpoint를 체크한다면 Agent의 check_runners 개수(default: 4)를 늘려야 합니다. 다만, check_runners개수를 늘릴 경우 Datadog Agent가 사용하는 리소스가 많아져서 여러 Host로 Agent를 분산해서

HTTP check를 사용하는 것을 권고합니다.


Integration 작업 전 설치할 Host에서 curl 명령어 등을 통해 url에 접속이 가능 한 환경인지 우선 확인 합니다. 


http check 설정

1. Linux 환경

대상 Host가 Linux 환경인 경우 아래와 같이 설정합니다.

  • http_check를 Integration 하기 위해 http_check.d를 활성화 합니다.

    $ cd /etc/datadog-agent/conf.d/http_check.d


    http_check.d 디렉터리에는 설정파일 샘플(conf.yaml.example)이 있으며, conf.yaml로 변경합니다.
    $ sudo cp conf.yaml.example conf.yaml
    혹은
    $ mv conf.yaml.example conf.yaml

 

  • conf.yaml의 소유권 변경 및 파일 내 설정을 수정합니다.
    $ sudo chown dd-agent:dd-agent conf.yaml

    $ vi conf.yaml


    init_config:

     

    instances:

      - name: “대상서비스명”

        url: https://www.skcc.co.kr/

     

      - name: “SK recruit”

            url: https://recruit.skcc.co.kr/



  • Datadog agent를 재시작합니다.(서비스 영향 없음)
    $ sudo systemctl restart datadog-agent.service

  • Datadog agent 수집상태를 확인합니다.
    $ sudo datadog-agent status

    확인 예

    Running Checks

         ==============

     

    <중략>

     

           http_check (6.1.2)

           ------------------

             Instance ID: http_check:SKHomepage Login:7499e0886c55190d [OK]

             Configuration Source: file:/etc/datadog-agent/conf.d/http_check.d/conf.yaml

          Total Runs: 1

             Metric Samples: Last Run: 5, Total: 5

             Events: Last Run: 0, Total: 0

             Service Checks: Last Run: 2, Total: 2

             Average Execution Time : 307ms

          Last Execution Date : 2022-05-11 05:04:51 UTC (1652245491000)

              Last Successful Execution Date : 2022-05-11 05:04:51 UTC (1652245491000)




2. Windows 환경

대상 Host가 Windows 환경인 경우 아래와 같이 설정합니다.

  • http_check를 Integration 하기 위해 http_check.d를 활성화 합니다.
    •  C:\ProgramData\Datadog\conf.d\http_check.d로 이동합니다.
    • http_check.d 폴더에 설정파일 샘플(conf.yaml.example)이 있으며, conf.yaml로 ‘이름 바꾸기’를 하거나 복사 후 이름을 변경합니다.
  • conf.yaml의 설정을 수정합니다.

    init_config:

     

    instances:

      - name: “대상서비스명”

        url: https://www.skcc.co.kr/

     

      - name: “SK recruit”

            url: https://recruit.skcc.co.kr/



  • Datadog Agent Manager를 재시작합니다. (서비스 영향 없음) Restart Agent를 실행하거나, 우측 하단 Tray에서 Datadog Agent를 선택 및 우클릭 후 Restart를 실행합니다.

 

GUI 환경에서 http_check을 설정하면 아래와 같습니다.

  • 실행 중인 Datadog Agent Manager좌측 메뉴의 Checks를 클릭 후 선택 박스에서 ‘Add a Check’을 선택합니다.
  • Add a Check 목록에서 http_check를 선택 후 설정 정보(conf.yaml)를 변경합니다.  (위의 conf.yaml의 설정 부분을 참고 하시기 바랍니다.)
  • 화면 오른쪽 상단의 Add Check 버튼을 클릭합니다. 
    해당 작업 후 C:\ProgramData\Datadog\conf.d\http_check.d\conf.yaml 의 위치에 파일이 생성 됩니다. 
  •  Datadog Agent Manager좌측 메뉴의 Restart Agent를 클릭합니다. (서비스 영향 없음) 
  • 재시작 후 Datadog Agent Manager좌측 메뉴의 Checks를 클릭 후 ‘Edit Enabled Check’을 선택하면, http_check.d/conf.yaml이 확인됩니다.
    설정을 변경하려면 위의 conf.yaml의 설정 내용을 참고해서 수정하고 Save를 한 후 재시작을 합니다. 


  • HTTP Check Dashboard Sample은 Support portal Datadog Monitoring > Datadog Sample > [ Datadog ] Agent Integration Dashbaord Sample 내의 HTTP Check Integration Dashboard를 참고하시기 바랍니다.
    ( Datadog Sample은 Support portal 로그인을 해야 목록이 표시됩니다. )


3. Monitor 설정

URL의 점검 결과가 비정상일 때 담당자가 Alert을 받을 수 있도록 설정합니다.

 

  • Monitors > New Monitor메뉴를 선택 하거나 Monitors > Monitor List 메뉴의 상단의 New Monitor 버튼을 클릭 후
     Metric을 선택 합니다. 
  • ‘Choose the detection method’에서 임계치 기반인 ‘Threshold Alert’을 선택합니다.
  • ‘Define the metric’에서 network.http.can_connect를 선택합니다.
    group by 를 url을 선택해 url 별로 Alert 이 발생하도록 합니다.
    Alert 발생 여부를 체크할 데이터의 기간을 설정합니다.
  • ‘Set alert conditions’에서 임계치를 선택합니다. 본 예는 1분 동안 결과의 평균이 0.6미만일 시 alert을 발생하도록 하는 예로, 수집 주기가 15초이기 때문에 예시의 조건은 2번 이상 URL 점검 결과가 없을 때 담당자가 Alert을 받는 조건의 예시입니다. 임계치와 alert 조건은 운영조직에 적합한 설정이 필요합니다.
  • ‘Notify your team’에서 Alert을 받을 내용과 수신자 정보를 작성합니다. 본 예에서는 {{url.name}}으로 URL 이름을 제목에 포함하도록 했으며, 아래 부분에서 Alert을 수신할 담당자 Email 혹은 Channel(opsgenie/Slack 등)의 정보를 선택할 수 있습니다. 그 외에 본문에 @ 이후 수신자 정보를 추가하면 송신 가능합니다.
  • ‘Define permissions and audit notifications’에서 등록한 Monitor(Alert)의 수정 권한 설정 및 수정 시 관련자(생성자/Alert 수신자)에게 공유가 될지를 설정합니다.

  • 위의 내용까지 모두 설정했으면, 내용 확인 후 저장합니다. ‘Test Notifications’를 통해 사전에 정상 동작 여부를 확인할 수도 있습니다.

온라인상담

문의하기

이 답변이 유용합니까? 아니오

Send feedback
도움이 되어드리지 못해 죄송합니다. 아티클 개선을 위해 의견을 제공해 주시기 바랍니다.