본문 바로가기
WIKI 기술 지식 베이스

Apache HTTP Server 계측 (Instrumenting Apache HTTP Server)

원문 보기 위키 갱신

Datadog은 Apache HTTP Server와 IHS HTTP Server의 기능을 APM 트레이싱으로 강화하는 HTTPd 모듈을 제공해요.

출처: 문서

본문

호환성

IHS HTTP Server는 본질적으로 Apache HTTP Server의 래퍼이므로 이 모듈은 수정 없이 IHS에서도 사용할 수 있어요.

설치

참고: x86_64 아키텍처의 Apache HTTP Server 2.4.x만 지원돼요.

이 모듈은 HTTPd가 동적으로 로드하는 공유 라이브러리로 제공돼요. 지원되는 각 플랫폼과 아키텍처에는 httpd-datadog의 저장소에서 호스팅되는 자체 아티팩트가 있어요.

모듈을 설치하려면:

  1. 다음 스크립트를 실행해 최신 버전의 모듈을 다운로드해요:

    cd /tmp && \
        # curl과 기본 텍스트 처리를 사용해 최신 릴리스 정보 가져오기
        RELEASE_DATA=$(curl -s https://api.github.com/repos/DataDog/httpd-datadog/releases/latest) && \
    
        # grep과 sed를 사용해 zip 파일의 다운로드 URL 추출
        DOWNLOAD_URL=$(echo "$RELEASE_DATA" | grep '"browser_download_url".*mod_datadog_artifact.zip' | sed 's/.*"browser_download_url": *"\([^"]*\)".*/\1/') && \
    
        # 다운로드 및 설치
        curl -Lf -o mod_datadog_artifact.zip "$DOWNLOAD_URL" && \
        unzip -j mod_datadog_artifact.zip -d /usr/lib/apache2/modules/ && \
        rm mod_datadog_artifact.zip
    

이 스크립트는 최신 릴리스 아티팩트 zip 파일을 다운로드하고 mod_datadog.so 공유 라이브러리를 Apache 모듈 디렉터리로 직접 추출한 다음 임시 파일을 정리해요.

  1. 다른 설치 방법을 사용했거나 파일을 수동으로 배치해야 한다면 mod_datadog.so 파일이 HTTPd가 모듈을 검색하는 디렉터리(일반적으로 /usr/local/apache2/modules 또는 /usr/lib/apache2/modules/)에 있는지 확인해요.

  2. 구성 파일에 다음 줄을 추가해 모듈을 로드해요:

    LoadModule datadog_module modules/mod_datadog.so
    
  3. 모듈을 활성화하려면 HTTPd를 다시 시작하거나 리로드하세요.

구성

기본적으로 모든 요청이 추적되어 Datadog Agent로 전송돼요.

모듈의 기본 동작을 변경하려면 Datadog 모듈의 API 문서에 설명된 Datadog* 지시어를 사용해요.

예를 들어 다음 구성은 서비스 이름을 my-service로, 샘플링 비율을 10%로 설정해요:

LoadModule datadog_module modules/mod_datadog.so

DatadogServiceName my-app
DatadogSamplingRate 0.1

더 알아보기 (Learn more)